Arduino Uno - College electronics practicals

Learn microcontrollers by building, measuring and proving

27 core lessons in 10 modules take you from bench safety and first sketches to sensors, actuators and integrated systems - with Code Along practice on a virtual Uno and competency-based practical assessments.

Course map from foundations through assessment
In class

This week

Choose the week your class is in. The page remembers it and moves on to the next week every Monday.

Your progress0% complete

Course modules

Work through the modules in order. Each lesson links to its Theory Reference reading and its Code Along practice. Lessons marked optional are extension work and final-project material.

Taught in class

Read before class

Short, phone-friendly pre-reading and Code Along practice for every session of the twelve-week course.

Open the Before class page

What you will be able to do

Understand

Explain microcontroller hardware, C++ structures, sensors, buses and actuator drivers.

Build safely

Plan pins and power, wire breadboards, protect outputs and verify circuits before energising.

Code independently

Read inputs, make decisions, schedule tasks without delay(), organise functions and diagnose faults.

Prove competence

Plan, measure and document builds, then demonstrate them against practical assessment criteria.

Bench kit and safety

Every bench

Arduino Uno, USB data cable, breadboard, jumpers, digital multimeter and oscilloscope, LEDs, resistors, transistors, buttons, potentiometer and buzzer.

Student kit modules

Servo, DC motor with H-bridge, I2C 16x2 LCD, DHT11, RTC, thermistor, LDR and IR receiver with remote.

Shared and project parts

Stepper motors and drivers are shared stations. Ultrasonic, keypad, RFID and SD modules are covered in the extension lessons for final projects.

Safety boundary

Extra-low-voltage DC only. Never connect mains. Motors and servos need their own supply with a common GND, and heavy loads need a driver.

ESP32 follow-on course

After the Uno course: 3.3 V boards, NeoPixels, Wi-Fi, web servers, MQTT, BLE, deep sleep and OTA updates. Lookup notes are in the ESP32 Reference.

All lessons

Search every lesson and reference page by title or topic.

01Module 1 - Getting Started

Bench Safety, Breadboards & First Measurements

Apply your electrical basics to microcontroller work: protect Uno pins, read a breadboard correctly, and make first measurements with the multimeter and oscilloscope.

2 hours
02Module 1 - Getting Started

Microcontrollers & the Arduino Uno

Meet the computer on the Uno: MCU vs PC, power pins, I/O groups, R3 vs R4, and optional bare-chip essentials.

2-3 hours
03Module 1 - Getting Started

Arduino IDE 2 & First Upload

Install Arduino IDE 2, select board and port, Verify, Upload, and blink the onboard LED.

2 hours
04Module 2 - Programming Fundamentals

Sketch Structure, Variables & Types

Build readable sketches: setup/loop, named pins, suitable types, scope, and clean syntax.

3 hours
05Module 2 - Programming Fundamentals

Operators & Decisions

Calculate, compare and branch: arithmetic, = vs ==, Boolean logic, if/else chains and switch.

3 hours
06Module 2 - Programming Fundamentals

UART Serial & Debugging

Watch your sketch over USB Serial, print useful labels, and accept simple commands.

3 hours
07Module 2 - Programming Fundamentals

Loops & Arrays

Remove repetition with for and while loops, and keep related pins and readings together in arrays.

2-3 hours
08Module 2 - Programming Fundamentals

Functions: Naming & Reusing Tasks

Package repeated work behind a clear name, pass values in with parameters, and hand results back with return.

2-3 hours
09Module 3 - Digital I/O & Timing

Digital Outputs, RGB LEDs & Buzzers

Drive LEDs safely, mix RGB colour, and play tones on a passive buzzer.

3 hours
10Module 3 - Digital I/O & Timing

Digital Inputs, Pull-Ups & Debouncing

Read buttons reliably: pull-ups and active-low wiring, contact bounce you can see on the oscilloscope, debouncing, and acting once per press.

2-3 hours
11Module 3 - Digital I/O & Timing

Non-Blocking Timing & State Machines

Run several timed tasks together without delay(), debounce a button alongside them, and sequence timed steps with a state machine.

3-4 hours
12Module 4 - Engineering Practice

Planning, Documentation & Evidence

Turn a brief into success criteria, an IPO diagram, truth table and pin plan, then prove the build with a test table and fault log - the evidence every assessment marks.

