Tour : click picture below for previous

Back to Mike's Electric Stuff

Click picture below for next

wpe52.jpg (135662 bytes)wpe149.jpg (163094 bytes)
Probe for in-circuit programming of microcontrollers

I occasionally need to program batches of 10-100 PIC12F629 processors for some products I manufacture on a small scale. The devices are programmed in-circuit before the PCBs are de-panellised. Having tried a few approaches, I settled on using spring-contact test probes in a handheld fixture. These connect to a 'D' shaped cluster of pads - this format fits neatly under the 8-pin SO PIC, so it takes no extra PCB space, and has the advantage that it can only connect one way round.

wpe5E.jpg (103765 bytes) For a long while I used this crude handheld probe assembly. Although effective, it had a few disadvantages - it was uncomfortable to hold, and it was a 2-handed job to hit the key on the PC to start the programming process (I use a DOS setup with the PP06 programmer running from a batch file). It also need to be stored in a protective box to prevent damage to the delicate spring-contact pins.

Probes are from Coda Systems, part no. PA1TX, fitted in RA1S receptacles, allowing easy replacement. (Pins are on a 0.075" pitch). These are a 3-faced design to self-centre and  make good contact with a through-plated PCB hole


wpe55.jpg (177377 bytes)The last time I needed to program a panel of PCBs, I started looking for a better solution. I found this highlighter pen, which, after attacking the end with a bandsaw was big enough to take the probe head, whilst being small enough to be manouverable and for the pins to be easily visible to help alignment.

IMG_2568.JPG (1676352 bytes)
Probe assembly. The 2 small bits of PCB are cut down from spare PCBs from the product being programmed, as these already had the correct hole layout, with the holes drilled out to 0.9mm to take the probe receptacles.


wpe5F.jpg (364109 bytes)3 of the probes were soldered down to a sliver of Microboard prototyping board to provide mounting. An M3 nut was soldered down to hold it in place using a screw into the side of the pen barrel.

A small tactile switch was added to act as a 'start' button'

wpe57.jpg (361345 bytes)Assembled probe. The old pen cap is used as a cover to protect the pins when not in use. The plastic insert was removed to make space.

wpe53.jpg (47513 bytes)wpe56.jpg (75052 bytes)(Left) the button cap - cut down from a small tactile switch cap. This needs to sit inside the pen barrel to allow the probe board to be slid in underneath it.
(right) close-up of the probe assembly. The probe receptacles are soldered to the two PCB fragments to form a rigid structure


wpe58.jpg (429289 bytes)The probe in use. Operation is now one-handed, allowing the other hand to do useful things like drink tea, surf the web, answer the phone etc. while doing the tedious task of programming 100 products.

Note finger at bottom to limit how far down the  probes are pressed.

I hacked up a crude bit of Turbo Pascal to read the switch, which was connected to the SELECT pin (13) of the printer port that the programmer was also attatched to. This is called from the looping batch file that runs the programmer software and provides audible beeps to indicate when programming is finished and pass/fail status, further reducing the amount of attention required for the programming process.

The Pascal source and executable for the switch-reading utility is here. It simply waits until either printer port (at 378, LPT1) pin 13 is connected to ground, or a key is pressed. 

Note that this will not run on win2K & later as it accesses the port hardware directly. The executable also does a beep after seeing the switch. This function is not included in the source as it uses bits of one of my standard libraries that I can't be bothered to extract.

 wpe52.jpg (135662 bytes)wpe149.jpg (163094 bytes)


Click picture above for Previous

Back to Mike's Electric Stuff

Click picture above for next