This page describes the role of the Raspberry Pi 4B in this project as well as key technical information that is relevant to developers in this project.
Pin diagram from [1].
Technical Specs
An in-depth look at the technical specifications for the Pi can be found on the official Raspberry Pi website, however some key specs are listed here for convenience.
Power In
- The Pi requires 5V +/- 0.1V (VERY precise compared to an Arduino, for example).
- The current requirements may vary, but a safe bet is to say that the Pi requires 1A. It can take a maximum of 3A.
- It is recommended to power the Pi using the USB-C port.
- For the reasons listed above, I recommend using an official Raspberry Pi power supply that connects to a wall outlet.
Power Out
- There are two voltage rails on the Pi: a 5V rail and a 3.3V rail.
- Each GPIO pin (as well as the 3.3V rail) can only output a total current of 50mA each, with a total combined maximum of 300mA. [2]
- The 5V rail can only supply a maximum of 1A - [total board draw]. This is because the 5V rail comes straight from the USB source, in parallel with the Pi itself. [2]
GPIO
- There are 26 available GPIO pins to use. Care must be taken to ensure that GPIOs that have special purposes (ex: MOSI, SDA, PWM, etc.) are matched with the appropriate pins on the Pi. (See pin diagram above.)
Temperature Requirements
- The Pi will operate normally from 0-70°C, however it is good practice to shoot for 50°C when you can. [3]
RAM and Storage Requirements
The Raspberry Pi 4B+ can be have 2GB, 4GB, and 8GB RAM. It requires a MicroSD card for storage, however there is no hard upper limit. Instead, there is a comprehensive list that demonstrates compatibility with many of the most common MicroSD card models.
All of the early development for this project was performed on a Pi with 4GB RAM and a SanDisk Edge16GB MicroSD card (provided from a Pi starter kit), and there were never any space issues.