Skip to content

Raspberry Pi โ€” Single-Board Computer Guide

Last reviewed: 2026-05-29

The Raspberry Pi is a series of small single-board computers (SBCs) developed by the Raspberry Pi Foundation. Unlike microcontrollers (Arduino, ESP32), the Pi runs a full Linux operating system and supports general-purpose computing alongside GPIO-based hardware projects.


Overview

Raspberry Pi boards use ARM-based processors (Broadcom SoCs), run Linux (Raspberry Pi OS, Ubuntu, etc.), and provide: - Full desktop computing capability - 40-pin GPIO header for electronics projects - USB, HDMI, Ethernet, Wi-Fi, Bluetooth - Camera and display interfaces (CSI, DSI) - PCIe on newer models (Pi 5)

This makes them ideal for servers, media centers, home automation controllers, robotics, and educational computing.


Training Content


Raspberry Pi Models

Model SoC RAM Form Factor Key Features
Pi 5 BCM2712 (Cortex-A76) 2/4/8 GB Standard PCIe 2.0, USB 3.0, RP1 I/O chip
Pi 4 B BCM2711 (Cortex-A72) 1/2/4/8 GB Standard USB-C power, dual HDMI 4K
Pi 3 B+ BCM2837B0 (Cortex-A53) 1 GB Standard Built-in Wi-Fi/BT, PoE support
Pi Zero 2 W BCM2710A1 (Cortex-A53) 512 MB Miniature 64-bit, Wi-Fi/BT, $15
Pi Pico RP2040 (Dual Cortex-M0+) 264 KB RAM Microcontroller $4 MCU, C/C++/MicroPython

GPIO Header (40-Pin)

The Pi's 40-pin GPIO header provides: - Digital I/O pins (3.3V logic โ€” not 5V tolerant!) - IยฒC bus (SDA/SCL) โ€” sensors, OLEDs, ADCs - SPI bus (MOSI/MISO/SCLK/CE) โ€” displays, DACs - UART (TX/RX) โ€” serial console, GPS, etc. - PWM โ€” servo motors, LED dimming - Power pins โ€” 3.3V, 5V, GND

โš ๏ธ Warning: Pi GPIO pins are 3.3V only, unlike Arduino's 5V. Connecting 5V to a GPIO pin can destroy the Pi.


Common Use Cases

Use Case Description
Home Server Pi-hole DNS, NAS, web server, Home Assistant
Media Center Kodi / OSMC for streaming and local media
IoT Gateway MQTT broker, sensor aggregation, REST API
Retro Gaming RetroPie / RecalBox for emulation
Robotics Motor control, camera vision, ROS
Learning Linux sysadmin, Python, electronics

Initial Setup

  1. Flash Raspberry Pi OS to an SD card (use Raspberry Pi Imager)
  2. Insert SD card, connect power, HDMI, keyboard/mouse
  3. Run sudo raspi-config to:
  4. Enable SSH
  5. Enable IยฒC / SPI / UART (under Interface Options)
  6. Expand filesystem (auto on modern OS)
  7. Set locale, timezone, Wi-Fi
  8. Update: sudo apt update && sudo apt upgrade -y

GPIO Programming

# Python (RPi.GPIO) โ€” Blink an LED
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)

while True:
    GPIO.output(17, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(17, GPIO.LOW)
    time.sleep(1)

Alternative libraries: gpiozero (higher-level, easier), wiringPi (C/C++), pigpio (daemon-based, PWM support).


Resources