Modified No-Parts PIC Programmer
When I lost my first rocket altimeter I decided to move away from the BASIC Stamp series of microcontrollers (they are very expensive if you don't ever get them back!) and switch to PICs instead. One of the downsides (in my book at least) was the need for an extra programming board, since the BASIC Stamps are programmed directly via a PC serial port. I scoured the web for cheap and simple PIC programming software and hardware. Eventually I settled on the No-Parts PIC Programmer, or NOPPP.
Unfortunately the original NOPPP software only supports the 16C84, 16F83, and 16F84 PICs, although the hardware should be capable of programming other PICs. After discussions with a few people on the PICList mailing list, I downloaded modified source code from Ben Bromilow's website (which was originally from this website). This version of the software now supports several more PICs. However, I decided that I wanted to use the PIC16F628 for my new altimeter for several reasons: cost (its cheaper than the 16F84 I had been using); extra I/O pins (it can be configured to use 16 I/O ports - not bad on an 18 pin chip!); and the built-in internal oscillator on the 16F628 (minimum external parts, as space is at a premium inside a rocket, and also apparently the accuracy of crystals can suffer when they are vibrating, which is likely to be happenning on board a rocket). Ben Bromilow's modified software did not support the 16F628, but after downloading the datasheet, it was fairly easy to modify the source code to add 16F627/8 support.
One modification I made to the NOPPP hardware was to add a pull-down resistor (510 ohm I think it was) between RB4/PGM (pin 10 on the 18-pin chips) and GND. This apparently ensures that the PIC is programmed in high-voltage mode, as opposed to the low-voltage mode that the 16F62X and 16F87X are capable of. A schematic of this has now been uploaded.
The software now supports the following PICs:
Update. 14th February 2002. (No, I have nothing better do on Valentine's Day!)
For info on using the NOPPP under Linux instead of DOS, see the following pages:
For info on how to adapt the 28-pin and 40-pin F87X series of PICs to the 18-pin socket, see here: