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.

All lessons

Search every Uno 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.

1 session + optional extras
02Module 1 - Getting Started

Microcontrollers & the Arduino Uno

Meet the computer on the Uno: MCU vs PC, power pins, I/O groups and clone boards, with optional R4 and bare-chip extras.

1 session + optional extras
03Module 1 - Getting Started

Arduino IDE 2 & First Upload

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

1 session + optional extras
04Module 2 - Programming Fundamentals

Sketch Structure, Variables & Types

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

2 sessions + optional extras
05Module 2 - Programming Fundamentals

Operators & Decisions

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

2 sessions + optional extras
06Module 2 - Programming Fundamentals

UART Serial & Debugging

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

1 session + optional extras
07Module 2 - Programming Fundamentals

Loops & Arrays

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

1 session + optional extras
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 sessions + optional extras
09Module 3 - Digital I/O & Timing

Digital Outputs, RGB LEDs & Buzzers

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

1 session + optional extras
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.

1 session + optional extras
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.

2 sessions + optional extras
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.

1 session + optional extras
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.

2 sessions + optional extras
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.

1 session + optional extras
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.

1 session + optional extras
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.

1 session + optional extras
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.

1 session + optional extras
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.

1 session + optional extras
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.

1 session + optional extras
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.

1 session + optional extras
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, capture UART and I2C traffic on the oscilloscope and choose a bus for a module.

1 session + optional extras
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.

1 session + optional extras
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.

1 session + optional extras
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.

1 session + optional extras
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().

1 session + optional extras
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.

1 session + optional extras
27Module 9 - Integration Projects

Capstone 1: Environmental Monitor

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

1 session + optional extras
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

Catch a button press the moment it happens with an interrupt on D2, keep the interrupt function tiny with a volatile flag, and do the real work in loop(). An optional appendix covers the Uno's other interrupt sources and sleep.

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

Language, types, snprintf, I/O and circuit reference for this course. Read matching sections before practical lessons.

Reference - use as needed