Table of Contents

Raspberry Pi Fog Class Devices Hardware Review

 General audience classification icon  General audience classification icon

Hardware

Hardware boards (depending on the manufactured model) contain interfaces: Ethernet, Bluetooth, WiFi, USB, AUDIO, HDMI and GPIO ports [1]. The Raspberry Pi boards have evolved through several versions varying in memory capacity, System on Chips (SoC) and processor units. The first generation models of Raspberry Pi used the Broadcom BCM2835 (ARMv6 architecture) based on a 700 MHz ARM11176JZF-S processor and VideoCore IV graphics processing Unit (GPU). Models Pi 1 and B+, developed later, use the five-point USB/Ethernet hub chip, while the Pi 1 Model B only contains two. The Pi Zero USB port is connected directly to the SoC and uses the (OTG) micro USB port.

Processor

The first Raspberry Pi 2 models use the 900 MHz Broadcom BCM2836 SoC 32-bit quad-core ARM Cortex-A7 processor with a shared 256 KB L2 cache. After these earlier models, the Raspberry Pi 2 V1.2 has been upgraded to a Broadcom BCM2837 SoC equipped with a 1.2 GHz 64-bit quad-core ARM Cortex-A53 processor. Next, the Raspberry Pi 3 series uses the same SoC. They use the Broadcom BCM2837 SoC with a 1.2 GHz 64-bit quad-core ARM Cortex-A53 processor with a 512 KB shared L2 cache. The Raspberry Pi 3B+ uses the same processor (BCM2837B0) running at 1.4 GHz. The Raspberry Pi 4 is based on Broadcom BCM2711, a quad-core Cortex-A72 64-bit SoC at 1.5 GHz. Raspberry Pi 5 works with a maximum of 2.4GHz. The following Raspberry Pi generations will be increasingly powerful, but their power consumption is also rising, forcing developers to use CPU and GPU heatsinks and more robust power sources.

RAM

The initial Raspberry Pi boards were designed with 128 MB RAM, which was allocated between the GPU and CPU by default. In the newer edition (including Model B and Model A), the RAM was extended to 256 MB and split into the regions. The default split was 192 MB (RAM for CPU), which is sufficient for standalone 1080p video decoding or 3D modelling. Models B with 512 MB RAM initially, memory was split into files released (arm256_start.elf, arm384_start.elf, arm496_start.elf) for 256 MB, 384 MB and 496 MB CPU RAM (and 256 MB, 128 MB and 16 MB video RAM). The Raspberry Pi 2 and 3 are shipped with 1 GB of RAM. The Raspberry Pi 4 can have 1, 2, 4 or even 8 GB of RAM. The Raspberry Pi Zero and Zero W contains 512 MB of RAM.

Networking

The Model A, A+ and Pi Zero have no dedicated Ethernet interface and can be connected to a network using an external USB Ethernet or WiFi adapter. In Models B and B+, the Ethernet port is built-in to the USB Ethernet adapter using the SMSC LAN9514 chip. The Raspberry Pi 3 and Pi Zero W (wireless) models are equipped with 2.4 GHz WiFi 802.11n (150 Mbit/s) and Bluetooth 4.1 (24 Mbit/s) based on Broadcom BCM43438 FullMAC chip. The Raspberry Pi 3 also has a 10/100 Ethernet port. The latest Raspberry Pi 4 contains a dual band 2.4 / 5 GHz WiFi network adapter (IEEE 802.11ac), Bluetooth 5.0, and Gigabit Ethernet.

Peripherals

The Raspberry Pi may be controlled with any generic USB keyboard and mouse. It can also use USB storage, USB to MIDI converters, and virtually any other device/component which is USB compatible. Other peripherals can be attached through the various pins and connectors on the surface of the Raspberry Pi.

Video subsystem

The video controller supports standard modern TV resolutions, such as HD and Full HD, and higher. It can emit 640 × 350 EGA; 640 × 480 VGA; 800 × 600 SVGA; 1024 × 768 XGA; 1280 × 720 720p HDTV; 1280 × 768 WXGA variant; 1280 × 800 WXGA variant; 1280 × 1024 SXGA; 1366 × 768 WXGA variant; 1400 × 1050 SXGA+; 1600 × 1200 UXGA; 1680 × 1050 WXGA+; 1920 × 1080 1080p HDTV; 1920 × 1200 WUXGA. Higher resolutions, such as up to 2048 × 1152, may work or even 3840 × 2160 at 15 Hz. Although the Raspberry Pi 3 does not include H.265 hardware decoders, the CPU is more powerful than its predecessors, potentially fast enough for software decoding H.265-encoded videos. The Raspberry Pi 3 GPU runs at a higher clock frequency – 300 or 400 MHz, compared to 250 MHz in previous versions. The Raspberry Pi can generate 576i and 480i composite video signals, as used on old-style (CRT) TV screens and less-expensive monitors through standard connectors – either RCA or 3.5 mm phono connector, depending on the models. The television signal standards supported are PAL-BGHID, PAL-M, PAL-N, NTSC and NTSC-J. The Raspberry Pi 4 has two micro HDMI connectors that support 4K displays with a refreshing rate of 60Hz.

