 
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.
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
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.

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.
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'
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.
 (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
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.
 
|