Difference between revisions of "GPIO Pinout"

From HiveTool
Jump to: navigation, search
(Color Legend)
(GPIO ordered by Header Pins)
Line 53: Line 53:
 
       <tr><td bgcolor="#44ff44">Reserved DHT22</td></tr>
 
       <tr><td bgcolor="#44ff44">Reserved DHT22</td></tr>
 
       <tr><td bgcolor="#44ff44">Reserved Power DHT22</td></tr>
 
       <tr><td bgcolor="#44ff44">Reserved Power DHT22</td></tr>
       <tr><td bgcolor="#cceecc">Unused</td></tr>
+
       <tr><td bgcolor="#bb55bb">Reserved SPI</td></tr>
       <tr><td bgcolor="#cceecc">Unused</td></tr>
+
       <tr><td bgcolor="#bb55bb">Reserved SPI</td></tr>
       <tr><td bgcolor="#cceecc">Unused</td></tr>
+
       <tr><td bgcolor="#bb55bb">Reserved SPI</td></tr>
 
       <tr><td bgcolor="#cceecc">Unused</td></tr>
 
       <tr><td bgcolor="#cceecc">Unused</td></tr>
 
       <tr><td bgcolor="#eecccc">Reserved ID EEPROM</td></tr>
 
       <tr><td bgcolor="#eecccc">Reserved ID EEPROM</td></tr>
Line 78: Line 78:
 
       <tr><td bgcolor="#cceecc">GPIO 3</td></tr>
 
       <tr><td bgcolor="#cceecc">GPIO 3</td></tr>
 
       <tr><td bgcolor="orange">3.3 VDC Power</td></tr>
 
       <tr><td bgcolor="orange">3.3 VDC Power</td></tr>
       <tr><td bgcolor="#cceecc">GPIO 12 SPI0 MOSI</td></tr>
+
       <tr><td bgcolor="#bb55bb">GPIO 12 SPI0 MOSI</td></tr>
       <tr><td bgcolor="#cceecc">GPIO 13 SPI0 MISO</td></tr>
+
       <tr><td bgcolor="#bb55bb">GPIO 13 SPI0 MISO</td></tr>
       <tr><td bgcolor="#cceecc">GPIO 14 SPI0 SCLK</td></tr>
+
       <tr><td bgcolor="#bb55bb">GPIO 14 SPI0 SCLK</td></tr>
 
       <tr><td bgcolor="#555555">Ground</td></tr>
 
       <tr><td bgcolor="#555555">Ground</td></tr>
 
       <tr><td bgcolor="#eecccc">GPIO 30 I2C0_SDA</td></tr>
 
       <tr><td bgcolor="#eecccc">GPIO 30 I2C0_SDA</td></tr>
Line 103: Line 103:
 
       <tr><td bgcolor="#cceecc">GPIO 22</td></tr>
 
       <tr><td bgcolor="#cceecc">GPIO 22</td></tr>
 
       <tr><td bgcolor="orange">3.3 VDC Power</td></tr>
 
       <tr><td bgcolor="orange">3.3 VDC Power</td></tr>
       <tr><td bgcolor="#cceecc">GPIO 10 SPI0 MOSI</td></tr>
+
       <tr><td bgcolor="#bb55bb">GPIO 10 SPI0 MOSI</td></tr>
       <tr><td bgcolor="#cceecc">GPIO 09 SPI0 MISO</td></tr>
+
       <tr><td bgcolor="#bb55bb">GPIO 09 SPI0 MISO</td></tr>
       <tr><td bgcolor="#cceecc">GPIO 11 SPI0 SCLK</td></tr>
+
       <tr><td bgcolor="#bb55bb">GPIO 11 SPI0 SCLK</td></tr>
 
       <tr><td bgcolor="#555555">Ground</td></tr>
 
       <tr><td bgcolor="#555555">Ground</td></tr>
 
       <tr><td bgcolor="#eecccc">GPIO 0 I2C0_SDA</td></tr>
 
       <tr><td bgcolor="#eecccc">GPIO 0 I2C0_SDA</td></tr>
Line 155: Line 155:
 
       <tr><td bgcolor="#555555">Ground</td></tr>
 
       <tr><td bgcolor="#555555">Ground</td></tr>
 
       <tr><td bgcolor="cceecc">GPIO 25</td></tr>
 
       <tr><td bgcolor="cceecc">GPIO 25</td></tr>
       <tr><td bgcolor="cceecc">GPIO 8 SPI0_CE0</td></tr>
+
       <tr><td bgcolor="bb55bb">GPIO 8 SPI0_CE0</td></tr>
       <tr><td bgcolor="cceecc">GPIO 7 SPI0_CE1</td></tr>