Real-Time Clock

None of the current Raspberry Pi models has a built-in real-time clock. Developers who need real clock time in their project can retrieve the time from a network time server (NTP) or use the external RTC module connected to the board via SPI or I²C interface. To save the file system consistency, the Raspberry Pi automatically saves time on shutdown and reloads time at boot. One of the best RTC solutions for keeping the proper board time is to use the I²C DS1307 chip containing a hardware clock with a battery power backup.

Hardware Specification

Following tables 1, 2, 3, 4 and 5 present technical details of the RPI fog class IoT devices.

Table 1: Raspberry Pi Models A Comparative Table
Version Model A
RPi 1 Model A RPi 1 Model A+ RPi 3 Model A+
Release date 2/1/2013 11/1/2014 11/1/2018
Target price (USD) 25 20 25
Instruction set ARMv6Z (32-bit) ARMv8 (64-bit)
SoC Broadcom BCM2835 Broadcom BCM2837B0
FPU VFPv2; NEON not supported VFPv4 + NEON
CPU 1× ARM1176JZF-S 700 MHz 4× Cortex-A53 1.4 GHz
GPU Broadcom VideoCore IV @ 250 MHz (BCM2837: 3D part of GPU @ 300 MHz, video part of GPU @ 400 MHz)
OpenGL ES 2.0 (BCM2835, BCM2836: 24 GFLOPS / BCM2837: 28.8 GFLOPS)
MPEG-2 and VC-1 (with license), 1080p30 H.264/MPEG-4 AVC high-profile decoder and encoder (BCM2837: 1080p60)
Memory (SDRAM) 256 MB (shared with GPU) 512 MB (shared with GPU) as of 4 May 2016. Older boards had 256 MB (shared with GPU)
USB 2.0 ports 1 (direct from BCM2835 chip) 1 (direct from BCM2837B0 chip)
Video input 15-pin MIPI camera interface (CSI) connector, used with the Raspberry Pi camera or Raspberry Pi NoIR camera
Video outputs HDMI (rev 1.3) composite video (RCA jack), MIPI display interface (DSI) for raw LCD panels HDMI (rev 1.3), composite video (3.5 mm TRRS jack), MIPI display interface (DSI) for raw LCD panels
Audio inputs As of revision 2 boards via I²S
Audio outputs Analog via 3.5 mm phone jack; digital via HDMI and, as of revision 2 boards, I²S
On-board storage SD, MMC, SDIO card slot (3.3 V with card power only) MicroSDHC slot
On-board network None 2.4 GHz and 5 GHz IEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2/BLE
Low-level peripherals 8× GPIO plus the following, which can also be used as GPIO: UART, I²C bus, SPI bus with two chip selects, I²S audio +3.3 V, +5 V, ground 17× GPIO plus the same specific functions, and HAT ID bus
Power ratings 300 mA (1.5 W) 200 mA (1 W)
Power source 5 V via MicroUSB or GPIO header
Size 85.60 mm × 56.5 mm (3.370 in × 2.224 in), excluding protruding connectors 65 mm × 56.5 mm × 10 mm (2.56 in × 2.22 in × 0.39 in), same as HAT board 65 mm x 56.5 mm
Weight 31 g (1.1 oz) 23 g (0.81 oz)
Console Adding a USB network interface via tethering or a serial cable with an optional GPIO power connector
Generation 1 1 + 3+
Obsolescence n/a n/a in production until at least January 2023
Statement
Type Model A
Table 2: Raspberry Pi Models B Comparative Table
Version Model B
RPi 1 Model B RPi 1 Model B+ RPi 2 Model B RPi 2 Model B v1.2 RPi 3 Model B RPi 3 Model B+
Release date April–June 20127/1/20142/1/201510/1/20162/1/20163/14/2018
Target price (USD) 352535
Instruction set ARMv6Z (32-bit)ARMv7-A (32-bit)ARMv8-A (64/32-bit)
SoC Broadcom BCM2835Broadcom BCM2836Broadcom BCM2837Broadcom BCM2837B0
FPU VFPv2; NEON not supportedVFPv3 + NEONVFPv4 + NEON
CPU 1× ARM1176JZF-S 700 MHz4× Cortex-A7 900 MHz4× Cortex-A53 900 MHz4× Cortex-A53 1.2 GHz4× Cortex-A53 1.4 GHz
GPU Broadcom VideoCore IV @ 250 MHz (BCM2837: 3D part of GPU @ 300 MHz, video part of GPU @ 400 MHz)
OpenGL ES 2.0 (BCM2835, BCM2836: 24 GFLOPS / BCM2837: 28.8 GFLOPS)
MPEG-2 and VC-1 (with license), 1080p30 H.264/MPEG-4 AVC high-profile decoder and encoder (BCM2837: 1080p60)
Memory (SDRAM) 512 MB (shared with GPU) as of 4 May 2016. Older boards had 256 MB (shared with GPU) 1 GB (shared with GPU)
USB 2.0 ports 2 (via on-board 3-port USB hub)4 (via on-board 5-port USB hub)
Video input 15-pin MIPI camera interface (CSI) connector, used with the Raspberry Pi camera or Raspberry Pi NoIR camera
Video outputs HDMI (rev 1.3), composite video (RCA jack), MIPI display interface (DSI) for raw LCD panelsHDMI (rev 1.3), composite video (3.5 mm TRRS jack), MIPI display interface (DSI) for raw LCD panels
Audio inputs As of revision 2 boards via I²S
Audio outputs Analog via 3.5 mm phone jack; digital via HDMI and, as of revision 2 boards, I²S
On-board storage SD, MMC, SDIO card slotMicroSDHC slotMicroSDHC slot, USB Boot Mode
On-board network 10/100 Mbit/s Ethernet (8P8C) USB adapter on the USB hub10/100 Mbit/s Ethernet,10/100/1000 Mbit/s Ethernet (real speed max 300 Mbit/s),
802.11b/g/n single band 2.4 GHz wireless,802.11b/g/n/ac dual band 2.4/5 GHz wireless,
Bluetooth 4.1 BLEBluetooth 4.2 LS BLE
Low-level peripherals 8× GPIO plus the following, which can also be used as GPIO: UART, I²C bus, SPI bus with two chip selects, I²S audio +3.3 V, +5 V, ground.17× GPIO plus the same specific functions and HAT ID bus
An additional 4× GPIO are available on the P5 pad if the user is willing to make solder connections
Power ratings 700 mA (3.5 W)200 mA (1 W) average when idle, 350 mA (1.75 W) maximum under stress (monitor, keyboard and mouse connected)220 mA (1.1 W) average when idle, 820 mA (4.1 W) maximum under stress (monitor, keyboard and mouse connected)300 mA (1.5 W) average when idle, 1.34 A (6.7 W) maximum under stress (monitor, keyboard, mouse and WiFi connected)459 mA (2.295 W) average when idle, 1.13 A (5.661 W) maximum under stress (monitor, keyboard, mouse and WiFi connected)
Power source 5 V via MicroUSB or GPIO header
Size 85.60 mm × 56.5 mm (3.370 in × 2.224 in), excluding protruding connectors85.60 mm × 56.5 mm × 17 mm (3.370 in × 2.224 in × 0.669 in)
Weight 45 g (1.6 oz)
Console Adding a USB network interface via tethering or a serial cable with optional GPIO power connector
Generation 11 +22 ver 1.233+
Obsolescence n/an/an/an/an/ain production until at least January 2023
Statement
Type Model B
Table 3: Raspberry Pi Models Compute Module Comparative Table
Version Compute Module*
Compute Module 1 Compute Module 3
&
Compute Module 3 Lite
Compute Module 3+
&
Compute Module 3+ Lite
Compute Module 4
&
Compute Module 4 Lite
Release date April 2014 January 2017 January 2017 October 2020
Instruction set ARMv6Z (32-bit) ARMv8-A (64/32-bit)
SoC Broadcom BCM2835 Broadcom BCM2837 Broadcom BCM2837B0 Broadcom BCM2711
FPU VFPv2; NEON not supported VFPv4 + NEON
CPU 1× ARM1176JZF-S 700 MHz 4× Cortex-A53 1.2 GHz 4× Cortex-A72 1.5 GHz
GPU Broadcom VideoCore IV @ 250 MHz (BCM2837: 3D part of GPU @ 300 MHz, video part of GPU @ 400 MHz) Broadcom VideoCore VI @ 500 MHz
Memory (SDRAM) 512 MB (shared with GPU) 1 GB (shared with GPU) 1,2,4,8 GB
USB 2.0 ports 1 (direct from BCM2835 chip) 1 (direct from BCM2837 chip) 1 (direct from BCM2837B0 chip) 1
Video input 2× MIPI camera interface (CSI) 2-lane MIPI CSI camera interface,
4-lane MIPI CSI camera interface
Video outputs 1xHDMI 2xHDMI
On-board storage 4 GB eMMC flash memory chip 4 GB eMMC flash memory chip
or
MicroSDHC slot for Lite version
8/16/32 GB eMMC flash memory chip
or
MicroSDHC slot for Lite version
8/16/32 GB eMMC flash memory chip
or
MicroSDHC slot for Lite version
On-board network None 10/100/1000Mbps Ethernet
b/g/n/ac dual-band (2.4/5GHz) WiFi
5.0 BLE (optional)
Low-level peripherals 46× GPIO, some of which can be used for specific functions, including I²C, SPI, UART, PCM, PWM 28 × GPIO supporting either 1.8v or 3.3v signalling and peripheral options
Power ratings 200 mA (1 W) 700 mA (3.5 W) not rated not rated
Power source 2.5–5 V, 3.3 V, 2.5–3.3 V, and 1.8 V 5V
Size 67.6 mm × 30 mm (2.66 in × 1.18 in) 67.6 mm × 31 mm (2.66 in × 1.22 in) 55 mm x 40 mm
Obsolescence manufacturing until at least January 2026 manufacturing until at least January 2028
Type Compute Module*
Table 4: Raspberry Pi Models Zero Comparative Table
Version Zero
RPi Zero PCB v1.2 RPi Zero PCB v1.3 RPi Zero W
Release date 11/1/20155/1/20162/28/2017
Target price (USD) 510
Instruction set ARMv6Z (32-bit)
SoC Broadcom BCM2835
FPU VFPv2; NEON not supported
CPU 1× ARM1176JZF-S 1 GHz
GPU Broadcom VideoCore IV @ 250 MHz (BCM2837: 3D part of GPU @ 300 MHz, video part of GPU @ 400 MHz)
OpenGL ES 2.0 (BCM2835, BCM2836: 24 GFLOPS / BCM2837: 28.8 GFLOPS)
MPEG-2 and VC-1 (with license), 1080p30 H.264/MPEG-4 AVC high-profile decoder and encoder (BCM2837: 1080p60)
Memory (SDRAM) 512 MB (shared with GPU)
USB 2.0 ports 1 Micro-USB (direct from BCM2835 chip)
Video input NoneMIPI camera interface (CSI)
Video outputs Mini-HDMI, 1080p60, composite video via marked points on PCB for optional header pins
Audio inputs As of revision 2 boards via I²S
Audio outputs Mini-HDMI, stereo audio through PWM on GPIO
On-board storage MicroSDHC
On-board network None 802.11b/g/n single band 2.4 GHz wireless,
Bluetooth 4.1 BLE
Low-level peripherals 17× GPIO plus the same specific functions and HAT ID bus
Power ratings 100 mA (0.5 W) average when idle, 350 mA (1.75 W) maximum under stress (monitor, keyboard and mouse connected)
Power source 5 V via MicroUSB or GPIO header
Size 65 mm × 30 mm × 5 mm (2.56 in × 1.18 in × 0.20 in)
Weight 9 g (0.32 oz)
Console Adding a USB network interface via tethering or a serial cable with an optional GPIO power connector
Generation PCB ver 1.2PCB ver 1.3W (wireless)
Obsolescence n/a, or see PCB ver 1.3Zero is currently stated as being not before January 2022n/a
Statement
Type Zero
Table 5: Raspberry Pi 4B & 5 Models Table
Version Model B
Pi4 Pi5
Release date 01/06/2019 28/09/2023
SoC Broadcom BCM2711 Broadcom BCM2712
CPU 1,5 GHz quad-core ARM-8 Cortex-A72 (64-bit) 2.4 GHz quad-core Cortex-A76 (64bit)
GPU Broadcom VideoCore VII
Memory (SDRAM) 1GB/2GB/4GB/8GB 4GB/8GB
USB ports USB 2×2.0 2×3.0
Video outputs Composite (PAL/NTSC) 2x micro HDMI
Audio outputs 2xmicro HDMI
On-board storage MicroSD MicroSD with SDR104
On-board network 100/1000 Ethernet (RJ45), WiFi (2.4-5 GHz 802.11b/g/n/ac) Bluetooth 5.0 BLE
Low-level peripherals 40x GPIO, CSI, DSI 40x GPIO, 2CSI/DSI, PCle 2.0
Power source 5V/AA UCB-C, PoE or GPIO
Size 85,60 mm × 56,50 mm
Weight 46 g
OS systems Raspbian, Windows 10 IoT Core, OSMC_Pi2, NOOBS, RISC OS, Ubuntu MATE, Linux Q83, Android, Android TV
Type Model B

