Academy
Raspberry Pi from Scratch: Electronics and a Fedora Workflow
From the Raspberry Pi box to your own weather station: safe GPIO, Python and headless work from a Fedora computer.
Beginner9 lessons600 minCourse in English

Lifetime access, updates included
A beginner course prepared for the wirelab forum.
This course takes you from the Raspberry Pi box to a working weather station. We work on a computer running Fedora, and the Raspberry Pi runs "headless", meaning without a monitor or keyboard, and you connect to it over the network. Along the way you will learn enough electronics to avoid burning anything out, and how to program GPIO in Python.
As of September 2026:
- The current Raspberry Pi OS is based on Debian 13 "Trixie" (released on 15 September 2026, kernel 6.18). The previous version, based on Debian 12 "Bookworm", is still available as "Legacy" (kernel 6.12). The course assumes Trixie, and I point out the differences from Bookworm where they matter (mainly with
libgpiod). - On the PC side: Fedora 44 or newer (Imager 2.x is available from its repository).
- Supported boards: Raspberry Pi 4 Model B and Raspberry Pi 5. Most things work on the Zero 2 W too.
How to read the markers
🟦 Pi 4 / Pi 5 – a block with the differences between the models.
⚠️ – things that can damage your hardware or block your progress.
$at the start of a line is a terminal command (don't type the$itself). I also say whether a command runs on Fedora or on the Pi.
What you’ll learn
- You will choose a Raspberry Pi model, a power supply and parts for your first projects
- You will set up Fedora to work with the Raspberry Pi: Imager, an SSH key, the serial console
- You will start the Raspberry Pi without a monitor and log in to it over SSH
- You will learn the rules for working safely with GPIO: 3.3 V, currents, BCM and physical pin numbering
- You will calculate the resistor for an LED and control it from Python (gpiozero) and from the terminal (libgpiod)
- You will handle a button with a pull-up resistor and contact debouncing
- You will read temperature, humidity and pressure from a BME280 sensor over I²C
- You will build a weather station and run it as a systemd service
Who it’s for
- Beginners who have a Raspberry Pi 4 or 5 and want to start with electronics without the risk of damaging the board
- Fedora users who want to work with a Raspberry Pi from their own computer, without a monitor and keyboard
- People who know the basics of Python and want to control hardware
Requirements
- A Raspberry Pi 4 Model B or Raspberry Pi 5 with a suitable power supply and a microSD card
- A computer running Fedora 44 or newer, with sudo permissions
- A breadboard, jumper wires, LEDs, 330 Ω / 1 kΩ / 10 kΩ resistors, buttons and a BME280 module (list in Lesson 1)
- Basic Linux terminal skills; some knowledge of Python will help
Course programme
01Hardware and setting up your environment3 lessons
- What is a Raspberry Pi, models and a shopping list
- Preparing Fedora on your PC
- Writing the OS and the first headless bootPreview
- Quiz: Quiz: Hardware and setting up your environment
02GPIO in practice3 lessons
- GPIO and safety
- An LED with a resistor
- The button
- Quiz: Quiz: GPIO in practice
03The sensor and the final project3 lessons
- The BME280 sensor over I²C
- Mini project: a weather station + next steps
- Sources
- Quiz: Quiz: The sensor and the final project
- Quiz: Final quiz: Raspberry Pi from scratch
Author
wirelab