Raspberry Pi 4 Hardware Overview: RAM Variants, Ports and Power Needs
The Raspberry Pi 4 Model B is a full single-board computer, not a microcontroller. It runs a complete Linux operating system, drives two monitors, talks to USB 3.0 storage at proper speeds and still exposes the 40-pin GPIO header that makes it useful for electronics projects. Before you buy one or start a project, it is worth knowing exactly what is on the board, which RAM size you need, and why the power supply matters more than on older models.
This first article in the series walks around the board port by port, compares the RAM variants, explains the power requirements and ends with a short script that reads the board's own health flags so you can confirm your supply and cooling are good enough.
The BCM2711 System-on-Chip
At the centre of the board is the Broadcom BCM2711. It contains four ARM Cortex-A72 cores (64-bit, ARMv8-A), a VideoCore VI GPU, the memory controller, and the PCIe link that feeds the USB 3.0 controller (a VIA VL805 chip on the board). The CPU was launched at 1.5 GHz; newer board revisions run at 1.8 GHz with current firmware. Because the cores are 64-bit, you should normally install the 64-bit Raspberry Pi OS, which most modern software such as Docker images and Home Assistant expects.
Choosing a RAM Variant
The Pi 4 has been sold with 1 GB, 2 GB, 4 GB and 8 GB of LPDDR4 memory. The RAM is soldered, so you cannot upgrade later. Choose based on the heaviest thing you plan to run:
| RAM | Comfortable uses | Will struggle with |
|---|---|---|
| 1 GB | Headless GPIO projects, a single small web server, Node-RED | Desktop browsing with several tabs |
| 2 GB | Lite OS servers, Samba file sharing, Python and OpenCV experiments | Many Docker containers at once |
| 4 GB | Desktop use, Docker stacks, Home Assistant with add-ons, OpenCV | Large builds running in parallel |
| 8 GB | Heavy Docker workloads, compiling large projects, many browser tabs | Rarely limited by RAM |
For most students, 4 GB is the balanced choice. If the board will sit headless in a cupboard running one service, 2 GB is enough.
Every Port and Header on the Board
| Connector | What it does | Notes |
|---|---|---|
| USB-C | 5 V power input only | Not a data port in normal use |
| 2 x micro-HDMI | Two displays, up to 4K | Use HDMI0 (next to USB-C) for a single monitor |
| 2 x USB 3.0 (blue) | Fast storage, SSDs, cameras | Shared bandwidth through one controller |
| 2 x USB 2.0 (black) | Keyboard, mouse, dongles | Keep slow devices here |
| Gigabit Ethernet | Wired network | Full gigabit, not limited by USB as on the Pi 3 |
| 40-pin GPIO header | Digital I/O, I2C, SPI, UART, PWM | 3.3 V logic, not 5 V tolerant |
| MIPI CSI (camera) | Raspberry Pi Camera Modules | Ribbon cable, contacts face the HDMI ports |
| MIPI DSI (display) | Official touch display | Do not confuse with the CSI connector |
| 4-pole 3.5 mm jack | Stereo audio and composite video | Composite must be enabled in config |
| microSD slot | Boot media and storage | On the underside of the board |
| PoE header (4 pins) | Power over Ethernet with a PoE HAT | Needs a PoE switch or injector |
Wireless is built in: dual-band 2.4/5 GHz Wi-Fi (802.11ac) and Bluetooth 5.0. The metal shield on the board covers the radio module, so keep metal cases from blocking it if you rely on Wi-Fi.
Power Supply Requirements
The Pi 4 is rated for a 5 V, 3 A USB-C supply. The official Raspberry Pi 15.3 W USB-C power supply outputs 5.1 V, and the extra 0.1 V covers the drop in the cable. Phone chargers often fail here: many are rated for 5 V at 2 A, or use thin cables that drop voltage under load. The board itself may boot fine, then reset or corrupt the SD card when the CPU and USB devices draw current together.
- The total current available to all USB ports together is limited to about 1.2 A. A portable hard disk that is spun up can use much of that, so use a powered USB hub or an SSD enclosure with its own supply for anything hungry.
- Use a short, thick cable. Long thin cables are the most common cause of under-voltage warnings.
- When voltage drops below about 4.63 V the firmware flags under-voltage and may reduce the CPU clock to protect the system.
- On the desktop, a lightning-bolt icon or a pop-up message indicates an under-voltage event.
Checking Board Health from the Terminal
The firmware tool vcgencmd reports temperature, clock speeds and a bit field of throttling flags. Run vcgencmd get_throttled; a result of throttled=0x0 means nothing has gone wrong since boot. The script below decodes every bit into plain English and prints the current temperature and ARM clock, so you can run it after a stress test or a long day of operation.
#!/usr/bin/env python3
# pi4_health.py - quick health report for a Raspberry Pi 4
# Run with: python3 pi4_health.py
import subprocess
# Meaning of each bit returned by 'vcgencmd get_throttled'
FLAGS = {
0: 'Under-voltage detected now',
1: 'ARM frequency capped now',
2: 'Currently throttled',
3: 'Soft temperature limit active now',
16: 'Under-voltage has occurred since boot',
17: 'ARM frequency capping has occurred',
18: 'Throttling has occurred',
19: 'Soft temperature limit has occurred',
}
def vcgencmd(*args):
"""Run vcgencmd and return its output as a string."""
return subprocess.check_output(['vcgencmd', *args], text=True).strip()
def main():
# Example output: throttled=0x50005
raw = vcgencmd('get_throttled').split('=')[1]
value = int(raw, 16)
# Example output: temp=48.2'C
temp = vcgencmd('measure_temp').split('=')[1]
# Example output: frequency(48)=1800404352 (value in Hz)
clock_hz = int(vcgencmd('measure_clock', 'arm').split('=')[1])
print(f'Temperature : {temp}')
print(f'ARM clock : {clock_hz / 1_000_000:.0f} MHz')
print(f'Flags : {raw}')
if value == 0:
print('Status : OK - no power or thermal problems since boot')
return
# Print the meaning of every bit that is set
for bit, meaning in FLAGS.items():
if value & (1 << bit):
print(f' bit {bit:2d}: {meaning}')
if __name__ == '__main__':
main()
If bit 16 or bit 0 is set, fix the power supply or cable before doing anything else. If bits 3 or 19 appear, the board reached its soft temperature limit and you need a heatsink or fan; later in this series there is a full article on cooling and safe overclocking.
Common Mistakes with a New Pi 4
- Buying micro-HDMI cables by mistake as full-size HDMI. The Pi 4 needs micro-HDMI (Type D) cables or adapters.
- Plugging the monitor into HDMI1 only, then seeing no output on some setups. Start with HDMI0, the port closest to the USB-C connector.
- Running the board flat on a desk with no airflow and no heatsink, then wondering why performance drops during long tasks.
- Powering the Pi from a laptop USB port, which usually cannot supply 3 A.
- Inserting the camera ribbon backwards. On the CSI connector the silver contacts face the HDMI ports.
Summary
The Raspberry Pi 4 combines a quad-core 64-bit Cortex-A72, up to 8 GB of RAM, true USB 3.0 and gigabit Ethernet on a credit-card-sized board. Pick the RAM size for your heaviest workload, use a proper 5.1 V 3 A USB-C supply with a short cable, keep 5 V signals away from the GPIO pins, and check vcgencmd get_throttled whenever the board behaves strangely. With the hardware understood, the next step is installing Raspberry Pi OS and completing the first boot.