Raspberry Pi Boards

As for today, on the market, a few models of Raspberry Pi boards are available, from tiny ones to more powerful ones. Users can choose the right board to fit the price and functionality of their project development needs. Figures 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10, are presenting Raspberry Pi models, starting from the simplest and finishing on the most advanced and most modern ones.

 Raspberry Pi Zero
Figure 1: Raspberry Pi Zero [2].
 Raspberry Pi Zero W
Figure 2: Raspberry Pi Zero W[3].
 Raspberry Pi Zero 2 W
Figure 3: Raspberry Pi Zero 2 W[4].
 Raspberry Pi 1 Model A
Figure 4: Raspberry Pi 1 Model A
 Raspberry Pi 1 Model A+ revision 1.1
Figure 5: Raspberry Pi 1 Model A+ revision 1.1 [5].
 Raspberry Pi 1 Model B revision 1.2
Figure 6: Raspberry Pi 1 Model B revision 1.2 [6].
 Raspberry Pi 2
Figure 7: Raspberry Pi 2 [7].
 Raspberry Pi 3
Figure 8: Raspberry Pi 3 [8].
 Raspberry Pi 4
Figure 9: Raspberry Pi 4 [9].
 Raspberry Pi 5
Figure 10: Raspberry Pi 5 [10].