2 hours
13Module 4 - Engineering Practice

Practical Fault-Finding & Multimeter Skills

Set up the multimeter safely, check power, then signals, then code, prove each subsystem with a minimal test and keep a fault log.

4-5 hours
14Module 5 - Analogue Inputs & PWM

Analogue Inputs, ADC & Voltage Dividers

Understand analogue versus digital signals, measure voltage with the Uno ADC, and scale readings into engineering values.

4 hours
15Module 5 - Analogue Inputs & PWM

PWM Output & Duty Cycle

Explain PWM duty cycle, measure it on the oscilloscope, and control LED brightness from a potentiometer with analogWrite.

2-3 hours
16Module 6 - Drivers & Actuators

Driving Loads: Transistors, MOSFETs & Relays

Apply transistor and MOSFET switching to Uno outputs: size the drive, protect against inductive spikes, and verify the switch with meter and oscilloscope.

2-3 hours
17Module 6 - Drivers & Actuators

Servo Motors

See how pulse width sets a servo's angle, drive it with Servo.h in a safe range, and power it from its own supply with a common GND.

3 hours
18Module 6 - Drivers & Actuators

DC Motors & H-Bridges

Drive a DC motor through an H-bridge: IN1/IN2 for direction, PWM for speed, and a short stop before every reverse.

4 hours
19Module 6 - Drivers & Actuators

Stepper Motors & the Stepper Library

Move a geared 28BYJ-48 stepper a counted number of steps with the built-in Stepper library, see the coil sequence on the scope, and understand why steppers can lose position.

2 hours
20Module 7 - Displays, Buses & Signals

I2C, Address Scanning & I2C LCD

Wire a 16x2 LCD with just SDA and SCL, find its I2C address with a scan, and print text and live values.

4 hours
21Module 7 - Displays, Buses & Signals

Buses on the Oscilloscope: UART, I2C & SPI

Compare UART, I2C and SPI by wiring and device selection, find their Uno pins, scan the I2C bus and choose a bus for a module.

3 hours
22Module 7 - Displays, Buses & Signals

Infrared Remote Control

Wire a 38 kHz IR receiver, print your remote's codes with IRremote, and map buttons to actions in your sketch.

3 hours
23Module 8 - Sensors & Calibration

Resistive Sensors, Dividers & the LDR

Turn a resistance change into a voltage the ADC can read, calculate sensor resistance from counts, and switch reliably on light level with hysteresis.

2-3 hours
24Module 8 - Sensors & Calibration

Thermistors, the Beta Equation & Calibration

Convert a thermistor divider reading to resistance and then to Celsius with the Beta equation, calibrate against a reference thermometer, and switch a fan with hysteresis.

3 hours
25Module 8 - Sensors & Calibration

DHT11 / DHT22 Temperature & Humidity

Read temperature and humidity from a DHT11 or DHT22 with the Adafruit library, and reject failed readings with isnan().

3 hours
26Module 8 - Sensors & Calibration

DS1307 RTC & Formatted Text

Keep date and time through power loss with a DS1307, set it only when needed, and print it as fixed-width text with snprintf.

4 hours
27Module 9 - Integration Projects

Capstone 1: Environmental Monitor

Integrate DHT11, LDR, I2C LCD and a temperature alarm into one monitored system.

6-8 hours
28Module 9 - Integration Projects

Capstone 2: Clock, Alarm & Servo

Share I2C between RTC and LCD, then drive a servo and buzzer from alarm states without blocking delays.

6-8 hours
29Module 10 - Extension Builds

Interrupts on the Uno

Respond to button edges with external interrupts on D2 and D3, keep ISRs short with volatile flags, and explore the other Uno interrupt families and sleep modes in the optional appendix.

2 hours core, plus optional appendix
30Module 10 - Extension Builds

Build Your Own Library

Full SimpleThermistor walkthrough: library folder layout, .h/.cpp class, test sketch and thermistor divider wiring.

2-3 hours
31Module 10 - Extension Builds

HC-SR04 Ultrasonic Distance

Trigger a 40 kHz burst, time the echo with pulseIn, convert microseconds to centimetres, and handle timeouts.

4 hours
32Module 10 - Extension Builds

4x4 Matrix Keypad

Read a membrane keypad with the Keypad library and print each press on Serial.

2-3 hours
33Module 10 - Extension Builds

