FAB ISP in circut programmer

A in-circut programmer

This weeks assignment was to make a in circut programmer.

Milling the board

The following is the memo for milling the board.

  1. Restart the computer and unpug, replug the modela.
  2. Log-in to ubuntu operating system.
  3. Double click the Icon in the desktop to initiate server connection of computer - modela.
  4. Start firefox to open fabmodules
  5. Load settings, import using file on Desktop.
  6. Load the png image. Output Format -> Roland mill(.rml), process -> PCB traces(1/64).
  7. Press VIEW button and change the end mill to 1/64. Make sure the mill is inserted all the way up. Lightly tighten !!
  8. Press VIEW button again to return the mill position. Calibrate the origin position by "Golf-ing" the minX and minY position. Lowen the drill leaving 5-7mm machine space for z-length.
  9. Adjust the end mil height it should touch the copper surface.
  10. Cut depth should be 0.1-0.15. I tried 5 for number of offsets.
  11. Hit 'Calculate' if your satisfied with your settings, and hit send to start milling.
  12. Repeat form 6 to mill the board edge using a 1/32 endmill. Remember to calculate before sending. You can press VIEW to see the progress and revert by pressing again.
  13. Reburr using a scraper, and wash with water and soap.

Fig1. Fab modules setting

Fig2. Halfway milling.

Fig3. Done milling.

Soldering and testing

Fig.4 shows list of components.

  • SJ's are 0Ω registers.
  • The Diodes has direction. the bared(|) side should face the 'cathode'.
  • Soldering the USB connections (not just the legs) is necessary! (I bridged it)
  • Sometimes extra solder and flux saves the day!

After doing the soldering, with the help from Will, I tested the board. Following the procedures below.

  1. Connect to the computer with USB.
  2. Connect to (Will's) Programmer with ISP cable. The led will turn green if everything is soldered ok.
  3. Unzip and cd to firmware directorty.
  4. make clean,make hex
  5. gedit Makefile and make sure its targeted to avrdude. comment out if necessary.
  6. sudo make fuse,sudo make program
  7. This should make the board a programmer. De-solder the two SJ's (0Ω registers)

  8. Connect to Will's random program.
  9. cd to the directory of the program (in this case hello.button.44.make)
  10. sudo make -f hello.button.44.make program-usbtiny
  11. If no errors, everything is ok...

Fig4. List of components and their allocation of the working desk.