General-Purpose Input-Output (GPIO) Connector

Each Raspberry Pi model is equipped with a standard 34/40-pis male connector containing universal GPIO ports, VCC 3.3/5V, GND, CLK, I2C/SPI bus pins, which developers can use to connect their external sensors, switches and other controlled devices to the Raspberry Pi board and then program their behaviour within the code loaded to the board.

 Raspberry Pi 1 pins
Figure 11: Raspberry Pi 1 pins
 Raspberry Pi 2 & 3 pins
Figure 12: Raspberry Pi 2 & 3 pins

HDMI Port

Each Raspberry Pi model is equipped with the standard, mini or micro HDMI port, which allows the user to connect the monitor or TV set to the board. The electronic schematic is shown in the picture.

 Raspberry HDMI port connection schematic
Figure 13: Raspberry HDMI port connection schematic

Camera Port CSI

Raspberry Pi boars Zero, 1, A+, 2, 3, 4 and 5 are equipped with a Camera interface (CSI) port, allowing the user to connect the CCD camera following the MIPI standard.

 Raspberry CSI camera schematic
Figure 14: Raspberry CSI camera schematic [11].
 Raspberry CSI camera view
Figure 15: Raspberry CSI camera view [12].

Display Port (DSI)

Raspberry Pi boards 2 to 5 have an LCD Display interface(DSI) port, allowing the user to connect the LCD touch display to the board. The official Raspberry Pi LCD touch display shown in the figure below is 800 x 480 dpi 7“ in size and can be connected to the Raspberry board using the DSI interface. Such an assembly can be used in the projects to display a controlling application view, and the ability to handle fingers and a touchscreen controls the project behaviour. The LCD can be mounted in portrait/landscape orientation, fitting the best user needs.

 Raspberry DSI display port schematic
Figure 16: Raspberry DSI display port schematic [13].
 Raspberry DSI LCD display kit
Figure 17: Raspberry DSI LCD display kit [14].

USB and LAN Ports

Raspberry PI models Zero, 1, A+, 2, 3, 4 and 5 contain USB ports (from 1 up to 4), and all but Zero also have a LAN port for TCP/IP network connections. These ports can be used for mouse/keyboard connection or if the software has the appropriate driver installed to handle other USB devices.

Since generation 4, devices are equipped with 2 USB 3.0 ports as in figure 18.

Starting with Raspberry 3B+, the Ethernet port is a gigabit one that can reach up to 1Gbps, theoretically. Prior 3B (including) it is fast Ethernet, 100Mbps.

In RPI 3B+, gigabit Ethernet is connected internally to the USB 2.0 controller with a maximum throughput of about 480Mbps (practical 200Mbsp); thus, the maximum transfer is limited.
 Raspberry 4 LAN/USB ports view
Figure 18: Raspberry 4 LAN/USB ports view