7. Electronics design¶
Assignment¶
- 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¶
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:
Adding Parts to a Schematic¶
Then adding parts from the libary.
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
1x FTDI
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.
NOT THIS: SHOULD BE THIS:
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:
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.
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.
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:
The PNG files for milling:
Sync to Fusion 360:
Furthermore, I can creat a 3D review in Fusion 360.
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.
The final two PNG files are here:
Trace | Outline |
---|---|
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: How stupid I am, pretending to be clever.
After reload the right PNG files, I got my PCB:
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
1x FTDI
After soldering all the components. I found a problem: I lost some traces as you can see:
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.
Programing and Test¶
Connection¶
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.
Files¶
Refference¶
ATtiny44 datasheet:
Arduino UNO: