Electronics Design


Last updated: 25/03/2016

Redraw the echo hello-world board and add at least a button and LED with current-limiting resistor or design your own.

Learning outcomes
1.Select and use software for circuit board design;
2.Demonstrate workflows used in circuit board design;

Have I...
Shown my process using words/images/screenshots?
Explained problems and how I fixed them?
Included original design files (Eagle, KiCad, Inkscape, .cad - whatever)?

This module started with getting acquainted with the basics of electrical circuits, following the manual Practical Electronics for Inventors. Then I used the software Eagle to design the Hello Echo Board, which I then also programmed in C. As an extra activity, in Siena we were all invited to build the arduino-like board Satshakit.
Hello Board Design
Eagle is a software that allows to draw electronic schematics and turn them into board layouts. A good tutorial of the interface is reported here at the Fab tutorial repo. Starting from there I did first download Eagle and the fab components library. After I had pretty much copied the schematic of Neil, I swapped from the schematic to the board interface.

In the board layout interface I first set the grid system, as shown in the picture below. At first I left the traces thickness at 0.016mm.

I got frustrated at this point, where I could not complete the drawings (left picture) and I decided to "get inspired" looking at Neil's layout on the tutorial webpage (right picture).

However, I was not really satisfied and I decided to design it once more with few changes. In the schematic I removed the resistor at the button that should safely not blow up anyway. Then I looked at the pin layout of the microcontroller and swapped the LED pin from 6 to 5 and the button pin from 10 to 6. In that way I figured the drawing could actually come out less messy.

The schematic got a bit more dense than the previous one, but it still seemed feasible, because I set the traces thickness to 0.1mm. For exporting the file, I went on selecting only the top layer where the red traces are. Then I exported the file as a 1000dpi monochrome image, I opened it in illustrator and I wrote " board" (5px font-size!) and I drew the outlines for the lasercutter [1].

Hello Board Production
The lasercutter gave me this back. More specs on the lasercutting process can be found here

And I did solder it at my best. Here I made a quite stupid mistake, meaning that I inverted the pad of the button with the pads of the LED and resistor (pic on the left). Lesson lerned? It is best to have the Eagle drawing in front of your eyes while soldering, without assuming that since you drew it you actually know your circuit by hearth. I manufactured a new board and resoldered everything(pic on the right), as I thought it was faster than de-soldering. Plus, we were out of copper thread in Siena.

Hello Board Programming
All the information that are necessary to program the board can be found here and here, together with the downloads for the .c and .make files. The steps that I followed are:

1.plug in the hello board to an ISP to the computer. Also, plug in the FTDI adapter for powering the board (I cut the jumper on my ISP that powers the external boards);
2.open the terminal and go to the folder with the .make and .c files;
3.check whether the first four lines of the .make file are calling the right .c file and the right board;
4.execute the following commands to compile and upload the sketch to the board:

make -f NAMEFILE.make
sudo make -f NAMEFILE.make program-usbtiny-fuses
sudo make -f NAMEFILE.make program-usbtiny
5.unplug the ISP and execute the following commands to install python and launch the term.py file [3] in a sligthly rearanged version of Matteo. According to him, Neil's version had problem with indentation somewhere.

sudo apt-get install python2.7
cd ..//term.py
python2.7 term.py /dev/ttyUSB0 115200
It turned out that the communication works, as shown in the picture below.

Satshakit Board Design
Our instructor pushed us to do an extra project which consisted of manufacturing a Satsha kit, a totally fabbable Arduino-like board. I downloaded the Eagle schematics from the repository on Github.
Satshakit Board Production
Producing the board started with a lot of trial-errors with the laser-cutter, as I reported in week4Eventually I manufactured the board with the Roland milling machine. Since I was travelling, I did not have all the components with me and I used what I could find.

Satshakit Board Programming
Following all the indication on the Satshakit repository, I got to a dead end. I believe there is an electric issue with the components that I used or maybe with my soldering. The only thing that I did different was to put 10pF next to the quartz as I had no 22pF available, but I do not know if that is to be blamed for the malfunctioning. Eventually I run out of time and I did not complete the making of the SatshaKit. I waited until week 15 before I made one.

Eagle is overall a nice and intuitive software and the way it switches from schematic to board layout simply works fine. Sometimes I wish it could suggest multiple paths from one component to the other, before you actually start to draw.