7. Electronics design¶
This week I worked on 4 task(s) on electronic design in order to familiarize with both circuit drawing and board testing process. These were the assignments:
use the test equipment in your lab to observe the operation of a microcontroller circuit board.
(Follow this link to see the group assignment)
1. redraw the echo hello-world board, add (at least) a button and LED (with current-limiting resistor).
2. check the design rules, make it, and test it.
3. extra credit: simulate its operation
1. Shown your process using words/images/screenshots > DONE
2. Explained problems and how you fixed them, including how you worked with design rules for milling (DRC in EagleCad and KiCad) > DONE
3. Included original design files (Eagle, KiCad, Inkscape, .cad - whatever) > DONE
NB. Also, if you make a board and it doesn’t work; franken-hack that board (with jumper wires etc) until it does work, then make a new one with the knowledge you have gained.
Group - The testing tools¶
This week we learn a bit more about multimeter and osciloscope.
Basically, the main outcomes are about how to adjust the test parameters and units to get the correct answer from the device while taking measures or testing continuity.
Also, we received some security advices for equipment and for human life preservation.
Finally, we played with osciloscope and a signal generator in order to familiarize with operators and relations between some concepts (voltage vs time) and their magnitudes, also with the support of digital interfaces.
Individual - The -improved- echo hello-world board¶
The idea with this exercise is to learn about the workflows used in circuit board design. I had to draw and produce the echo hello-world board improving the components integration:
For this assignment I used FR-1 board produced on Roland monoFab SRM-20 desktop milling machine through a design made in Autodesk Eagle.
Parts Already on the Hello Echo Board
- 6-pin programming header: for programming the board
- microcontroller: attiny44A. Once the microcontroller is programmed, the program stored in non-volatile memory. This means that it will remember the program. ( ATTiny44-SSU datasheet )
- FTDI header: powers the board and allows board to talk to computer
- 20MHz resonator: external clock. The attiny has a 8Mhz clock but the resonator is faster (increase the clock speed of the processor) and more accurate.
At a minimum you should add the following components to the schematic:
- Resistor (value 10k) Purpose: pull-up resistor. What is a pull-up resistor?
- connect pin 10 (PA3) on the micro-controller to the button
- LED (Light Emitting Diode) - LEDs have polarity - the side with the line is the cathode and connects to the ground side.(see schematic below)
- Resistor (value 499 ohms) Purpose: current limiting resistor
- Why do we need a current limiting resistor? So we don’t burn out the LED.
- The LEDs we are using are rated for
- The typical forward voltage is between 1.2-2.2V
- We need to use a 82 ohm resistor or above to avoid blowing out the LED. I chose to use a 499 ohm resistor, but you could use a 100 ohm resistor and still be safe.
I made my electronics design in Eagle, which works with both synchorinzed ‘schematic‘ and ‘board‘ interfaces (files). It’s important to consider this from the beginning to not make any mistakes and to use them for reaching the goals in a faster, easier and insured way.
I started from this initial design given by professor Neil:
I have also been supported by my instructor’s past work on this assignment:
I had to design and produce an echo hello-world PCB which, at the end, has a programmed ATTiny44-SSU microcontroller able to return a ‘hello-world‘ output. I also integred to the system a LED controlled by a Switch.
I followed Fab Academy tutorials references to complete the learn (a lot) and to complete the process:
- Introduction to Eagle
- Eagle Workflow
- Reference Links (special mention to Sparkfun site)
- Other references (see links/credits section at the end of the page)
These were the followed steps, but the drawing one was the longest process (I’ve never used a circuit drawing software like Eagle):
First of all was to install the free Eagle version, and also fab libraries and DRC:
After that, I created a new project and setup the Eagle interface to make the work easier:
I turned on the grid and set it up to 0.4 mm, which is the mill thickness to use for tracing process.
Also I managed the layer colours in ‘board’ mode:
The first tool I used to begin working was ‘ADD‘ command to attacht new electronic components from the fab and supply-1 libraries to the scheme:
I mostly used these tools to make and change all my design:
These tools are also available from the right click menu:
Eagle is a little bit special on using some tools; for example, ensure to click on the thin cross that any component has to use tools on it.
To ‘Group‘ objects to “Move” them at once, you need to group them first and then right click on white space to use ‘move group’ tool:
By the other side, it has a useful mode to move and rotate elements just with right-clicking them:
To create the circuit I used ‘Net‘ tools. It’s visually obvious that nets are been connected between components and nets:
Anyway, these are the main ways to connect ‘things’ (but… just ensure by other methods too!):
Overlaped nets will not be really connected until you put them togheter with “Nodes” (round), if they didn’t connect automatically for any reason…
There is a (more audible than visual) trick when you connect your traces in Board mode: a sound appears on final click to make you know that the operation was well done ;).
Also, there is an important task to keep in mind: You must ‘Name‘ and ‘Label‘ the components in order to, respectively, link and describe them.
You can place names and labels wherever you want with the mouse:
You have more options from the ‘Properties‘ menu:
Even, you can add ‘Attributes‘ to specicy some other details:
This is very useful when using ‘Statistics‘ (schematic) or ‘Design Manager‘(board) info tools:
This was my final schematic drawing with no errors (checked with ‘ERC‘ tool).
ERC is a very useful real time tool that shows any linking problem
Turning to Board mode, it was so useful (and recommended) to ‘Align‘ all components to the grid. By this way, and setting it up to a similar/lower mill thickness multiple, I ensured to put all traces where I needed/wanted without compromising my future board traces.
I tried to import a background bitmap to relocate all my components using it as a template, but it made a lot of layers as pixels and din’t appear to be useful (for me). So, after many tries playing ‘puzzle’ imagining different circuits, I just simply copied the work from others and adapted it to my own criteria (previously mentioned) in order to not waste more precious time.
At that moment I tried also ‘Autoroute‘ tool, that gave (SHOWED) me some interesting ideas about tracing. Once I selected the most optimal one…
… I redrawed some traces with the ‘Route‘ tool to reach my final (exportable) design:
Also I tunned the view to make it easier for any informations or post-checks:
The exported .png file, in my case, had to be modified in Photoshop to integrate the outcut info and also to customize the board:
I tested to put offset overlap to 90%:
These tools were useful to clean debris on the board that could bring conectivity problems, and also to make traces more visible after the milling process (magic!). This was the result:
Soldering process was easy, with the exception of the 20 M(hz) resonator, that had very tiny footprint surface to attach to. Also, the switch I used was a little smaller than the footprint drawn/milled for it, but were no problems finally.
(Well, those ‘seas’ of tin have their unexpectable reasons…)
Anyway, this time I followed professor Neil mentioned tip to first attach the components by only one pin to then solder the other ones.
Continuity tested with multimeter from ATTiny 44-SSU VCC/GND pins to 3x2 header VCC/GND pins. Also I tested the Switch function from ATTiny VCC to GND after the LED with no errors. I noticed that LED didn’t turned on (and will not do it) until the program process would be done.
Oscilation testing could be done only in resonator, but I couldn’t plug thea power input (through FTDI wire) were needed first.
echo hello-world board produced on FR-1 board with Roland monoFab SRM-20 desktop milling machine from a design made in Autodesk Eagle report these main pros/cons conclusions on Electronics design:
- Eagle is a good way to add/link/list components in detail and to check conectivity with design rules that ensure a good result
- Eagle is a little bit hard software to learn to me, it is not very predictable
- Design, draw and test PCBs is a slow process that requires time and understanding
Original design files¶
- Sparkfun - Pull-up Resistors
- Rugged Circuits - 10 Ways to Destroy An Arduino