raspberry-pi-cheatsheet

Raspberry Pi Cheatsheet

Initial Setup

Install Operating System

Download Raspberry Pi OS (or another compatible OS) and use Raspberry Pi Imager or balenaEtcher to write it to a microSD card.

Access via SSH

If you don’t have a screen connected, enable SSH by creating an empty file named ssh in the /boot partition of the microSD card.

bash

touch /media/boot/ssh
Copied!

Configure Wi-Fi

Create a wpa_supplicant.conf file in the /boot partition to configure the Wi-Fi connection:

country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
    ssid="Your_SSID"
    psk="Your_Password"
    key_mgmt=WPA-PSK
}
Copied!

Basic Raspberry Pi Commands

Update System

Update the system and installed packages.

sudo apt update && sudo apt upgrade
Copied!

Reboot and Shutdown

Reboot or shut down your Raspberry Pi from the command line.

sudo reboot
sudo shutdown -h now
Copied!

Expand Filesystem

To take advantage of all the available space on the microSD.

sudo raspi-config --expand-rootfs
Copied!

Configure System

Open the configuration menu to change options like language, keyboard, hostname, etc.

sudo raspi-config
Copied!

GPIO Management

Install GPIO Libraries

Install the library to control the GPIO pins of the Raspberry Pi.

sudo apt install python3-rpi.gpio
Copied!

Control GPIO from Python

Basic example to turn on and off an LED connected to a GPIO pin.

import RPi.GPIO as GPIO
import time

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

GPIO.output(18, GPIO.HIGH)  # Turn on LED
time.sleep(1)
GPIO.output(18, GPIO.LOW)   # Turn off LED

GPIO.cleanup()
Copied!

Read GPIO Input

Example to read the state of a button connected to a GPIO pin.

GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)

while True:
    if GPIO.input(17) == GPIO.LOW:
        print("Button pressed")
Copied!

Remote Access and Administration

Access via VNC

Enable VNC on the Raspberry Pi for remote graphical access.

sudo raspi-config
# Navigate to "Interfacing Options" > "VNC" and enable it.
Copied!

Connect using a VNC client like RealVNC Viewer.

Remote Connection via SSH

Connect to your Raspberry Pi using SSH from another machine.

Copied!

If the hostname is different, replace raspberrypi.local with the correct IP or name.

Package and Software Management

Install Additional Software

Use apt to install additional software like Node.js, Python, or web servers.

sudo apt install package-name
Copied!

Service Management

Control services like Apache, MySQL, or SSH.

sudo systemctl start service-name
sudo systemctl stop service-name
sudo systemctl enable service-name  # Start on boot
Copied!

System Monitoring

Check CPU and Memory Usage

Get a summary of system resource usage.

htop
Copied!

Monitor Temperature

Check the CPU temperature.

vcgencmd measure_temp
Copied!

Peripheral Access

Camera

Enable Camera

Enable the camera module from raspi-config.

sudo raspi-config
# Navigate to "Interfacing Options" > "Camera" and enable it.
Copied!

Capture Image with Camera

Use raspistill to take a photo.

raspistill -o image.jpg
Copied!

Record Video

Use raspivid to record video with the camera.

raspivid -o video.h264 -t 10000  # Record for 10 seconds
Copied!

I2C and SPI

Enable I2C and SPI

Enable the I2C and SPI interfaces in raspi-config.

sudo raspi-config
# Navigate to "Interfacing Options" > "I2C" or "SPI" and enable them.
Copied!

Check Connected I2C Devices

Check the devices connected to the I2C interface.

sudo i2cdetect -y 1
Copied!

Automation and Scripts

Configure Scripts at Startup

Add scripts to /etc/rc.local or create a systemd service to run them at startup.

sudo nano /etc/rc.local
# Add your command before the line "exit 0"
Copied!

Create Scheduled Tasks with Cron

Use cron to run tasks automatically at regular intervals.

crontab -e
# Example: run a script every day at 3 AM
0 3 * * * /path/to/script.sh
Copied!