Project 5 : Designing a circuit from scratch
To complete this assignment I relied on this fab tutorial, which provided a nice introduction to the default hobbyist program Eagle. Here are the very basics:
Eagle works with .sch and .brd files. These should opened at the same time and work in parallel. The first is where one workds on logic and connections, the content of the board. The second is where we work on the layout of the board. Hence work is in two parts: making the logical components, then routing the traces in the layout view.
The following are the commands I found useful. They are typed in the command line for efficiency, but they also have a corresponding button in the menu:
- add (always choose 12*6mm components, have 1206 in front, esc * 2 for fast esc)
- net (makes logical connection)
- name (a component)
- label (display name)
- copy (don't forget to rename)
- route (make a connection)
- ERC (in schematic: test board / electronic rules check)
- DRC (design rules check / keep the default settings)
- group (group components, right click can move together)
- rats (in layout: are there airwires?)
- ratsnest (in layout: calculate the shortest airwires)
- rip (deletes routings in layout)
- show (get info on a component)
- text (add text to the board! Can also add images by editing the png file)
- info (get properties of text)
- display (layers)
When using the display tool, there are a huge amount of layers that can be displayed, so the onlyones that are likely to useful are:
To apply a command to several items is tricky: you have to be in that command mode, then type "group", select the wanted items, then finally irght click and select the option at the bottom of the drop down menu.
Other gotchas with logical connections: the green dot means that several connections link to that spot, so it should not appear when connecting to a component. Finally to connect logical wires conceptually (to make the .sch layout less like a spaghetti), it suffices to name the connections with the same name, use label to see the names to make the schematics clearer.
Making the Board
With the above in mind I put together the logical connections starting from what the tutorial offered.
I then routed the board, added a rectangle for the board outline (in blue). The board is ready to export when there are no airwires left and the ERC and relevant DRC show no important errors.
To make the machine mill this board, I needed to export two .png images: traces and outline. To do this, one first places the "dimension" lines around the board (in white above), to outline the size of the png.
Then we only show the relevant layer with display command: in this case we only show top and then bottom layers for traces and outline respectively. Then we export image with a high enough resolution (800 dpi seems to work well) and with the monochrome option on (the white parts will be left uncut). Here is the eagle view with only the top layer (with pad labels activated):
I cut the board with the Roland Mill. However I failed to put a sufficient amount of double sided tape behind the board itself, so the board was lifted off the milling platform and was damaged before I switched the machine off: you can see a dent that was made at the top of the board below. Fortunately no connection was severd, so the board is still functional:
I then proceeded to the soldering of all the components. A couple things to note: the 6 pins need room for support on the board, as solder is not load bearing, and relying only on such a connection would eventually break the component off.
Also the direction of the microcontroller and LED (critical things to get right!), are indicated respectively by a small dot by pin 1 and a thin green line.
- Eagle logical file: helloEcho.sch
- Eagle board file: helloEcho.brd
- Board Outline: outline.png
- Board Traces: traces.png
- Roland Mill