Week 7: Electronics Design

This weeks assignment was redrawing (with our original touch), milling and soldering a "echo hello-world board". I've been dealing with 3D printers for years now, but electronics is a whole different story, first time designing a board so I got straight to it. I decided to use Eagle since I had already used it for week 5: electronic production. First I downloaded the next images of the board.

HELLO HELLO01 HELLO02

Having a clear idea of what I was attempting helped get my gears in motion. Before I started designing the Schematics on Eagle I took a look at the datasheet for the ATtiny44.

DATASHEET

To design the schematic in Eagle you have to add all the components necesary and after connect them (as shown in the first image which was used as reference to create the schematic). In order to do this we use the add button for each component as shown in the next picture.

EAGLE

Once all the components are added I started connecting the ones shown in the example image.

EAGLE01

As you can see I hadn't connected the LED and button yet. Once they were connected the schematic looked like this.

EAGLE03

While connecting everything I discovered that cables with the same name dont need to be connected visualy in the software as it assumes they are connected making this process much simpler. Now that my schematic was ready I proceeded to generate the board by selecting File>Switch to Board. This is how it looked.

EAGLE04

The yellow lines indicate which connections are necesary. I tested the autorouter but after some attempts I decided to design the board myself step by step. The ratsnest command helps alot as it generates the optimized yellow routes as you move the components around(thoroughly recommend using it).

EAGLE09

Before I started designing I had to decide my trace width which I found in the tool above (change(wrench icon)>width>select your width).
I opted for 24 on the paths that had enough space and reduced it to 16 for the paths that had too little space for a 24.
It took me about an hour but eventually I had a design that worked.

EAGLE05

Once my board was finished I checked for errors with the DRC tool (Caution triangle icon on the bottom left). Nothing reported back so I assumed my board was OK.

EAGLE10

Finally I moved components a bit to make my board more efficient regarding area, it didnt change much but I felt better about it.

EAGLE06

Once I had my finished design I had to pass it through Fabmodules to generate my G-Code so I saved my design as a monochrome .png file.

EAGLE07

First I imported my monochrome into Fabmodules. Next I chose the output option: G-Code and the Process option: PCB 1/64.

FABMODULES

Finally, I modified the spindle speed to make sure our router would cut the path properly and I generated my G-Code file. I then proceeded to mill my Hello_World board. First, we had to set up the plate we were to mill. It proved harder than it looked.

MILL 01 MILL 02

Once its set you have to set up the zero for the Z axis by moving the tool with the controler and then lowering the tool until it touches the special tool to zero the Z axis(looks like a holeless wheel).

MILL 03 MILL 04

Finally, you start milling your PCB.

MILL 05

This was the PCB after milling.

PCB 01

It was time to start soldering with flux! At first Flux can be tricky but after some practice it becomes your best friend when soldering this type of PCB.

FLUX 01

Slow and steady my PCB started looking more like a Hello_World PCB.

PCB 02

Some more soldering...

FLUX 02

And voila!!!

PCB 03

So in total I added a power LED and a switch button with a limiting resistor each. Limiting resistors are used in LED lights to prevent them from burning out from high voltages. The main reason I used the resistors was to keep the current at the characteristic(recommended) forward current. Regarding the switch/button I used the resistor to prevent any floating values from returning to my microcontroller from it. Regarding how I connected my button I ran the VCC route through 2 of its legs and a gnd route over the other 2 using pin #4(arduino pinout on datasheet).


Download the original files from the links below:
Modified Hello World Schematic: Eagle (.sch file)
Modified Hello World Board: Eagle (.brd file)
Modified Hello World G-Code: Eagle (.nc file)



Previous Week Home Next Week