How to program a PIC16F84A with PICkit
or other ICSP programmers

Michael A. Covington
Institute for Artificial Intelligence
The University of Georgia
Covington Innovations
Athens, Georgia

2019 July 15

In general, to perform in-circuit serial programming (ICSP) of a PIC microcontroller, all you have to do is connect it to the PICkit or similar programmer like this:


Here's the diagram with the actual pin locations of the PIC16F84A:


This can be done on a breadboard, but I built mine in permanent form for repeated use (see top of page). The 0.1-F capacitor is icing on the cake; it is not strictly necessary, since there should be a capacitor inside the programmer. But it could provide greater reliability under some circumstances.

Next, you need to get your PICkit 2, 3, or 4 working and connected. The PICkits 3 and 4 are supported by MPLAB X; the PICkit 2 is supported only by its own programming software, available from Microchip's archive of older downloads.

Each PICkit has more than 5 connectors, but only the first 5 are used, beginning with pin 1.

Programmers that do not provide +12V for programming, such as the ersatz PICkit 3 on the 8-bit Curiosity board, will not program the PIC16F84A because it does not support low-voltage programming.

Return to Dr. Michael A. Covington

Return to Institute for Artificial Intelligence home page