Microchip PIC Programmer ICSP Circuit RequirementsMicrochip do not recommend any particular circuit for ICSP programming. There are diagrams for different tools, such as Pro Mate and PICKit2 with similar circuitry but slight variations. In some schematics, their suggested resistor values are too small, in our opinion, and can cause problems with programmers, even Microchip ones.
Kanda have produced a recommended circuit that will work effectively with our PIC programmer range, and other PIC programmers. This circuit is shown in the diagram below. Please read the notes that explain the circuit and expand on the effect of extra components such as capacitors.
Notes on PIC ICSP Circuit
- Most programmers are designed to provide 3.3V or 5V to the target circuit, but some always supply 5V.
If your circuit operates at a lower voltage then the diode shown on VDD should be fitted to protect the rest
of the circuit. A series resistor may be acceptable instead of the diode in some cases.
The maximum current that the programmer can supply is often limited, so you should fit the diode on VDD if the programmer over-current circuit trips.
- MCLR/VPP pin needs the resistor to VDD. A minimum of 1K should work but 10K is the optimum. PIC16F devices with only VDD first ICSP entry (PIC16F8x/87x/7x/7x7) should be fitted with 4K7 minimum to reduce chance of code run problems before VPP rises. Supervisory circuits or push buttons on MCLR should be isolated from the VPP voltage, by placing them on the VDD side of the resistor or by fitting a Schottky diode on this line as per note 1.
- The 100nF capacitor shown on this pin is optional for HVP but we do recommend that a capacitor is fitted if possible to avoid glitches on MCLR. This is the maximum value, and we recommend something smaller. Larger capacitors may prevent the PIC from entering HVP mode. Do not fit for LVP mode.
- If possible, the Clock and Data lines should be dedicated to ICSP but where this is undesirable,
the application circuit should be isolated from the data and clock lines with series resistors, above 10K.
This is especially important if either of these lines forces the pin as an input or output. In exceptional
cases, series resistors may not be sufficient and a 4053 multiplexer or similar circuit should be used.
Capacitors on these lines should be avoided if at all possible. If they are needed, for noise immunity for example, then the maximum capacitance that all programmers can handle is 1nF, although some are better.
- If LVP mode is used, this resistor must be fitted.
- This line is only needed for Low Voltage Programming - LVP mode.
- PIC18F J parts need a decoupling capacitor between VccCore pin and Ground, typically 100nF.
Kanda Handheld PIC Programmers will provide 3.3V or 5V VDD to target PIC microcontroller circuits. The target circuit can be powered or unpowered. This can be user selected for most PIC microcontrollers but it is fixed to 3.3V for J type PIC microcontrollers and LF parts. The high Voltage programming voltage (VPP) is set to 12V for most PIC devices but is automatically set to 9V for PIC18F K type and newest PIC16F PIC microcontrollers.
Microchip did not define a preferred connector type, so everyone has used something different. We have done adapters for edge connectos, micro USB and many more. The commonest interfaces are 6-pin header, so we supply our pic programmers with 6 flying leads, and RJ11, which is used by tools like IDC2, and we can supply an adapter for this.
See PIC Programmer Guide for our full PIC Programmer range.