7. Electronics design


  • group project:
    • use the test equipment in your lab to observe the operation of a microcontroller circuit board
  • individual project:
    • redraw an echo hello-world board, add (at least) a button and LED (with current-limiting resistor) check the design rules, make it, and test it
    • extra credit: simulate its operation

Before the assignment it is recommended to read and understand the concepts behind these tutorials:
How to Read a Schematic
PCB Basics


Design Software: EAGLE

image image

eagle tutorial

The Schematic

Create a Schematic

The project folder will house both our schematic and board design files. To begin the design process, we need to lay out a schematic.

library management

Open library manager then I add the fab.lbr file into library in use: image

Adding Parts to a Schematic

Then adding parts from the libary. image

To make the echo hello world board I need:
1x ATtiny44
2x 10kΩ resistors
1x 499Ω resistors
1x 1uF capacitor
1x 2x3 pin header
1x LED
1x button

Wiring Up

After adding all the components into schematic. It is time to connect them together. But I made a mistake: I use Line command not Net command.


To use the NET tool, hover over the very end of a pin , and left-click once to start a wire. Now a green line should be following your mouse cursor around. To terminate the net, left-click on either another pin or a net.

After all the net is completed, I got this: image

The Board

Create a Board From Schematic

To switch from the schematic editor to the related board, simply click the Generate/Switch to Board command (on the top toolbar, or under the File menu) – which should prompt a new, board editor window to open. All of the parts you added from the schematic should be there, stacked on top of eachother, ready to be placed and routed. image

Layer management


Arranging the Board


Design rules


Routing the Board

There is a autorouter command we can use to creat routers automaticlly, which is very easy to use.

image As you can see there is some lines didn’t creat router and the outcoming of atuorouter is just 95%. So it should be modified.


Now the autorouter outcoming is 100%.

Checking for Errors

Although the autorouter outcoming is 100% now. There is still many little problems.


Exporting Image & Creating 3D review in Fusion 360

The top view of my PCB outcoming: image

The PNG files for milling:

Sync to Fusion 360:
image image image

Furthermore, I can creat a 3D review in Fusion 360. image image

Process Image Files

I use Photoshop to do futher process to the PNG files. First I need to make sure its dimension to ensure the right size for PCB. My PCB’s dimension is 32x32mm. This step is quite important. Then I use Ctrl + R to make a ruler in Photoshop to make the outline for PCB tracing. Then use the filling command to make the PCB outline. Then I got two final PNG files for the next PCB fabrication. image

The final two PNG files are here:

Trace Outline
Trace.png Outline.png

PCB Fabrication(like week05 Electronics Production)

Almost the same process as week05 assignment. * prepare the PNG files * use the Fabmodule to creat files for the machine * use machine to fabricate

But, at the first time I make a big mistake. When I making a outline, because I didn’t store much space between traces and outline in EAGLE, I tried to add area for tracing place to make a outline in photoshop. But meanwhile I forgot to change the XY zero position correspondingly. So I finally got this: image How stupid I am, pretending to be clever.

After reload the right PNG files, I got my PCB: image

Assembling the PCB

BOM (Bill of Materials)
1x ATtiny44
2x 10kΩ resistors
1x 499Ω resistors
1x 1uF capacitor
1x 2x3 pin header
1x LED
1x button

After soldering all the components. I found a problem: I lost some traces as you can see: image

So I tried to cut a LED led to connect the traces. After soldering the led to the gap, I used a multimeter to check. It worked. image

Programing and Test



Make fuses

Downloaded the 2 necessary files for programming Neil provided for the Hello Echo board… hello.ftdi.44.echo.c and hello.ftdi.44.echo.c.make Open Git Bash terminal:

cd (file address)
make -f hello.ftdi.44.echo.c.make
make -f hello.ftdi.44.echo.c.make program-usbtiny
make -f hello.ftdi.44.echo.c.make program-usbtiny-fuses

Testing the Board in Arduino IDE

Use FTDI connecting my new board and my computer.Then launch Arduino IDE: In the “Tools” menu——select port——open the “Serial Monitor”. In the Serial Monitor window——change the serial communication Rate to 11520. Typing one character at a time…successfully received the echo output from the new board.

3D printing shell for my board

I used 3D printing skill learned last week to make a shell for my board, which has a buckle to close or open it.




ATtiny44 datasheet:

Arduino UNO:
image image