logo fab

Electronics Production:

On this assignment it was requested to make the FabISP in-circuit programmer.

This week for me was a true challenge. It was the first time I got in touch with electronics and I confess it was a struggle only surpassed with the kind help from my others fab mates and the fab masters valuable guidance. Therefore, here at FablabLisboa chose to produce the FabISP parts layout (20mhz crystal) on FR1 (phenolic paper) using the interior image png reference where each student defined their own logo for later proper identification. I chose my initials DV as two triangles inside a circle.

04_hello.ISP.44.traces.dv.jpg
Before staring to work with the Modela precision milling machine its better to clean up milling area and base plate properly (acetone is ok for all metal surfaces) from dust or glue residues that could alter the flatness of the printed circuit board (PCB).
04_modela_clean.jpg
04_modela_clean.jpg
One "sacrificial plate" was previous laser cutted from 3mm MDF to protect eventual drill bit errors damaging the main Modela base plate. To fix these two and the FR1 plate set to milling we apply double sided tape carefully checking some glue residues that may alter, once again, the FLATNESS of the PCB is CRUCIAL!
04_sacrificialplate_tape.jpg
04_sacrificial_plate_glue.jpg
04_sacrificial_plate_glue.jpg


Next on the launch fab-tool select to make_png_rml from the hello.ISP.44.interior.png file
04_fabmodules_modela_01.jpg
Change the mill bit on the Modela for one of 0,25mm by unscrewing/screwing correctly (perpendicular) to the bit socket slot. Press (VIEW) button and then (TOOL DOWN) button SLIGHTY ONE TIME just to erase the previous drill height position.
04_fabmodules_modela_01.jpg
04_fabmodules_modela_01.jpg
Now set new origin point accordingly pressing command "move to Xmin and Ymin" and manually with the (TOOL DOWN) button slowly down to just the FR! surface. Set up with "mill traces (1/64), diameter (0,25) offsets (1) and 2DZ (-0,0)" to test FR1 plate flatness.

Press "make.path" + "make.rml" + Send it!
04_fabmodules_modela_01.jpg
In case of the FR1 is not completely flat on 2DZmm (0,0) you can mill again using an incremental value on the 2DZmm of (0,05) each time. With this flatness check up done, load now the fabISP traces png file. Note that here you change the mill preset to OTHER AND THEN CHANGE BACK again to the "mill traces" (1/64) so it can acquire new data settings to "offsets (4) "speed (3) "2DZ (-0,1). Press "make.path" + "make.rml" + "Send it"
04_fabmodules_modela_tracesdv.jpg
Check if the milling is uniform, if not pass again using an incremental value on the 2DZmm of (0,05) each time.
04_modela_milltraces.jpg
With traces milling done, load now the fabISP interior png file and chose preset to "cut out board" (1/32). Change mill bit carefully like before and change setting "diameter" (1,5) and on "3D settings" the "bottom height" to (-1,5).
04_fabmodules_modela_07.jpg
04_fabmodules_modela_06.jpg


Press "make.path" + "make rml" + "Send it" Use (VIEW) button on Modela to stop milling process and on case something is not going well. Attention when you do this cancel, open Ubuntu terminal for example, and insert sintax on the command line "ps -e | grep cat" to identify the process number rolling and then insert "kill the number of process" to eliminate the memory command on the computer. To erase data on the Modela press simultaneously buttons (UP)(DOWN) so the led under(VIEW) button flashes during 10seg. After this data on the milling machine is also clean to start over again.

Now remove carefully the finished milled board and with a x-cutter blade scrape the surface diagonally to remove edges and using steel wood sand it a little. Now pass it on water and soap to remove grease residues (avoid touching the traces with fingers!) and there we have a nicelly clean and sparkling PCB ready to solder!
04_pcb_xcutter.jpg
04_pcb_sanding_soapwash.jpg
Before starting to solder prepare all the tinny components (green) needed using a double sided tape on paper to avoid losing any! Laser cutted a template on paper for visual placement guidance.
hello.ISP.44.jpg
04_pcb_papertemplate.jpg
Fix the board and...good luck! Hint: solder a little point on board where you want to put the component, then place it on position and finish soldering the rest. Repeat, deep breath repeat, deep breath...
04_pcb_setup.jpg
I achieve solder everything in place carefully like a "electronics surgeon" not without solder and desoldering some tricky components like the "mini USB" and the "At tinny". Pay attention to the diodes polarity (marked on each with a right line representing the positive side) and the "ground" on At tinny (marked on with a microscopic square) and avoid solder bridges between circuit traces. I used two cable wires for jumpers and soldering the final white one almost cost me the entire PCB because it started peeling the trace (it peeled cause it was suffering too much heat).

Thanks to "MASTER JEDI FERDI" that helped me fixed this and mannaged to putted all back in place!
04_pcb_allsolded.jpg
Then make a flat wire (6) cable and its all ready to program!
04_pcb_cable.jpg
Before programming make a visual inspection of the board and check any solder joint that look cold (not shinny and smooth). Also use a multimeter to confirm that every connection track are connected and that "ground" and "power" are NOT. Do a "smoke test" by plugging the PCB into the computer via a mini USB cable. If no messages appear proceed to next fase.
04_pcb_smoketest.jpg
Use another programmed FabISPtiny connected to program for the first time this new one.
04_pcbpcb.jpg
Im running bootcamp MAC/WINDOWS and chose to program on Mac and following the fabacademy electronics production tutorial by downloading and installing firmware, editing the "Makefile" Xcode Launch terminal and move to firmware folder to type commands: If all its OK a message will appear "avrdude done. Thank you."
04_macinstall.jpg
Now just desolder the two jumpers and DONE!
04_desolder.jpg