M. T. Homer Reid MIT Home Page
Physics Problems Research My Music About Me Miscellany

Modifying PIC16xx programmers to program dsPIC chips

January 26, 2005

Programmers designed to work with the PIC16xx or PIC18xx series of microcontrollers are easily modified to support the dsPIC series as well. As an example, on this page we'll document how to modify a programmer designed for the PIC16F870 to work with the dsPIC30F2010. As shown in the figures below, the MCLR/VPP, VDD, and VSS pins are in the same places on the two chips, but the clock and data pins used for serial programming are different.

pic16F870 dspic30f2010
Pins used for flash programming on the PIC16F870 Pins used for flash programming on the dsPIC30F2010

So if your programmer has a 28-pin socket for programming PIC16F870s, just run wires to connect pin 18 to pin 27 and pin 17 to pin 28, and the resulting socket will be ready to program the dsPIC30F2010. The only caveat is that pins 27 and 28 are AVSS and AVDD, the analog supplies, on the dsPIC. The internal circuitry of the chip appears to be such that these analog supplies are not fully isolated from the digital supplies, so if you put the dsPIC in the socket as is then the serial clock and data lines will be shorted to the supplies and the programmer won't work. There are two solutions:


Modifying PIC16xx programmers to burn dsPICs, by Homer Reid
Last Modified: 07/30/09