Skip to content

Embedded Systems

Welcome to ES101 — Introduction to Embedded Systems.

Build real embedded systems using MicroPython on Raspberry Pi Pico. Culminates in a Delivery Robot Challenge.


Start Here

First time?
  1. Do Tutorial: Robot Unboxing
  2. Browse the Reference for anything you want to explore deeper

Then follow the week-by-week schedule below.


Week-by-Week Schedule

Week Phase Topic Lab Milestone
1 Foundation What is Embedded? Robot Unboxing Robot moves, LEDs flash
2 Foundation Sensors & Feedback GPIO & Sensors + Analog Sensors + OLED Display GPIO, ADC, OLED display
3 Sensing Measurement & Integration Ultrasonic & Timing Non-blocking timing
4 Movement Motors & Motion Motor Control PWM drive, time-based turns
5 Control Timing & Concurrency Line Following P-control tracks a line
6 Control Experimental Method IMU Turns Gyro turns, data-driven tuning
7 Software State Machines State Machines Multi-behavior + obstacle avoidance
8 Project Software Engineering HW Abstraction + Architecture Picobot internals, clean code
9 Project System Integration Project Integration Project kickoff
10–11 Project Hands-on Q&A Project Work + Tuning Project polished
12 Project Course Synthesis Demo Day Competition + presentation

Course Format

Aspect Details
Sessions 12 weeks × (2×45 min theory + 3×45 min lab)
Pre-lab ~30 min homework before each session
Project Delivery Robot (pairs, weeks 9–12)
Demo Day Week 12 — Competition + Presentations

Session Structure

Block Duration What Happens
Theory 2×45 min Concepts, live demos, discussion
Lab 3×45 min Recap (10 min) — Guided tutorial (90 min) — Exploration (25 min) — Wrap-up (10 min)

Delivery Robot Project

Milestone Week Deliverable
Announced 6 Start planning
Proposal 7 State diagram + approach
Checkpoint 8–9 Working prototype
Tuning 10–11 Data-driven optimization
Competition 12 Demo + presentation

Hardware

Component Purpose
Raspberry Pi Pico 2 W Main controller
4× Optocouplers (X1–X4) Line detection
2× DC Motors + H-bridge Differential drive
Ultrasonic (HC-SR04) Distance sensing
IMU (BMI160) Heading measurement
OLED Display Status visualization
WS2812B LEDs Visual feedback

Resources

Section Use When
Tutorials Doing a lab session
Reference Looking up pinouts, APIs, details
Advanced Going deeper (optional)
Want to Go Deeper?

Optional deep-dives for students who want more:

Module Topics
Sensor Theory Physics, noise, calibration
Real-Time Task models, scheduling
Control Theory Full PID, stability
Sensor Fusion Kalman basics
Communication Protocols, logging
Architecture Layers, testing
Data Methods Regression, validation
Abstraction Layers Python to registers, I2C/SPI

Embedded Systems (ES101) — Óbuda University