+
       <tr><td bgcolor="bb55bb">GPIO 7 SPI0_CE1</td></tr>
 
       <tr><td bgcolor="eecccc">GPIO 1 I2C0_SCL</td></tr>
 
       <tr><td bgcolor="eecccc">GPIO 1 I2C0_SCL</td></tr>
 
       <tr><td bgcolor="#555555">Ground</td></tr>
 
       <tr><td bgcolor="#555555">Ground</td></tr>
Line 180: Line 180:
 
       <tr><td bgcolor="#555555">Ground</td></tr>
 
       <tr><td bgcolor="#555555">Ground</td></tr>
 
       <tr><td bgcolor="cceecc">GPIO 6</td></tr>
 
       <tr><td bgcolor="cceecc">GPIO 6</td></tr>
       <tr><td bgcolor="cceecc">GPIO 10 SPI0_CE0</td></tr>
+
       <tr><td bgcolor="bb55bb">GPIO 10 SPI0_CE0</td></tr>
       <tr><td bgcolor="cceecc">GPIO 11 SPI0_CE1</td></tr>
+
       <tr><td bgcolor="bb55bb">GPIO 11 SPI0_CE1</td></tr>
 
       <tr><td bgcolor="eecccc">GPIO 31 I2C0_SCL</td></tr>
 
       <tr><td bgcolor="eecccc">GPIO 31 I2C0_SCL</td></tr>
 
       <tr><td bgcolor="#555555">Ground</td></tr>
 
       <tr><td bgcolor="#555555">Ground</td></tr>
Line 205: Line 205:
 
       <tr><td bgcolor="#cceecc">Unused</td></tr>
 
       <tr><td bgcolor="#cceecc">Unused</td></tr>
 
       <tr><td bgcolor="#cceecc">Unused</td></tr>
 
       <tr><td bgcolor="#cceecc">Unused</td></tr>
       <tr><td bgcolor="#cceecc">Unused</td></tr>
+
       <tr><td bgcolor="#bb55bb">Reserved SPI</td></tr>
       <tr><td bgcolor="#cceecc">Unused</td></tr>
+
       <tr><td bgcolor="#bb55bb">Reserved SPI</td></tr>
 
       <tr><td bgcolor="#eecccc">Reserved ID EEPROM</td></tr>
 
       <tr><td bgcolor="#eecccc">Reserved ID EEPROM</td></tr>
 
       <tr><td bgcolor="#cceecc">Unused</td></tr>
 
       <tr><td bgcolor="#cceecc">Unused</td></tr>

Revision as of 13:09, 16 January 2016

General Purpose Input Output (GPIO)

This page is to identify the alternate functions of the Raspberry Pi GPIO and to keep Hivetool developers from stepping on each other by reserving pins for Hivetool hardware.

Notes

  1. GPIO pins are 3.3 volt logic levels and are not tolerant of 5V levels
  2. THE GPIO PINS ARE NUMBERED TWO DIFFERENT WAYS, Broadcom and RPi.
  3. These GPIO properties are set as a block, not per pin (GPIO pins 0-27 are in the same block).
    1. Can interrupt based on high/low/rise/fall/change.
    2. Schmitt Trigger Input (hysteresis) can be on or off,
    3. Output slew rate can be fast or limited, and
    4. Source and sink currents are configurable from 2 mA up to 16 mA.
  4. ID_SD and ID_SC PINS are reserved for ID EEPROM.
    At boot time this I2C interface will be interrogated to look for an EEPROM that identifies the attached board and allows
    automagic setup of the GPIOs (and optionally, Linux drivers).
    DO NOT USE these pins for anything other than attaching an I2C ID EEPROM. Leave unconnected if ID EEPROM not required.

Color Legend

Color Legend
3.3 VDC PowerSerial Console/PowerI2S Audio
5 VDC PowerHX711 ScaleHAT ID ROM
GroundDHT22 Temp/Hum.I2C Sensors
Unused1-WireSPI


Light green signals labeled "Unused" are available for development. Other colors are being used or are reserved for sensor families. A rain gauge and tilt sensor need to be implemented.


GPIO ordered by Header Pins

THE GPIO PINS ARE REFERRED TO BY TWO DIFFERENT NAMING CONVENTIONS, Broadcom and RPi

The first 26 pins on J8 (A+ and B+ models) are the same as H1 on the A and B models.

