Teaching the Arduino Uno Course
Sixty two-hour sessions over twelve weeks for electronics students who are new to programming. Weeks 1-10 teach the Uno modules with Code Along practice and four practical assessments; weeks 11-12 are studio time for the individual final project.
How the sessions work
- Students spend 20-30 minutes on pre-reading on their phones before each session. The reading for every session is listed on the student Before class page.
- Most teaching sessions share one rhythm: a short recap quiz, a demonstration, a bench build with measurements, Code Along practice, then a wrap-up that points to the next pre-reading.
- Code Along exercises named in a session plan are done in class on the lab PCs. Homework exercises can be done on a phone; ones tagged Laptop have long solutions and suit a computer.
- Homework means finishing what class didn't, not extra work: a student who finished the in-class exercises only has the pre-reading. Tell students this in S1 - the Before class page says the same under session 1.
- The checkpoint at the end of each plan is the minimum every student should reach before the next session. Students who miss it follow the catch-up path, usually in the next review session.
- Assessments use set briefs with Competent / Not Yet Competent criteria. Reassessment sessions (S35 and S49) give one further attempt at criteria marked NYC.
- Every bench has a multimeter and an oscilloscope, so measuring is built into the plans: students record readings as evidence instead of assuming.
All 60 sessions
Select a session for its full plan. Colours show the session type.
Bench habits, the Uno board, first uploads, variables and types.
if, switch, Serial commands, loops and arrays.
Functions, RGB LEDs and buzzers, pull-ups, bounce and edges.
millis(), state machines, planning evidence and the code-correction assessment.
Hardware fault finding, the ADC, PWM on the scope, and Task A.
MOSFET drivers, servos, DC motors, stepper stations and project proposals.
The I2C LCD, buses on the scope, IR remotes, formatted text and reassessment.
Resistive sensors, thermistor calibration and Task B.
DHT11, the RTC, the environment monitor and Task C.
Task C demonstrations, extension workshops, reassessment and project plan reviews.
Subsystems proven, then integrated into a working prototype.
Testing, documentation, rehearsal and final demonstrations.
Running the course in fewer weeks
The plan assumes ten teaching weeks. If only eight are available, drop the ten flex sessions listed below: replace the hardware fault-finding practical (S21) with a 10-minute facilitator demo at two stations in S19 and move two fault exercises to S19 homework (see the S19 notes), set the functions practice (S12) as homework, and keep the IR, buses and stepper lessons as final-project material. The remaining sessions still cover every assessment, and the final project gains two weeks.
Flex sessions are also the catch-up valve in the full course. If a cohort falls behind the schedule, use the next flex session (for example S15) to catch up on the core work it missed rather than teaching that session's own content, and keep the plan after it unchanged.
Assessment map
| Assessment | Sessions | Time | Marking |
|---|---|---|---|
| Code-Correction Exercise | S20 | One 2-hour session, individual | Model answer |
| Practical Task A: Extractor Fan Speed Selector | S24 S25 | Two 2-hour sessions: plan and wire in the first, finish, test and demonstrate in the second | Model answer |
| Practical Task B: Cabinet Over-Temperature Alarm | S38 S39 | Two 2-hour sessions: plan, wire and calibrate in the first, finish and demonstrate in the second | Model answer |
| Practical Task C: Greenhouse Vent Controller | S44 S45 S46 | Three 2-hour sessions: plan and prove each part, join them up, then test and demonstrate | Model answer |
| Final Project: Individual Microcontroller System | S50 S60 | Milestones from week 6; final demonstration in the last session of week 12 | Model answer |
Kit, stations and instruments
- Each student has an Uno kit (servo, DC motor with H-bridge, I2C 16x2 LCD, DHT11, RTC, thermistor, LDR, IR receiver and remote), a digital multimeter and an oscilloscope.
- Transistors, MOSFETs, diodes, resistors and capacitors come from the class stores. Issue them in the session that uses them.
- There are two stepper stations (28BYJ-48 with ULN2003). In S29 run them as a timed rotation of pairs while the rest of the class works on H-bridge extensions.
- Ultrasonic, keypad, RFID and SD modules are not in the kits. They support the extension lessons and final projects - issue them against approved proposals.
- Motors, servos and steppers run from a separate 5 V supply with a common GND. Check this at the bench before any actuator is powered.
Lesson coverage
Code Along coverage
Exercises used in class, as extension or catch-up work, or as homework.
| Chapter | Exercises scheduled | Sessions |
|---|---|---|
| 1. Sketch Structure & Serial Output | 8 of 8 | S01 S02 S03 S05 S08 |
| 2. Variables & Types | 9 of 9 | S03 S04 S05 |
| 3. Operators & Decisions | 8 of 8 | S06 S07 S08 S10 |
| 4. Loops & Arrays | 9 of 9 | S09 S10 |
| 5. Functions | 6 of 6 | S11 S12 S15 |
| 6. Digital Outputs, RGB & Buzzer | 6 of 6 | S13 S15 |
| 7. Buttons, Pull-ups & Debounce | 5 of 5 | S14 S15 S25 S35 S48 |
| 8. Time Without delay() | 7 of 7 | S16 S17 S25 S35 S48 |
| 9. Finding & Fixing Faults | 7 of 7 | S19 S20 S35 |
| 10. Analogue Inputs | 6 of 6 | S22 S36 S39 S40 |
| 11. PWM & Fading | 6 of 6 | S23 S40 |
| 12. Servos & Position | 3 of 6 | S27 |
| 13. Motors & the H-Bridge | 5 of 6 | S28 S29 S30 S40 |
| 14. The I2C LCD Display | 6 of 6 | S31 S35 S40 |
| 15. Text & Time Formatting | 5 of 5 | S34 S40 S42 |
| 16. Assessment Practice: Tasks A & B | 8 of 8 | S23 S37 |
| 17. Temperature & Humidity (DHT11) | 5 of 5 | S41 |
| 18. Real-Time Clock (DS1307) | 4 of 5 | S42 |
| 19. Switching a Fan (MOSFET Driver) | 2 of 4 | S26 |
| 20. ESP32: First Sketch | 0 of 2 | |
| 21. ESP32: LOW, MID or HIGH | 0 of 1 | |
| 22. ESP32: 0-4095 to Percent | 0 of 1 | |
| 23. ESP32: A Web Page as Text | 0 of 2 |