I cut and solder a microcontroller programmer.

Updated: September 29, 2015

Personal Project Goals

Coming into this class, I knew my biggest weakness is/was electronics production. Spoiler alert: this week did not go well. I was hoping this week would improve my ability to handle the physical skills needed to produce a circuit board and debug it. The former is definitely true - I am way better at cutting, soldering, unsoldering, and so on. The physical skills are there for production. The debugging skills still need work.


For this project, we had to choose to make one of a few sample circuitboards. I chose to produce the non-Res, simple clock-based board, becuase I didn't think it was smart to be adventurous with one of my weaknesses..

Soldered Board

Read More / Hide

Cutting the board was frustrating - I had to cut 10 boards in total (I threw out the bad cuts in frustration, or else you'd seen them here). This was very time consuming, but not a bad experience, as now I know precisely what not to do. Several of my cuts were ruined by uneven PCB placement. This probably has to do with a bent base or a sacrificial layer. I learned though from this that you can take the maximum cut depth to ensure all the copper is properly removed. Other errors included having a dull end-mill twice, having too small of copper area to fit the whole circuitboard image, and poorly placing the tape such that it came up while cutting. I also lost a great run because I didn't re-load the settings between the tracing and the cutting steps. The image shown below is due to a dull endmill.

Badly Cut Board

Soldering went smoothly for most of the way, and I learned a lot of useful skills - how to solder properly (my solder quality went way up as the board progressed), desoldering using the ribbon (I messed up a lot), using the magnifying glasses to inspect the board, and using the heat gun to remove large objects and debris.

Tragedy struck, however, when I tried to remove the ISP headers from an uneven soldering job. This was before I learned to use the heatgun, so I was trying to apply heat from the soldering iron, and peel it up. This removed a significant amount of the copper interconnects, leading me to have to spend a long time jumping with supporting wires. In practice, it would have been better to cut a new board and solder from scratch, but after how long it took me to cut boards and solder up to this point (7 hours), I didn't feel comfortable rewinding so far.

UPDATE: After returning to this after a few weeks, I was able to recreate the board from scratch and get it to work. My milling and soldering skills have vastly, incredibly improved over the last fwe weeks. A few tips I've learned to help make my boards work:

  • Check for any shorts as you go. For any complicated component with lots of "feet", check for all pairs of wires on all the feet.
  • Make sure all pins are connected! It's easy to get the ISP "floating" in mid-air. Checking that the top of the ISP, for instance, is actually in contact with the pads ensures that there's good connection.
  • Use good soldering technique. This goes without saying, but it's really important to do the following: soak up extra/unnecessary solder with braid which could lead to shorts, heat the pads and any IC feet well before applying solder, and avoid having the solder contact the iron (it's best to have it contact the copper pad, I've found). There's also little reason to use more than 780F on the soldering iron for most cases, I've found.

good board

With these skills in tow, I was able to get my programmer working. A picture of the moment it programmed below. And, here you can an abridged version of my reaction when I finally saw it working.


Current Issues

There are no current issues with this board, except that the ISP connector occasionally shorts with the wires below it. I've found the bottom-left pad to be a bit troublesome, as it's hard to get the ISP header's foot connected to the pad without touching any of the nearby wires there. This has inspired me in future designs/boad drawings to try to keep ISP headers relatively separated from nearby wires.