Raspberry Pi Projects Cheat Sheet

Last Updated: November 21, 2025

Initial Setup Guide

Step Instructions
1. Download OS Get Raspberry Pi OS from raspberrypi.com/software (Lite for headless, Desktop for GUI)
2. Flash SD Card Use Raspberry Pi Imager β†’ Choose OS β†’ Choose SD card (16GB+ recommended) β†’ Write
3. Enable SSH (Headless) Create empty file named "ssh" (no extension) in boot partition
4. WiFi Setup (Headless) Create wpa_supplicant.conf in boot with WiFi credentials
5. Boot Pi Insert SD card β†’ Connect power (5V/3A recommended) β†’ Wait 1-2 minutes
6. Find IP Address Check router admin page or use: nmap -sn 192.168.1.0/24
7. SSH Connect ssh pi@[IP_ADDRESS] (default password: raspberry)
8. Change Password Run: passwd (REQUIRED for security)
9. Update System sudo apt update && sudo apt full-upgrade -y
10. Configure sudo raspi-config β†’ Set timezone, hostname, enable interfaces (I2C, SPI, Camera)
11. Reboot sudo reboot

Beginner-Friendly Projects

Project Difficulty Description
RetroPie Gaming Console Easy Classic game emulator. Install RetroPie, add ROMs, connect controllers. Play NES, SNES, PlayStation games
Pi-hole Ad Blocker Easy Network-wide ad blocking. Blocks ads on all devices via DNS. Install: curl -sSL https://install.pi-hole.net | bash
Kodi Media Center Easy Home theater PC. Stream movies, TV shows, music. Install LibreELEC or OSMC
Network Attached Storage Easy Personal cloud storage. Attach USB drive, install Samba, share files across network
Security Camera Easy-Medium Motion-activated camera. Use Pi Camera module + MotionEyeOS for surveillance
Weather Station Medium Temperature, humidity, pressure monitoring. DHT22 sensor + display. Log data, create graphs
Smart Mirror Medium Two-way mirror with display showing time, weather, calendar. Use MagicMirrorΒ² software
VPN Server Medium Private VPN using PiVPN. Access home network remotely, secure browsing
Web Server Easy-Medium Host websites using Apache/Nginx. Learn HTML, PHP, databases
Digital Photo Frame Easy Slideshow display. Google Photos, local images. Auto-refresh, randomize

Intermediate Projects

Project Difficulty Description
Home Automation Hub Medium Control lights, sensors, devices. Home Assistant or OpenHAB. Integration with Alexa, Google Home
Robot Car Medium Motorized vehicle with camera. L298N motor driver, distance sensors, remote/autonomous control
Bitcoin/Crypto Node Medium Full Bitcoin node. Download blockchain, verify transactions. Umbrel OS for easy setup
Air Quality Monitor Medium PM2.5, CO2, VOC sensors. Track pollution, create dashboard, trigger alerts
Time-lapse Camera Medium Automated photography. Pi Camera captures at intervals, compiles video. For plants, construction, clouds
Music Streaming Server Medium Personal Spotify. Mopidy, MPD, or Volumio. Stream to any device on network
Game Server Medium Minecraft, Terraria server. Host multiplayer games 24/7. Requires cooling
3D Printer Controller Medium OctoPrint installation. Wireless 3D printing, webcam monitoring, remote control
Radio Transmitter (FM) Medium Broadcast audio to FM radio. PiFmRds software. Local range only (legal considerations!)
Cluster Computing Medium-Hard Multiple Pis networked. Learn Docker, Kubernetes. Parallel processing experiments

Advanced Projects

Project Difficulty Description
AI Object Detection Hard TensorFlow Lite, OpenCV. Real-time object recognition. Face detection, counting people
Smart Garden System Medium-Hard Automated watering, soil sensors, grow lights. Data logging, mobile app control
Baby Monitor Hard Video streaming, motion detection, night vision. Mobile alerts, two-way audio
Door Lock System Hard RFID/NFC access control. Solenoid lock, database of authorized cards, logging
Drone Controller Hard Flight controller software. GPS navigation, camera gimbal, FPV video transmission
Smart Doorbell Medium-Hard Camera, motion sensor, speaker. Push notifications, cloud recording, voice communication

GPIO Pin Layout (40-pin)

