In Circuit Serial Programming

PICALL Programmer v3.1 ICSP Adapter for Microchip PICs
PICALL 3.1 with homebrew ISCP adapter.

This is an in-circuit serial programming adapter to facilitate programming the Microchip(R) PIC brand microcontrollers via the PICALL v3.1 hardware.

 * CAUTION * Improper usage of this adapter may damage the PICALL or your target circuit. Recommended for advanced users only. I have not tested this with all PICs, no warranty, etc.

An ICSP adapter allows a PIC to be programmed without being removed from it's circuit. This design allows the PICALL programmer v3.1 to program most PICs in-circuit with a good margin of safety. It may work with other previous hardware versions without the dedicated ICSP port, but this is totally untested. Feedback would be helpful.

Here's what you need:

  • 1 DIP-40 socket with machined pins, preferably phenolic (plastic melts easily!)
  • 1 pair of 6-pin connectors, SIP-6 works fine
  • some 6-conductor wire, IDE ribbon cable works well, the micro-pitch stuff is nice but hard to solder.
  • 1 33k resistor
  • 1 2.2k resistor
  • 1 1.2k 1% resistor
  • 3 470-ohm resistors
  • 1 47-ohm 1% resistor
  • 1 0.01uF ceramic disc capacitor
  • 3 1N5817 schottky diodes

I simply soldered the components to the DIP socket. The cable can be wired however you like, and might benfit from some kind of keying or polarity protection. An alternative adapter idea might be to make a small PCB the size of the DIP40 and replace the socket with that. Then SMT components could be used, further reducing the size.

Note D3 is missing from this prototype.
Here is a photo of a complete adapter.

The ribbon wires were stripped with a razor blade.
Close-up. D3 is not installed on this prototype yet.

 Hot-melt glue is used to secure the ribbon cable to the socket and to provide strength in the plug connection.

3M brand hot-melt glue is great stuff!
And the plug detail.

 The wiring schematic is as follows:

  Notes:

  • Only use the ICSP adapter when "ISP" is checked in PICALL software.
  • Target circuit can be on or off when programmed.
  • If the target circuit consumes little power, the ICSP adapter will power the PIC completely during programming.
  • Otherwise a 1N5817 could be used in the target circuit to allow the ICSP to power only the PIC.
  • This was tested using about 16 inches of wire, but shorter is better.
  • Make sure the PICALL software is set to automatically detect the communication speed as the timing is different with the ICSP adapter.
  • Remember the LVP pin (if enabled in fuses) cannot be used for anything else.

  Have fun!

  Mark Jones
  Helios Studios