# Week 3: Milling and soldering a printed circuit board (PCB) to make a programmer <a href="../index.html">Back to Home</a> ## Milling the board I used copper-based PCB stock, and a Roland milling machine to first mill away the extraneous copper to leave just the desired "traces" (essentially the wires) with a 1/64" head, then to cut out the outline with a 1/32" head. Managed not to break any heads! Post-milling clean up involved vacuuming, using a razor to carefully nick off any unclean traces - especially any that are in danger of causing a short, and washing with soap and water. <embed src="images/mill_video.mp4" height="640" width="360"> I then did some painstaking surface-mount soldering to get the seed-sized components onto the PCB. Once I got in to the hang of things, it wasn't so hard; the main difference is the necessity to anchor one side/pin of each component to its trace by first melting solder onto the trace, then attaching the anchor point by reheating the solder and the anchor point at the same time. Tweezers to manipulate the components is a must! I did goof up and take the wrong resistors at first (got confused by the labeling in the drawers), so I had to de-solder and re-solder them. It made things a little messy, and my board looked a little melted, but no harm was done. I tested all the connections with a multimeter turned to the connectivity mode (press "Mode" button to turn on the sound). I followed Brian's instructions to create a bridge in the junction and building up solder on the traces that would connect to the USB port; then it was time to program. ## Programming the board The actual process was easy enough, since all the instructions are laid out by Brian. The LED, wired to turn on when the board's insertion traces has contact with the port, turned out to be very useful: the connection isn't perfect, so having an indicator removed the guesswork. <img src="images/usb_connect.jpg"/> I used the AVR ISP programmer to program my PCB, following Brian's instructions. In what's possibly a first for me, nothing went awry. The board can as easily plug into my laptop directly as through a USB port: <embed src="images/programmer_blinking.mp4" height="640" width="360"/> Not sure why the programmer was blinking red then. Programming was easy enough; however, I wanted to know what I was actually doing, so I had to dig a little deeper. TBC