Hivetool
Reserved for I2C Sensors
Reserved for I2C Sensors
Reserved for I2C Sensors
Reserved for 1-wire
Reserved for I2C Sensors
Unused
Reserved DHT22
Reserved DHT22
Reserved Power DHT22
Reserved SPI
Reserved SPI
Reserved SPI
Unused
Reserved ID EEPROM
Unused
Unused
Unused
Reserved I2S
Unused
Unused
R Pi
3.3 VDC Power
GPIO 8 I2C SDA
GPIO 9 I2C SCL
GPIO 7 GPCLK0
Ground
GPIO 0
GPIO 2
GPIO 3
3.3 VDC Power
GPIO 12 SPI0 MOSI
GPIO 13 SPI0 MISO
GPIO 14 SPI0 SCLK
Ground
GPIO 30 I2C0_SDA
GPIO 21 GPCLK1
GPIO 22 GPCLK2
GPIO 23 PWM1
GPIO 24 PCM_FS
GPIO 25
Ground
Broadcom
3.3 VDC Power
GPIO 2 I2C SDA
GPIO 3 I2C SCL
GPIO 4 GPCLK0
Ground
GPIO 17
GPIO 27
GPIO 22
3.3 VDC Power
GPIO 10 SPI0 MOSI
GPIO 09 SPI0 MISO
GPIO 11 SPI0 SCLK
Ground
GPIO 0 I2C0_SDA
GPIO 5 GPCLK1
GPIO 6 GPCLK2
GPIO 13 PWM1
GPIO 19 PCM_FS
GPIO 26
Ground
J8
12
34
56
78
910
1112
1314
1516
1718
1920
2122
2324
2526
2728
2930
3132
3334
3536
3738
3940
Broadcom
5 VDC Power
5 VDC Power
Ground
GPIO 14 TXD
GPIO 15 RXD
GPIO 18 PCM_CLK
Ground
GPIO 23
GPIO 24
Ground
GPIO 25
GPIO 8 SPI0_CE0
GPIO 7 SPI0_CE1
GPIO 1 I2C0_SCL
Ground
GPIO 12 PWM0
Ground
GPIO 16
GPIO 20 PCM_DIN
GPIO 21 PCM DOUT
R Pi
5 VDC Power
5 VDC Power
Ground
GPIO 15 TXD
GPIO 16 RXD
GPIO 1 PCM_CLK
Ground
GPIO 4
GPIO 5
Ground
GPIO 6
GPIO 10 SPI0_CE0
GPIO 11 SPI0_CE1
GPIO 31 I2C0_SCL
Ground
GPIO 26 PWM0
Ground
GPIO 27
GPIO 28 PCM_DIN
GPIO 29 PCM DOUT
Hivetool
Reserved Power HX711
Reserved Power
Reserved Ground
Reserved serial console
Reserved serial console
Reserved I2S
Reserved HX711
Reserved HX711
Reserved HX711
Unused
Unused
Reserved SPI
Reserved SPI
Reserved ID EEPROM
Unused
Unused
Unused
Unused
Reserved I2S
Reserved I2S



Output of wiringPi gpio command (sudo gpio readall):

 +-----+-----+---------+------+---+--B Plus--+---+------+---------+-----+-----+
| BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
|     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
|   2 |   8 |   SDA.1 | ALT0 | 1 |  3 || 4  |   |      | 5V      |     |     |
|   3 |   9 |   SCL.1 | ALT0 | 1 |  5 || 6  |   |      | 0v      |     |     |
|   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
|     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
|  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | OUT  | GPIO. 1 | 1   | 18  |
|  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
|  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
|     |     |    3.3v |      |   | 17 || 18 | 0 | OUT  | GPIO. 5 | 5   | 24  |
|  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
|   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 1 | IN   | GPIO. 6 | 6   | 25  |
|  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
|     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
|   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
|   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
|   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
|  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
|  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
|  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
|     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
+-----+-----+---------+------+---+--B Plus--+---+------+---------+-----+-----+



GPIO ordered by Signal Name

BroadcomAlt FunctionJ8H1H5
3.3 VDC Power113
3.3 VDC Power1717
5 VDC Power221
5 VDC Power44
GPIO 0I2C0_SDA27
GPIO 1I2C0_SCL28
GPIO 2I2C1 SDA33
GPIO 3I2C1 SCL55
GPIO 4GPCLK077
GPIO 5GPCLK129
GPIO 6GPCLK231
GPIO 7SPI0 CE12626
GPIO 8SPI0 CE02424
GPIO 9 SPI0 MISO2121
GPIO 10SPI0 MOSI1919
GPIO 11SPI0 SCLK2323
GPIO 12PWM032
GPIO 13PWM133
GPIO 14UART0 TXD88
GPIO 15UART0 RXD1010
GPIO 1636
GPIO 171111
GPIO 18PCM_CLK1212
GPIO 19PCM_FS35
GPIO 20PCM_DIN38
GPIO 21PCM DOUT40
GPIO 221515
GPIO 231616
GPIO 241818
GPIO 252222
GPIO 2637
GPIO 271313
GPIO 28I2C0_SDA3
GPIO 29I2C0_SCL4
GPIO 305
GPIO 316
Ground667
Ground998
Ground1414
Ground2020
Ground2525
Ground30
Ground34
Ground39

Resources

  1. eLinux.org RPi Low-level peripherals
  2. Raspberry Pi B+ Reduced Schematic
  3. eLinux.org BCM2835 GPIO functions
  4. BCM2835 Data Sheet (Manual)
  5. eLinux.org BCM2835 datasheet errata
  6. Hardware attached on Top
  7. WiringPi Alternate GPIO Assignments