Building the PIC Programmer

I’ve built the little NoPPP programmer. The only problem with the thing is it has no flashing lights of any kind! So I put in two LEDs, one to indicate power and the other to indicate programming voltage.
You’ll also notice that there is no PIC socket in my programmer. That’s because I am going to be doing in-circuit programming.
The NoPPP test mode was very handy in finding a couple of problems with my setup. The biggest problem was the LED I added to indicate programming voltage was draining too much current and the programming voltage dropped to about 8 volts. That was too low so I added another transistor specifically to drive the LED and all is fine.
Then I wired my PIC onto a board and tried to program it. No luck. The verify failed although chip erase seemed to work.
I tested all the voltages again with my voltmeter. Everything seemed fine. Perhaps my PIC was bad. It was brand new so that would be unlikely. I decided it was time for more analysis. I got out my dusty old rusty old CRO and had a poke around. All the data signals looked fine so I kept looking. Finally I found it, the programming voltage would drop to 6V when the chip was being programmed. This only happened for about a quarter of a second which is why I didn’t see it on my voltmeter. When the programmer was in test mode, the voltage was OK. The only difference I could spot was that in test mode, the PIC was not switched into the circuit. It sounded like my PIC might be internally shorted.
I still wasn’t ready to believe that the PIC was faulty. I checked my wiring again. Found it! There was an almost invisibly tiny solder bridge between the programming voltage pin and an I/O pin. So, once fixed, the program could be downloaded just fine.
Next I attached a LED to a random I/O pin and ran the test program that comes with NoPPP. The LED started flashing furiously. It’s a wonderful feeling when something works!
