This work is licensed
under a
Creative Commons
ShareAlike 4.0
.

# Week 6: Electronics Design

This week students should have:

Shown your process using words/images/screenshots.
Explained problems and how you fixed them, including how you worked with design rules for milling (DRC in EagleCad and KiCad).
Included original design files (Eagle, KiCad, Inkscape, .cad -whatever).

## 1. Navigating Eagle

### 1.2. Board

When you first open the Board window, the components are spread all over and are connected by intersecting yellow lines. These yellow lines need to be rerouted. First check for the design rules by clicking on DRC. The widths of the copper routes will be of 16 mil. You can also view a grid that will help route the components.

## 2. Understading Ohm's Law and components

1. Resistors: Ohm's law: Current through a conductor between to points is proportional to the voltage Two different layouts for Resistors. Serial: and Parallel. There is an app for us to figure out what resistor Ohm-wise we need:
- V = R x I
- where V is the voltage of a battery (in our case, since our board will be powered by a USB, the voltage will be 5V). Where R is the resistance of the LED and I is the current going through the circuit. In our case, we know that the given resistance has a value of 10 000 ohms. We can now calculate the current going through the circuit. I = R/V . I = 10 000/5 = 2000 Amperes. The following website helped clarify the Process. Now we can figure out what the values of the other resistors.

2. Capacitor: polarized and not polarized.
- AC: alternating Current
- DC: direct current.
The capacitor turns AC into DC. The XTAL resonator has two capacitors inside that's why we only need one capacitor elsewhere in the board.

3. Light-emitting diode (LED):It is a two lead semi-conductor.

4. Transistor: it amplifies current and it prevents the microcontroller from burning. In our board, our switch accomplishes the function of two transistors.

5. Logical levels: digital electronics. Esteban's presentation: "The voltages used to represent a 1 and a 0 are called logical levels. In the case of Arduino the 1 can be 5 volts or 3.3 volts and the 0 is 0 volts. There is a general range of the High and Low levels acceptable for a digital circuit.

6. Microprocessor: the legs with PA that are empty can be used as any input and output.

## 3. Calculating the value of Additional Resistors

Part of this week's assignment was to add to the Hello board at least an LED and a button. These two additional components require resistors. I used Ohm's law to calculate their value as follows:
- Current I = 2000 Amperes
- Voltage V = 5V
- R = VxI -> R = 10 000 ohms

If the resistors are placed in parallel then: IxR1 + IxR2 = V . If they are placed in series then R1 x I = R2 x I = V. For the button's resistance, I used a 500 Ohms one.

Below is the outcome of my final work with the Eagle Schematics:

## 4. Milling

As my second time using the milling machine, this week was specially hard for me. I had to mill my board three different times and specially at the beginning, it was hard to pinpoint the source of my errors. See below a detailed description of my issues.

### 4.1. First Attempt

I imported the png below into fab modules:

The error dialogue below kept appearing:

Thankfully, I realized that was because I had left the zjog value blank:

This resulted in the following:

However, there were two other issues with my image:

1. There is a bug on Eagle for Mac that doubles the size of the image. I had to reduce by 50% the size of my file in Photoshop.
2. I had to go back to Eagle and redraw all the paths as I realized all the route were wrong and set at 6mil instead of 16mil. This output the following .png:

### 4.2. Second Attempt

The machine only started milling at z: -0.32. There were no visible errors with the input data in fab modules. See below the details:
The board did adhere properly to the base of the SRM-20 and did not move throughout the milling process. The only thing that we could think of that went wrong was the z coordinates in the Roland driver. The machine only started milling when the home for the z-axis was set at -0.32 mm. This could have been due to the fact that the tape beneath the board was not evenly distributed. Note that it was the same board as in Try 1 and that it had not been repositioned since the machine finished the previous job.

### 4.3. Third Attempt

For this try, I decided to generate the g-code on a different computer instead of using my laptop. I still used fab modules with the settings below:
Once I scratched out the extra copper connecting unnecessary parts, I had no major issues soldering the components into the board.

## 5. Soldering

Once I scratched out the extra copper connecting unnecessary parts, I had no major issues soldering the components into the board. Below is a diagram of the necessary components:

## 6. Testing the Board

I then tested the board by using a multimeter and making sure the connections were right. I did so by using the sound mode of the multimeter and by placing the black and red pins on the same track. Then I built my own cable in order to connect the USBtiny Programmer and my Hello Board to the computer. Then we downloaded ATTiny library for arduino. However, at this point I started having issues with my computer not locating the USB port. I then installed the FTDI drivers. I also tried programming the board by using Neil's make files found here and here.

`command system_profiler SPUSBDataType`

However, I did manage to program this board during Week 8: Embedded Programming, where you can find a detailed breakdown of the steps followed to program the board. Below is a sneak peek of the working Hello Board after I uploaded a blink sketch: