Linux in Embedded Systems
Course Format
| Detail | Value |
|---|---|
| Sessions | 13 theory + 26 hands-on tutorials |
| Session length | 90 minutes |
| Hardware | Raspberry Pi 4, MCP9808, SSD1306 OLED, BUSE LED Matrix, BMI160 IMU, Camera Module v2 |
| Focus | Application development on embedded Linux (display pipelines, data logging, IoT networking) and platform engineering (kernel drivers, custom images, boot optimization, real-time systems, system reliability) |
Extension Emphasis (Priority Order)
For cohorts that already know Linux basics and simple driver compilation, keep the same course arc but add depth in this order:
- Architecture and trade-offs (primary)
- Integration depth (sensor to driver to service to display)
- Reliability and lifecycle
- Measurement-first engineering
This keeps the course recognizable while increasing engineering rigor and decision quality.
Prerequisites
- Required: Basic Linux command line (navigate, edit files, run scripts)
- Required: Python fundamentals (variables, loops, functions, file I/O)
- Recommended: C programming basics (pointers, structs) — needed for driver tutorials
- Recommended: Embedded Systems 101 (ES101) course or equivalent microcontroller experience
Hardware Kit
| Component | Used In |
|---|---|
| Raspberry Pi 4 (2 GB+) | All tutorials |
| MCP9808 temperature sensor | Enable I2C, OLED Display, MCP9808 Driver |
| SSD1306 OLED display (128x32, I2C) | OLED Display |
| BUSE LED matrix panel | BUSE Hardware, BUSE Driver |
| BMI160 IMU (6-axis, SPI) | BMI160 SPI Driver, Level Display, Jitter Measurement |
| HDMI monitor | Level Display, DRM/KMS tutorials |
| Waveshare 3.5" SPI TFT HAT (ILI9486 + XPT2046) | SPI TFT Display |
| 5" MIPI DSI panel (800×480, capacitive touch) | DSI Display |
| Raspberry Pi Camera Module v2 | Camera Pipeline, 2D Plate Balancing |
| MG996R servo motor (×2) | 1D Ball Balancing, 2D Plate Balancing |
| VL53L0X TOF distance sensor (I2C) | 1D Ball Balancing |
| Raspberry Pi Pico 2 W | MCU Real-Time Controller |
| ESP32-CAM module (optional) | 2D Plate Balancing (WiFi latency comparison) |
| MicroSD card (16 GB+) | All tutorials |
| USB-C power supply | All tutorials |
Start Here
If this is your first session, begin with:
- Read Theory 1: What Is Embedded Linux?
- Do Tutorial: SSH Login → Exploring Linux
- Then Enable I2C → OLED Display — get hardware working early!
For the full semester plan with week-by-week schedule, see the Semester Lab Track.
All tutorials, theory sessions, and capstone tracks are in the Tutorials & Reference page.
For the week-by-week schedule, see the Semester Lab Track.