Skip to content

Raspberry Pi pin outs

Nigel Johnson edited this page Dec 28, 2019 · 1 revision

The custom PCB I have built has gone through various iterations and things have moved around a bit with trying to optimize the board space and access to the pins. I only have access to Fritzing for designing PCBs so I'm limited in the tracks and things I can layout. When setting up the GPIO you probably want to set it up to this so things will work out of the box.

The latest version of the board is 2.1g and is outlined below. I could add another bank of pins, but I am using the place where they would attach so will need a much bigger board, meaning a much bigger case, and maybe a much bigger Pi for all the new sensor or triggers I want.

Pinout defintion

Things to note:

  • All of the sensors are 3v3 sensors and the data lines are attached to the pin labelled.
  • All of the sensor pins require 10k pull-up resistors. If you use a DHT11/22 breakout it will have a resistor on board, but it doesn't harm it to have another 10k across it.
  • The MH-Z19B is a 5v supply voltage but supplies 3v3 UART connections so is fine.
  • The button doesn't have polarity, but the pin expects to be grounded to be 'pushed'.
  • All of the triggers have a ground and the listed pin supplies 3v3 positive signal, load resistor seem to not be required for the relays I'm using.
  • The LED pin is 3v3 and probably requires a load resistor, 330 ohm is pretty good generally.

The board version pin-outs are listed below.

2.1g Pinouts (plus the MH-Z19B on the serial port)

setupGpio(): runtime_version = 2.1g
setupGpio(): sensor_pin_1 = 4
setupGpio(): sensor_pin_2 = 17
setupGpio(): sensor_pin_3 = 7
setupGpio(): sensor_pin_4 = 22
setupGpio(): trigger_pin_1 = 18
setupGpio(): trigger_pin_2 = 23
setupGpio(): trigger_pin_3 = 24
setupGpio(): trigger_pin_4 = 25
setupGpio(): trigger_pin_5 = 8
setupGpio(): trigger_pin_6 = 11
setupGpio(): button_pin = 10
setupGpio(): led_pin = 9

2.1f Pinouts (plus the MH-Z19B on the serial port)

setupGpio(): runtime_version = 2.1f
setupGpio(): sensor_pin_1 = 4
setupGpio(): sensor_pin_2 = 17
setupGpio(): sensor_pin_3 = 7
setupGpio(): sensor_pin_4 = 22
setupGpio(): trigger_pin_1 = 18
setupGpio(): trigger_pin_2 = 23
setupGpio(): trigger_pin_3 = 24
setupGpio(): trigger_pin_4 = 25
setupGpio(): trigger_pin_5 = 8
setupGpio(): trigger_pin_6 = 11
setupGpio(): button_pin = 9

2.0c Pinouts (requires additional 330-ohm load off-board for the LED)

setupGpio(): runtime_version = 2.0c
setupGpio(): sensor_pin_1 = 4
setupGpio(): sensor_pin_2 = 17
setupGpio(): sensor_pin_3 = 7
setupGpio(): trigger_pin_1 = 18
setupGpio(): trigger_pin_2 = 23
setupGpio(): trigger_pin_3 = 24
setupGpio(): trigger_pin_4 = 25
setupGpio(): button_pin = 9
setupGpio(): led_pin = 10

2.0b Pinouts

setupGpio(): runtime_version = 2.0b
setupGpio(): sensor_pin_1 = 4
setupGpio(): sensor_pin_2 = 17
setupGpio(): sensor_pin_3 = 7
setupGpio(): trigger_pin_1 = 18
setupGpio(): trigger_pin_2 = 23
setupGpio(): trigger_pin_3 = 24
setupGpio(): trigger_pin_4 = 25
setupGpio(): button_pin = 9

2.0 Pinouts

setupGpio(): runtime_version = 2.0
setupGpio(): sensor_pin_1 = 4
setupGpio(): trigger_pin_1 = 17
setupGpio(): trigger_pin_2 = 18
setupGpio(): button_pin = 14