Electronics design

A. Schematics on Eagle

My Hello board includes a push button and an LED in addition to the FTDI and ISP pin headers in th original designers. It also includes a 20Mhz crystal with to 10pF capcitors; a 1uF capacitor between ground and VCC; a 100 Ohm capacitor in series with the LED, and 10 KOhm pull down resistor in series with the push button. I drew the schematics on Eagle


photo

B. PCB on Eagle

I tried to keep the PCB drawing compact but wide enough to avoid bridging problem in welding, and I made shure that the spaces between traces are wider than the 0.4mm milling thread. The traces and the clearance are 16 mil. I found all the needed components in the FAB library except the FTDI in-hole component which we used to make soldering easier.


photo

C. G-code with FAB modlues

After exporting the images in PNG format from Eagle in a monochrome mode and with 1000 PPI, I edited them with GIMP. Last time, in electronics production week, I used Photoshop because that's what I'm used to but GIMP works just as fine for this purpose. The only changes (from week5) in the settings of the Fab Modules G-code generation the offset kept at 50% rather that 70% to make the clearance wider.This time I have also used the milling machine to drill holes in the board. For drilling I used a 0.8mm thread with the setting for outline. Given that holes are about the same dimension the machine will just drill a hole in these settings

photo
photo
photo
photo
photo
photo

D. Milling and Soldering

For milling we used 0.4mm thread, for cutting a 0.8mm thread, and for cutting a 1.2mm the result was clean as it should be, and soldering went well. The first step was to mill traces, then drill the holes, and then cut the outline.

photo
photo
photo

E. Testing

Using the Arduino examples, I put together a small code which commands the LED to blink when the push button id pressed. This is easily done by combine the blink sketch and the push button sketch provided as examples in the Arduino IDE software. Then I just had to change the number of the pins to make it work with the Attiny44. I uploaded the code to my Hello Board with the Arduino programmer with the connection displayed in week5 in addition to the VCC connection. The first step is to connect the arduino board and to load select it in Tools, select the port, and upload the ArduinoISP sketch from examples. Then disconnect, connect the hello board to the Arduino board, reconnect to the PC, select Board and processor as Attiny44, select clock, select programmer as ArduinoISP, burn Bootloader, and finally upload my Hello_bord sketch. It worked fine.

To programme your Attiny44 with the Arduino board you'll need to install the Attiny44 plugin in the Arduino software. The steps to do this are:

  1. Go to: File > Preferences : in the bottom of the window you will see "Additional Boards Manager URLs"
  2. Paste the following URL: link
  3. Clik OK and go to: Tools > Board > Board Manager
  4. In the Board Manager list find "attiny by David A. Mellis version 1.0.2" and click installed
  5. When the installation is finished INSTALLED will be written next to it.
  6. Now you will find the Attiny24/44/84 in the Board menu

Once that is done you can use the Arduino Board as a programmer for the Attiny 44. To programme the Hello board using Arduino follow these steps:

  1. Plug the Arduino board to your PC
  2. Select the Board type ours is: Tools > Board > Arduino/Genuiono Uno
  3. Select the port to which the Arduino board is connected: Tools > Port
  4. Open the the ArduinoISP sketch: File > examples > Arduino ISP
  5. Upload the code to the Arduino Board: Arrow symbol on the top left
  6. Unplug the Arduino Board from your PC
  7. Connect the Arduino board to the Hello Board according to the diagram
  8. Reconnrct the Arduino board to your PC
  9. Select the Attiny board: Tools > Board > Attiny24/44/84
  10. Select the processor: Tools > Processor > Attiny44
  11. Select the clock frequency: Tools > clock > External 20MHz
  12. Select the programmer: Tools > Programmer > Arduino as ISP
  13. Burn Bootloader: Tools > Burn Bootloader
  14. Open your code or an axample sketch as "Blink": File > Open or File > Example
  15. In the code, change the pin number according to the pin diagram
  16. Upload the code to the Hello board using the Arduino as a programmer: Sketch > Upload using programmer
  17. Disconnect the hello board from the Arduino Board leaving GND and Vcc to power it or power it with an FTDI cable
  18. Test the board to see it working
photo
photo photo photo