Pin # Function Pin # Function
1 3.3V Power 2 5V Power
3 GPIO 2 (SDA) 4 5V Power
5 GPIO 3 (SCL) 6 Ground
7 GPIO 4 8 GPIO 14 (TXD)
9 Ground 10 GPIO 15 (RXD)
11 GPIO 17 12 GPIO 18 (PWM)
13 GPIO 27 14 Ground
15 GPIO 22 16 GPIO 23
17 3.3V Power 18 GPIO 24
19 GPIO 10 (MOSI) 20 Ground
21 GPIO 9 (MISO) 22 GPIO 25
23 GPIO 11 (SCLK) 24 GPIO 8 (CE0)
25 Ground 26 GPIO 7 (CE1)

GPIO Basics with Python

Task Code
Import Library import RPi.GPIO as GPIO
import time
Set Pin Numbering GPIO.setmode(GPIO.BCM) # or GPIO.BOARD
Setup Output Pin GPIO.setup(18, GPIO.OUT) # Pin 18 as output
Setup Input Pin GPIO.setup(17, GPIO.IN) # Pin 17 as input
Turn LED On GPIO.output(18, GPIO.HIGH)
Turn LED Off GPIO.output(18, GPIO.LOW)
Read Button State button_state = GPIO.input(17)
Blink LED while True:
GPIO.output(18, GPIO.HIGH)
time.sleep(1)
GPIO.output(18, GPIO.LOW)
time.sleep(1)
Cleanup GPIO.cleanup() # Reset pins at end
PWM (Dimming) pwm = GPIO.PWM(18, 100) # Pin 18, 100Hz
pwm.start(50) # 50% duty cycle
pwm.ChangeDutyCycle(75) # Change brightness
Input with Pull-up GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)

Essential Linux Commands

Command Purpose Example
sudo apt update Update package list sudo apt update
sudo apt upgrade Upgrade installed packages sudo apt upgrade -y
sudo apt install Install software sudo apt install python3-pip
sudo raspi-config Pi configuration tool sudo raspi-config
sudo reboot Restart Pi sudo reboot
sudo shutdown now Shutdown Pi safely sudo shutdown -h now
df -h Check disk space df -h
free -h Check RAM usage free -h
top Monitor processes top (q to quit)
vcgencmd measure_temp Check CPU temperature vcgencmd measure_temp
ifconfig Network info ifconfig
hostname -I Show IP address hostname -I
ls List files ls -la
cd Change directory cd /home/pi
pwd Print working directory pwd
nano Text editor nano filename.txt
chmod Change permissions chmod +x script.py
sudo systemctl Manage services sudo systemctl enable ssh

Useful Software & Tools

Software Purpose Install Command
Python 3 Programming language (pre-installed) sudo apt install python3 python3-pip
GPIO Library Control GPIO pins sudo apt install python3-rpi.gpio
WiringPi GPIO library (C/C++) sudo apt install wiringpi
VNC Server Remote desktop sudo apt install realvnc-vnc-server
Apache Web server sudo apt install apache2
Node.js JavaScript runtime curl -sL https://deb.nodesource.com/setup_18.x | sudo bash -
sudo apt install nodejs
Docker Containerization curl -sSL https://get.docker.com | sh
Git Version control sudo apt install git
Mosquitto MQTT broker (IoT) sudo apt install mosquitto mosquitto-clients
InfluxDB Time-series database sudo apt install influxdb
Grafana Data visualization Download from grafana.com
OpenCV Computer vision pip3 install opencv-python

Hardware Accessories

Accessory Purpose Price Range
Pi Camera Module Photography, video, surveillance $25-40
Official Case Protection, cooling $5-15
Heat Sinks + Fan Cooling for overclocking/intensive tasks $5-20
Power Supply Official 5V/3A USB-C (Pi 4) or micro-USB (older) $8-12
SD Card 16GB minimum, 32-64GB recommended, Class 10 $8-20
HDMI Cable Micro HDMI for Pi 4, standard HDMI for older $5-10
GPIO Breadboard Kit LEDs, resistors, jumper wires, sensors $15-30
DHT22 Sensor Temperature & humidity $5-10
PIR Motion Sensor Detect movement $3-8
Relay Module Control high-voltage devices $5-15
7" Touch Display Official touchscreen $60-80
USB Keyboard/Mouse Input (if not using headless) $10-30
PoE HAT Power over Ethernet $20-30
SSD via USB Faster boot than SD card $25-60

