My modification of rpp - Raspberry Pi PIC Programmer using GPIO


I'm a big fan of the Raspberry Pi project and I have found a very friendly implementation of the PIC programmer for Raspberry Pi made by Holden.
Holden's rpp is a very nice piece of work - simple but very powerfull - and I really like things like this.
I have made a PCB for it and slightly modified the power source circuit.
So here you can find output of my modifications.
 
 
Photo of my rpp construction - click to enlarge
Photo of my rpp construction - click to enlarge
 
 
My PCB populated with parts and schema of the modiffied power source. I have just added one "safety" diode and one el. capacitor. (Click to enlarge the image.)
Layout + modified pwr source - click to enlarge
 
 
And here is PCB itself - remember that picture is made from TOP view - and real dimensions for printing are 64x25mm.
rpp PCB by tlc - real dimensions are 64x25mm
 
 
I have had to add R15 and Q7 to be able to maintain VDD (+5V) supply to chip via VPP - this is not included at the PCB above! Below is the modified schematics.
I have done this later because sometimes I was not able to communicate with the PIC 12f675 family from rpp programmer. This had hapend in case that chip have been configured to use internal OSC and written code uses pin interrupts. I was able to successfully write code to chip, but from the point when Configuration Word have been successfully written to the chip it was not possible to comunicate with the chip. Chip started to process written code and do not react when VPP have been applied to MCLR pin. There is the diagram in the datasheet showing that VPP should be applied first and after 5us should be applied VDD and during that time CLOCK and DATA have to be LOG 0 - as the sequence for switching to the programing mode. For 12f629 and 12f657 family only ICSP is possible and I think this is why it really needs to be done vith VPP first and than VDD. I know that my modification does not precisely fullfill recomended 5us, but it works ok.
I have added two LEDs to the schematics ("POWER" LED and "BUSY" LED and a jumper. Jumper is needed to be able to switch between 5V (VDD) to be connected permanently to the chip (it is needed fo 16F87x(A) family). Or to be maintained by VPP (12V) signal (it is needed for 12F629/630/675/676 chips). I have tested this circuit with 12F675, 16F627A, 16F877A, 12F629, 16F628A, 16F887, 16F630 chips till now and it works ok.

So there is the modified schematics. (Click to enlarge the image.)
Modified rpp schema - click to enlarge
 
 
Source code of rrp with my modifications.
Added support for PICs 12F629, 16F630, 12F675, 16F676 - including preserve or overwrite OSCCAL and BG bits option.
And support for PICs 16F87xA family.
Version changed to 0.2 (19-Mar-2013) and tested with chips: 12F675, 16F627a, 16F877a.
 
Added support for PIC 16F88x family and option for erase/write EEPROM DATA memory only.
Version changed to 0.3 (30-Mar-2013) and tested with chips: 12F675, 16F627a, 16F877a, 12F629, 16F628a, 16F887, 16F630.
 
Download rpp-tlc030.tgz - 1054b21704b7e85edf48f0484f6437ca (Sat, 30 Mar 2013)
Download new rpp-tlc.c - added autodetection of Pi1/Pi2 and device_tree (Mon, 2 Mar 2015)
 
Please note that rpp is still in development and it should be considered beta software.
 
Raspberry Pi PIC Programmer, v0.3 (March 2013)

Usage: rpp [options]
       -h          print help
       -D          turn debug on
       -i file     input file
       -o file     output file (ofile.hex)
       -r          read chip
       -w          bulk erase and write chip
       -e          bulk erase chip
       -W          bulk erase and write chip EEPROM data memory only
       -E          bulk erase chip EEPROM data memory only
       -s          skip all-ones memory locations during read
       -f          do NOT preserve OSCCAL and BG bits for 12F629 family

Supported PICs:
      pic16f84a     pic16f627a     pic16f628a     pic16f648a      pic16f870
      pic16f871      pic16f872      pic16f873      pic16f874      pic16f876
      pic16f877      pic12f629      pic12f675      pic16f630      pic16f676
     pic16f873a     pic16f874a     pic16f876a     pic16f877a      pic16f882
      pic16f883      pic16f884      pic16f886      pic16f887

Original version of rpp - made by Holden.
 
 
Photo of my final rpp construction - click to enlarge
Photo of my final rpp construction - click to enlarge
 
 
Pinouts of my favourite PICs and programming mode pin functions:
PICs pinouts and programming mode pin functions
 
 
I hope this could be usefull for someone...

Zpet    Back


Last update - april 2015

Created with Vim!    Valid HTML 4.01!    Best viewed with...