If you've ever bent the pin on a microcontroller while trying to insert it into a DIP programming socket, you're not alone. Aligning those crazy pins again and again, while intermittently prying them out of the programming socket and then inserting your freshly burned chip into a target circuit, can lead to a long and sleepless night. Luckily, there is a cure for the bent pin nightmare. And this prescription costs less than $35.
By now you've heard me extol the virtues of Modern Device/Wulfden's Freeduino Arduino-clone PCBs (see Related Articles). These PCBs are low-cost svelte alternatives to the conventional Arduino workhorse controller boards. More importantly, you can purchase Freeduino PCBs in kit form allowing you to thoroughly customize the final Arduino-like circuit.
For example, if you don't need a voltage-regulated external power source, omit the barrel power connector, voltage regulator, and two electrolytic capacitors. Or, if you prefer SIP inline female headers, replace the male headers with your interface preference. The Freeduino is an easy-to-build, flexible, and customizable Arduino clone.
As a demonstration of this flexibility, by adding two non-standard components to the stock Freeduino Bare Bones Board kit you can create an AVR ATmega168 prototype programmer that'll never bend another microcontroller pin.
TIME: 1 HOUR
1. Begin assembling the Freeduino kit according to its instructions (PDF link).
2. Do not add the two 14-pin DIP sockets from the Freeduino assembly instructions (i.e., Step 4). Solder the DIP adapter socket to the PCB. Watch the placement of the two .1mF capacitors (e.g., "104") near the socket.
3. Solder the ceramic resonator to the bottom of the Bare Bones Board. Make sure that the leads of the resonator do not touch the DIP adapter socket's leads.
4. Complete the assembly of the Freeduino kit.
5. Align the ZIF test socket with the DIP adapter socket and carefully join the sockets. Now you can quickly and easily drop ATmega 168 microcontrollers into the ZIF for rapid prototype programming. You might find this modification to be a welcome addition the next time you're programming bootloader software into 100 AVRs.
NOTE: If you enjoy a challenge, build your Freeduino AVR rapid prototype programmer from scratch! For a limited time, an older version of the Bare Bones Board PCB (dubbed "Rev. C") can be purchased from Wulfden for $2.50 + $2 S&H. This is not a kit. It is a bare PCB for which you must purchase and install the parts yourself. Thankfully, you can find a complete parts list inside the Bare Bones Board assembly instructions PDF.
If you're new to Freeduino programming, then you will probably be considering the purchase of an FTDI-to-TTL USB serial cable. Hold that thought--a new FTDI breakout PCB from SparkFun Electronics gives you all of the programming functionality of the FTDI USB cable and it costs six bucks less, to boot.
Another neat way to avoid having to pull the chip off of a board to program it is to build a clip-on programmer, using a chip-clip (the kind meant to clip onto the sides of IC chip pins, not the kind meant for keeping your potato chips from getting stale).
This is especially useful if you might want to reprogram a microcontroller after permanently soldering it to a board, since you don't have to design in a programming header. Depending on how you wire it up you can use it with a serial bootloader or an ISP-programmer.
I've made clip-on programming adapters for DIP and SOIC package AVRs, and I would post pictures/links, but I'm afraid that would get this post held indefinitely for review (still waiting for my flashlight project post to be 'reviewed').
Instead, you could hop over to Digikey and search for the "Test Clips - IC" category.
I use Nagios a lot, but this seems to be comming very close and somewhere beyond. It would be worth comparing features of Nagios (with which I am very happy for years) and Visualized Jopr (which could solve the problem, Nagios is not available on MS Windows.)
Really advanced stuff.
For what it's worth, pliers have never worked for me to straighten a bent pin; they often break off the pin or crimp it. I use a small bore tube (.020-.060, i.e.16-20 ga hypodermic needle). Just slip it over the pin, and be gentle with the bending force.