Week 6: Electronics design

This week is dedicated to electronics design, the assignment is to redraw and make the Echo Hello World circuit.


exporting traces

Redraw the echo-world board

Using the Fabmodules

Board testing and soldering


Machines used and softs:

  • CNC Machine: Roland MDX40
  • Software: Eagle,123D Circuit

  • Final Objective


    final objective for the circuit final objective for the board

    Redraw the echo-worl


    Workflow with 123D circuit from Autodesk


    autodesk page

    I created an account, and started a new PCB schematic:

    new schematic

    With the parts list on one side, I added all the components of the circuit, I was able to find the ATtiny 44A in the "All the components":

    ATtiny component

    Here I layed down all the components that we need:

    All the components

    I then used the png from Neil to see how the components were connected :

    final objective for the circuit

    I took some time to look at the schematic and understand the role of each component, and got my final circuit:

    final schematic

    Once I was done I switched to PCB view

    A new window pops we can see all the components stacked on the left top corner of the screen, let's start by cleaning this mess:

    PCB view

    Once everything is in place , it is time to play Tetris and connect the traces!

    Traces

    Since we are working with a single layer PCB we need to prevent tracks from overlapping on the final job.

    This is why I've got trces passing underneath the ATtiny chip.

    Here is my final circuit:

    ATtiny component

    And then I added a LED and a resistor to the circuit:

    ATtiny component

    I finaly imported the Gerber file :

    -->circuit.gbl ! <--

    -->circuit.gbl ! <--



    Workflow with EAGLE

    Eagle

    I started by downloading the last version of Eagle .

    Installed it on my computer on Windows, selecting "Run as Freeware".

    Eagle installation

    I also downloaded the fab library that contains the schematics and also the footprints of the components we will use to build the Hello World circuit.

    I added the file in the main Eagle library folder EAGLE-7.5.0/lbr/ so it could be accessed without having to specify the path in the directory.

    library location

    Now I am ready to design my circuit :

    -create a new project : File>New>Project

    -create a new schematic whitin that project : File>New>Schematic

    -start adding the components : Edit>Add ...

    -quit the process pressing ESC

    If you didn't add the library in the Eagle directory, you can add them from the Control Pannel (Right click>Add to schematic):

    control panel

    Here is the list of the components:


    Once all the components of the circuit habe been added, we can start wiring using the "net tool" not the "wire tool" (wire tool is free of constraints).

    wiring tool to use

    Simply click from a connection to another, quit by pressing ESC.

    wiring using the net tool

    If you want to prevent having cables everywhere you can connect the nets using there names:

    how to connect using net names

    This is done by first adding a small segment of wire to each pin (it won't work if you don't do this) and then using the "name tool" :

    naming tool to use

    Give the same name to each net you want to connect.

    In order to remember what net you connected, you can make them visible using the "label tool":

    making the net visible

    Once all the wires are connected, we need to check the schematic, click on ERC:

    checking the circuit

    It is normal if the ERC check reveales connection problems even if your circuit seems to be OK ,to solve them simply move around the component using the move tool:

    wiring tool to use

    If the wire move with the component, everything is find, if not ,simply delete the wire that causes the issue and re-wire the component.

    Once the ERC test has been passed, we can move on to the next step, the board layout:File>Switch to board .

    switching to board

    All you components are smashed together in the left part of your screen, this is completly normal.

    Use the "group tool" to select them all and move them in the center of the square :

    moving all the components

    You can start placing the components trying to avoid lines from crossing (rotate a component with a right click).

    Final placement

    Once you have done you best, you can start playing Snake and draw the traces using the Route tool :

    adding traces

    I used the grid (0.025'') and the wire bend style 1 and a track width of 0.016''.

    almost finished the tracing

    I had some trouble to avoid lines from overlapping, so I had to create a trace for my GND passing all around my board.

    And I still had to pass some traces under the ATtiny chip

    traces passing under the chip

    So I reduced the grid size (0.0125'' ) to position the tracks more precisely, and I also decreased the size of the wires passing under the chip.

    This is my result for the moment:

    final board (for the moment)

    There shoudn't be anymore yellow lines, but this is because I added my GND trace externaly and didn't modifie the schematic accordingly.

    I am going to try to use other softwares and then I will redraw this circuit, I am not satisfied with this result.

    Finally I decided to stay on Eagle, so I just errased everything and re-started from scratch.

    Layed down all my components:

    new board schematic

    This time I properly configured the DRC:

    config the DRC

    And switched to the board :

    board view

    And this time I used the Autorouter tool:

    I then exported my circuit in .png and using the option "Monochrome".

    On one side I exported the traces (hiding all the other layers), and then exported the dimensions (which correspond to layer 20 on EAGLE).

    Here are the files :

    exporting traces exporting outline

    (I always get this weird offset, didn't manage to get rid of it yet!)

    Next step is tho use the Fabmodules to convert those png in Gcode for the Job.



    Using the Fabmodules

    Fabmodules is a web site created by Neil which allows us to easily switch from a format to another in order to send a job to a machine.

    Almost all the machines of the Fab inventory are already compatible !

    So first we need to go on the webpage :

    starting with fabmodules

    Select the input file:

    exporting traces

    And the output file :

    exporting traces

    We need to precise the process ( in this case we start with the traces) :

    exporting traces

    And enter some parameters for the machine:

  • the type of machine (which will fix the speed)
  • precise if we want an offset
  • enter the zjog (2 is good)
  • and the homing once the job is done
  • Attention!

    Do not enter 0 for zhome! This will ruin your board! If we enter 0 the machine will scratch the board when homing!

    exporting traces

    Once your done, calculate the parcour and save it!

    exporting traces

    What I obtain is a Gcode that I can directly send to the MDX40:

  • Traces.rml
  • Contour.rml

  • Then I just oppended Vpanel for the Mandela machine, did my Z with a mutlimeter, and Cut!

    exporting traces

    You can see the mistake I was talking about, as the machine homed at the end of the job, it scratched all the way! I'm lucky she ended there!

    exporting traces

    I then checked all the traces with a multimeter to insure that they were continuous.


    Hero shot

    And after some soldering:

    exporting traces


    Troubleshooting

    After soldering all the components,I inspected my board under a microscope and also used a multimeter to test my solders.

    I had the worst problem ever : GND and VCC where shorting, the worst part is that I did check before soldering!.

    All my traces seemed fine, and my soldering wasn't perfect but the multimeter confirmed that everything was fine with the soldering.

    So I thougtht there was a problem with my design, and I spent a while cheking it...

    And after quite a long moment I remembered that I had problems with the export on Fabmodules, I had to change my DRC on EAGLE: repair trace Because some traces were missing.

    And I had a great idea! I used Paint (yes paint!) using the tool that colours a surface, this made me actually realise that indeed I had a direct trace going from GND to VCC! So my design was find the problem was the DRC settings in EAGLE.

    And here you can see the problem (forgot to take a picture before cutting it..oops): repair trace

    So because I was running out of time I switched to MacGyver mode: repair trace

    Thanks to that piece of tape the resoldering over that trace was easy:

    repair trace

    This solved my shorting between Vcc and GND obviously but I still don't know if my board actually works! This will be for the week Embedded porgraming



    Conclusion

    If you have problems whith your board, don't run to go mill a new one, if you are confident in your design take some time to debug it.

    If you are using the Fabmodules take some time to inspect the preview of the job, make sure that all the traces are clearly defined.

    The multimeter is your best friend, take the time to test all the traces and components.

    The autorouter tool in Eagle is a very powerfull tool, but you need too properly configure the DRC in order to have good results.

    Don't give up! If you follow a scientific method (test and analyse all the factors one by one) your board will end up working.

    Learn Make Share