36 ICSP - In-Circuit Serial Programming

ICSP programming allows customers to manufacture circuit boards with unprogrammed devices. Programming can be done after the assembly process, allowing the device to be programmed with the most recent firmware or a custom firmware. Five pins are needed for ICSP programming:

  • ICSPCLK
  • ICSPDAT
  • MCLR/VPP
  • VDD
  • VSS

In Program/Verify mode, the program memory, User IDs and the Configuration Words are programmed through serial communications. The ICSPDAT pin is a bidirectional I/O used for transferring the serial data, and the ICSPCLK pin is the clock input. For more information on ICSP, refer to “Memory Programming Specification” (DS40001772).