Electronics design


Week assignments:
· Redraw the 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
· Extra credit: measure its operation



Our expected outcome this week was to redraw the Echo Hello-World board, with new components such as a button and a LED and new functions we will program afterwards.

This is the Echo Hello-World board:

hello_world

To re-design the board we used Eagle, a pretty nice software from Autodesk, to design and produce PCB's. First we had to add the Fab Library (download here) inside of it, so that we could use in our board designs all the components that we normally need during FabAcademy, among others.
After that we had to add all the elements we'll have on our board, and then create the connections between them. To ADD elements to the sketch we selected them from the library source, and we put them on the canvas one by one. As I did in week 4's assignment I used this website too for general knowledge and know the exact function of every component.
To calculate the resistor for the LED I used a webpage too (link here). These are the specifications of the LED I used

add

Adding the supplied voltage, the desired voltage and amperage it gives you the resistor needed.

add

I used this website as well to learn how to work with Eagle (old version documentation) and some Youtube videos too. Apart from that our instructors showed us some tricks and gave us some tips to use the software (practice and practice)

add

After all the elements were added we could start creating connections by selecting the NET tool.
We can add several traces for all the connections between components, or we can name them (by right clicking > NAME) and then add labels so that every time we set up another component with the same name, a connection will be automaticately created.

net

This is the final scheme with all the components and relations already done. Once we did that we pressed the BOARD button in Eagle to start designing our PCB.

finished_scheme

All the elements appeared distributed randomly on a black space which represents the PCB. A set of yellow lines connected all of them following the scheme we setted up before.
From here I started creating the paths between all the components, so none of them was touching another one. Every time yo do a connection the yellow line dissapears, meaning it has been done properly.

connections

Once I thought my board was ready to mill I checked the "Design Rules" of Eagle, with the DRC (design rules check) tool. It basically tells you if there's any mistake on the design, for instance if any line is too close to another one, so that it can cause issues when soldering. I found this tool really helpful and I kind of understood better how the program works, specially when cheking everything and seeing the problems I had on my board, and fixing them. I specially had some some lines I thought were connected to the components but they weren't.

drc

This is the final scheme with all the components and relations already done. Once we did that we can press on the BOARD button in Eagle to start designing our PCB.

board_finished

To export traces to an .eps file I used the Cam Processor and selected the Top, Pads & Vias layers. Then added a name for the file and processed the job.

camp_eps

Once I did the .eps file I converted it into a black & white .png picture. I exported it at 1200dpi as Neil's drawings of the FabIsp were using this same resolution some weeks before.

hello_traces

I created a different file for the outline of the PCB, with 1mm black line, so FabModules can recognize is a trace an convert it into a path for the machine.

hello_interior

As most of the milling machines were pretty busy in the Lab, I used the old Roland MDX-20. I used two weeks ago for scanning too, and I liked very much. I have to say I had some issues with the machine but I learned a lot, so at the end I am happy with it.
A few things are different from this machine to the others in the lab. First one is that the computer was using Ubuntu, so to run FabModules was necessary to do it through the Terminal. I enjoyed using it and everytime I am feeling more confident when tipping things on it.
The use of FabModules is pretty the same as the on-line version, except the communication is done directly with the machine.

fabmodules

I milled the interior traces and left it doing the work alone.

roland_milling

Next day when I wanted to cut the outside part I saw somebody cut another piece next to mine. When I started doing my exterior trace the PCB started to rotate and finally I had to stop the machine as it wasn't doing a proper job.

broken

I saw the problem was that my trace cut the tape I put to hold the PCB on the sacrifier, and without it it didn't have too much material to stay on place.

broken

Setting a new trace to mill again wasn't that easy. The process can't be finished through FabModules or even restarting the machine. It always remain as the last trace used and the machine will keep following it. The only solution was to "kill" the process. To do so Esteban and Xavi helped me showing me how to do that on Linux. As FabModules runs on Python it's useful to first look for all Python processes running on the computer with the command: ps -A | grep python
If we wanted to look for other processes we will change python for another name.

kill_process

Once we saw a process numbered 3189 as a python we knew that one was the one to kill. To do so we should type: kill -0 3189 where 3189 corresponds to the number of our process.

kill_process

Once done this the machine was still working with the last trace set up when was turned of. To see all the processes running on the computer we type: ps -A and killed the cat process as well with: kill -9 3192

kill_process

Finally we could start milling the traces again and cuting our board.
To have a list of all the components to solder I used a command on Eagle called BOM (I found it extremely useful).

hero_shot

hero_shot

This is the PCB with all the components soldered and ready to be tested

hero_shot

I checked most of the connections between all the components and seemed to work well. I am pretty happy with the result, although I know it can be better, but I feel I am getting used to solder (and the patience needed)

testing

Ready to program it in the coming weeks!


Download all the files here

fablab bcn iacc

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.