Programming PIC mounted to PCB

Thread Starter


Joined Oct 1, 2020
I have a few PIC16C57C ICs already mounted to boards that mistakenly were not programmed before mounted. Attaching wires to each lead of the IC and soldering them to header then attempting to program failed our to a program error not open pin so that tells me my connections were good. I also confirmed the IC can properly program by connecting it directly to the programmers headers. However, why do do think they cannot be programmed when already mounted to the boards.

To assist with this issue, I also tried to solder wires directly to a loose IC (not soldered to a board) which also failed.

Is there not enough current to initiate the programming or is data being lost due length of the wires. I’m trying to understand why this will not work.


Joined Aug 21, 2008
Remember to check and see whether any of the pins used for programming are connected to any on-board circuitry that might keep the programmer from being able to control the pin, for example, a 100 uf capacitor to ground or a low value base drive resistor connected to the programming pin. Go through the circuit pin-by-pin to assure that the voltage on every pin used in the programming process is free to wiggle.

I don't know about your particular chip, but sometimes the clock rate of the chip to be programmed is too slow.

Did I mention power supply voltages being in an acceptable range?


Joined Mar 30, 2015
In circuit programming doesn't work unless the board has that feature designed in. If you try to power only the chip you want to program in a board that doesn't support programming, it will power up the rest of the board and you'll be fighting other devices for control.


Joined Jul 10, 2017
You can not program the PIC16C57C by connecting wires directly to the pins because you need external components to activate the clock, either a crystal or ceramic resonator with capacitors or a resistor and capacitor. These components are usually incorporated into the programming module but long leads will prevent the oscillator from working correctly. As Dick mentioned, programming the chip in circuit may not be possible if components are loading the lines used by the programmer.


Joined Jun 26, 2012
Here is the programming spec for the 16C57C. This chip predates ISCP and repurposes various pins for the programming / verify operations. Note the ~13V on MCLR/. OSC1 is used to increment the program counter during programming / verify. The normal oscillator function is not used in programming. This means that the circuitry attached to the PIC is likely fouling the programming operation. See the Electrical Specifications for particulars.
The PIC16C5X Series can be programmed by applying
the 12-bit wide data word to the 12 available I/O pins
while the address is generated by the on-chip Program
Counter. The MCLR/VPP pin provides the programming
supply voltage (VPP). Programming/verify chip enable
is controlled by the T0CKI pin while the OSC1 pin controls
the Program Counter.
I'd pull the chips, blast them then reinstall.
Good luck!


Last edited:

John P

Joined Oct 14, 2008
Since he says "To assist with this issue, I also tried to solder wires directly to a loose IC (not soldered to a board) which also failed" I don't see how components on the board can be having any effect! But if programming requires extra components, he should wire them in and then try again. Use a breadboard or something.

But honestly, it seems to me as if this product needs a redesign, with a more modern processor!