Python Project Template

Section Code
Imports import RPi.GPIO as GPIO
import time
Setup GPIO.setmode(GPIO.BCM)
LED_PIN = 18
GPIO.setup(LED_PIN, GPIO.OUT)
Main Loop try:
while True:
GPIO.output(LED_PIN, GPIO.HIGH)
time.sleep(1)
GPIO.output(LED_PIN, GPIO.LOW)
time.sleep(1)
Cleanup except KeyboardInterrupt:
print("Exiting...")
finally:
GPIO.cleanup()

Common Sensors & Usage

Sensor Measures Interface Python Library
DHT11/DHT22 Temperature, Humidity GPIO Adafruit_DHT
PIR (HC-SR501) Motion detection GPIO RPi.GPIO
Ultrasonic (HC-SR04) Distance GPIO (Trigger/Echo) RPi.GPIO + timing
BMP280 Pressure, Temperature I2C/SPI adafruit-circuitpython-bmp280
MQ-2 Gas (smoke, LPG) Analog (needs ADC) MCP3008 + SPI
DS18B20 Temperature (waterproof) 1-Wire w1thermsensor
MCP3008 Analog to Digital Converter SPI Adafruit_MCP3008
RFID (RC522) NFC/RFID cards SPI mfrc522

Troubleshooting

Problem Solution
Won't boot (red LED only) Power supply issue. Use official 5V/3A adapter. Check SD card connection
Rainbow screen Corrupt OS image. Re-flash SD card with fresh Raspberry Pi OS
Can't find Pi on network Check router DHCP list. Try ethernet cable. Verify WiFi credentials in wpa_supplicant.conf
SSH connection refused Enable SSH: Create empty "ssh" file in boot partition OR sudo raspi-config β†’ Interface β†’ SSH
Overheating (temp > 80Β°C) Add heatsinks and fan. Improve airflow. Don't overclock without cooling
SD card corruption Always shutdown properly: sudo shutdown -h now. Use quality SD card (SanDisk, Samsung)
GPIO not working Check wiring. Verify GPIO number (BCM vs BOARD). Run with sudo for some operations
Camera not detected Enable camera: sudo raspi-config β†’ Interface β†’ Camera. Check ribbon cable connection
Power issues (random reboots) Insufficient power. Use official adapter. Remove USB devices drawing power
Slow performance Overclock in raspi-config. Use SSD instead of SD card. Close unnecessary processes
No HDMI output Check cable/monitor. Edit /boot/config.txt: hdmi_safe=1, hdmi_force_hotplug=1

Raspberry Pi Model Comparison

Model CPU RAM Best For
Pi 4 Model B 1.5GHz quad-core 2/4/8GB Desktop replacement, media center, general purpose
Pi 5 2.4GHz quad-core 4/8GB Latest model, best performance, PCIe support
Pi 400 1.8GHz quad-core 4GB Built-in keyboard, compact desktop computer
Pi Zero 2 W 1GHz quad-core 512MB Small projects, wearables, low power ($15)
Pi Zero W 1GHz single-core 512MB Ultra-compact, battery projects ($10)
Pi 3 Model B+ 1.4GHz quad-core 1GB Older but still capable, budget option
Pi Pico 133MHz dual-core 264KB Microcontroller, embedded projects, not Linux ($4)
πŸ’‘ Pro Tips:
  • Always use a quality power supply - cheap adapters cause random issues and corruption
  • Shutdown properly with "sudo shutdown -h now" to prevent SD card corruption
  • Use SSH keys instead of passwords for more secure remote access
  • Enable I2C and SPI in raspi-config before using sensors that require them
  • For 24/7 projects: boot from SSD instead of SD card for reliability and speed
  • Add cooling (heatsinks + fan) if CPU temperature exceeds 70Β°C regularly
  • Use screen or tmux to keep programs running after disconnecting SSH
  • Create SD card backup after successful setup: dd if=/dev/sdX of=backup.img bs=4M
  • Pin numbering: BCM uses GPIO numbers, BOARD uses physical pin numbers - be consistent!
  • For projects with cameras: Pi Camera module is faster than USB webcams (uses CSI interface)
  • Join the Raspberry Pi forums and subreddit - amazing community support
  • Document your wiring with photos before disassembling complex projects
← Back to Programming Languages | Browse all categories | View all cheat sheets