This is an old revision of the document!
Table of Contents
Raspberry Pi
The Raspberry Pi is a cheap and simple Linux compatible computer with high speed GPIO. Read all about it here.
GPIO
The board has male GPIO header pins. The plus models and version 2 have 40 pins, the original models 26 pins.
+---P1---+ 3V3 01 02 5V GPIO0/GPIO2 03 A/A+ 04 5V GPIO1/GPIO3 05 B/B+ 06 GND GPIO4 07 08 GPIO14/TX GND 09 10 GPIO15/RX GPIO17 11 12 GPIO18 GPIO21/GPIO27 13 14 GND GPIO22 15 16 GPIO23 3V3 17 18 GPIO24 GPIO10 19 20 GND GPIO9 21 22 GPIO25 GPIO11 23 24 GPIO8 GND 25______26 GPIO7 EEPROM ID_SD 27 28 EEPROM ID_SC GPIO5 29 A+ 30 GND GPIO6 31 B+ 32 GPIO12 GPIO13 33 34 GND GPIO19 35 36 GPIO16 GPIO26 37 38 GPIO20 GND 39 40 GPIO21 +--------+
Ribbon cables may be used to extend the GPIOs. In this instance a female presentation will be given.
For the older models, a 26-pin ribbon is needed, this is much like an old midi daughter-board cable.
_________________________________________ / / -----------------------------------------+ | 7 8 25 0V 24 23 0V 18 15 14 0V 5V 5V | | | | | | 0V 11 9 10 3V 22 27 17 0V 4 3 2 3V |1 +-------------------__-------------------+
For PLUS and version 2 models an old style 40-pin IDE ribbon cable may be re-purposed as a GPIO extension.
______________________________________________________________ / / +-------------------------------------------------------------+ | 21 20 16 0V 12 0V SC 7 8 25 0V 24 23 0V 18 15 14 0V 5V 5V | | | | | | 0V 26 19 13 6 5 SD 0V 11 9 10 3V 22 27 17 0V 4 3 2 3V |1 +-----------------------------___-----------------------------+
Pickle Microchip PIC ICSP
High Voltage Programming with Vellman K8048
Low Voltage Programming with VPP at 3V3
The following connections refer to the R-PI GPIO header directly. Ensure that power is only ever applied from GPIO 3V3 on PIN 1 and never 5V.
Single common data I/O connection (RPI or GPIO bit-bang driver for R-PI & OpenWRT)
R-PI PICMicro GPIO header .k8048 ==== ======== =========== ====== 3V3-------------------------------VDD--+ PIN 1 (P1-01) | GND-------------------------------VSS R1 PIN 6 | GPIO04--------R3-470R-------------VPP--+ PIN 7 VPP=4 GPIO25--------R4-470R-------------PGC PIN 22 PGC=25 GPIO24--------R5-470R-------------PGD PIN 18 PGD=24 GPIO22--------R6-470R-------------PGM--R2-+ PIN 15 PGM=22 | /// (R1) 10K !MCLR pull-up (R2) 10K where appropriate (PGM is not present on all devices). (R3..R6) 470R.
Display LVP device identity without PGM
p16 lvp id [000000] [PROGRAM] 10000 WORDS [01FFF8] [CONFIG1] F7BA [01FFFA] [CONFIG2] FA10 [01FFFC] [CONFIG3] F8F1 [01FFFE] [CONFIG4] F980 [3FFFFE] [DEVICEID] 5A61 DEV:5A60 (5A:3) REV:1 PIC18LF27J53
Display LVP device identity with PGM
p14 id [0000] [PROGRAM] 2000 WORDS [2000] [USERID0] 0001 . [2001] [USERID1] 0002 . [2002] [USERID2] 0003 . [2003] [USERID3] 0004 . [2004] [RESERVED] 3FFF . [2005] [RESERVED] 3FFF . [2006] [DEVICEID] 2062 DEV:2060 (103) REV:2 PIC16F886 [2007] [CONFIG1] 30E2 [2008] [CONFIG2] 3EFF [2009] [CALIB] 2278 [2100] [DATA] 0100 BYTES
Program and verify LVP device with PGM
p14 program pic16f886.hex Total: 732 p14 verify pic16f886.hex Total: 732 Fail: 0