dsPIC33FProg.py
As the name suggests, dsPIC33FProg.py is a simple programmer for the dsPIC33F family of chips. It was written due to a lack of free software for this task, and is designed for use with a single-resistor parallel port programmer, although any programmer could be supported with little difficulty.
Programmer
dsPIC33FProg.py was written for a crude parallel port programmer, consisting of 4 wires and a resistor. The wiring is as follows:
| parport pin | parport pin name | PIC pin | 
| 7 | D5 | MCLR | 
| 8 | D6 | CLK | 
| 9 | D7 | SD via a resistor | 
| 10 | ACK | SD | 
| 18 | GND | GND | 
Parport pins 9 and 10 are connected by a 1k resistor, with the PIC SD pin connected to pin 10.
Quirks
- This program is incredibly basic. It does very little error checking - use at your own risk! I take no responsibility if you fry your expensive development board with this program.
 - This program uses a mixture of 24-bit ints and LSBit-first bit-strings to represent binary codes (if you want to hack about with it).
 - I removed all the delays since it made it faster - it seems a parallel port is sufficiently slow that it doesn't bother the dsPIC.
 - Won't work with dsPIC30Fs - they're subtly different (as I discovered, to my cost!)
 - Turns out you need to to pull MCLR high for the chip to run (if only they told you in the documentation).
 
Download
Released under the GNU GPL.
dsPIC33FProg-0.2.zip (21k)