MFRC522 RFID Access Log (VMA202)

Identify cards with an MFRC522, decide allow or deny, and append timestamped events to the Velleman VMA202 SD card.

6-8 hours
34Module 10 - Extension Builds

16x2 LCD in 4-Bit Mode

Wire a 16x2 LCD without a backpack (RS, E and four data lines), set the contrast, and show text and live values.

4 hours
RefCourse Resources

Practical Assessments

How the course is assessed: a code-correction exercise, three practical tasks and a final project, each with a set brief and Competent / Not Yet Competent criteria.

Reference - see each brief
RefCourse Resources

Theory Reference

World-class language, types, snprintf, I/O and circuit reference for this course. Read matching sections before practical lessons.

Reference - use as needed
E01ESP32 Part 1 - Foundations

Introducing the ESP32 Family

Meet the ESP32 family, learn classic DevKit anatomy, install Espressif support, and complete a reliable first blink/Serial upload.

2-3 hours
E02ESP32 Part 1 - Foundations

Why ESP32: Architecture, Memory and When to Leave the Uno

Build a board passport: read chip model, flash and free heap, then decide when ESP32 earns a place over the Uno.

2-3 hours
E03ESP32 Part 1 - Foundations

3.3 V Logic, Power Rails and Level Shifting

Protect ESP32 GPIO and build a safe front-panel acknowledge button with a status LED - never feed 5 V into pins.

2-3 hours
E04ESP32 Part 1 - Foundations

Pinout, Strapping Pins, ADC, DAC and Touch

Learn strapping pins and 12-bit ADC, then build a trim setpoint reader that reports LOW/MID/HIGH bands.

3 hours
E05ESP32 Part 1 - Foundations

GPIO, PWM, ADC and UART on ESP32

Map Uno I/O habits onto ESP32 and build a bench lamp dimmer with a clear brightness percent readout.

2-3 hours
E06ESP32 Part 1 - Foundations

Addressable RGB LEDs: NeoPixel / WS2812 Strips

Power a short NeoPixel strip safely, then build a shelf mood strip with calm / work / alert colours.

3 hours
E07ESP32 Part 1 - Foundations

NeoPixel Matrices and XY Mapping

Map an 8x8 matrix with serpentine XY(), then build a desk status tile with free / busy / alert colours.

3-4 hours
E08ESP32 Part 2 - Wireless

WiFi Fundamentals: Station vs Access Point

Join the LAN, then build a network health meter that reports RSSI and reconnects if the link drops.

3 hours
E09ESP32 Part 2 - Wireless

Local Web Server: Control from a Browser

Build a room light remote: a phone on the same WiFi toggles a named lamp and sees when it last changed.

3-4 hours
E10ESP32 Part 2 - Wireless

HTTP Client, JSON and Cloud APIs

Parse JSON as a client, then build an outdoor condition lamp driven by a live temperature field.

4 hours
E11ESP32 Part 2 - Wireless

MQTT Publish and Subscribe

Build a remote thermostat channel: publish temperature and switch a heater-sim LED from an MQTT command topic.

3-4 hours
E12ESP32 Part 2 - Wireless

Credentials, Reconnect and SoftAP Provisioning

Build a first-boot WiFi setup path: try STA, then open SoftAP with a form that captures credentials on Serial.

3-4 hours
E13ESP32 Part 3 - Advanced

Bluetooth Low Energy Essentials

Build a phone-controlled desk lamp over BLE: advertise, write on/off, then notify the phone of lamp state.

3-4 hours
E14ESP32 Part 3 - Advanced

Deep Sleep and Power Management

Build a battery-style pulse logger: wake on a timer, read a sensor stand-in, print a line, then sleep again.

3 hours
E15ESP32 Part 3 - Advanced

FreeRTOS Tasks and Dual-Core Basics

Build an alive monitor: a snappy status LED in loop while a worker task samples slowly on another core.

3 hours
E16ESP32 Part 3 - Advanced

Over-the-Air Updates

Ship a field-updatable node: first USB flash enables OTA, then change the firmware version banner and blink over Wi-Fi.

3 hours
E17ESP32 Part 3 - Advanced

Capstone: Networked Room Node

Build an assessment-ready room node: STA WiFi, live comfort reading on the web, JSON for programs, and a threshold alert LED.

4-5 hours