Facilitator guide

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.

12weeks in class
60sessions of 120 min
10teaching weeks
2final project weeks
5assessments incl. 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.
  • 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.

Teach & buildReview & mini-projectAssessmentReassessmentProject studioFlex

Running the course in fewer weeks

The plan assumes ten teaching weeks. If only eight are available, drop the ten flex sessions listed below: fold the hardware fault-finding practical (S21) into S19, 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: S12 S15 S21 S29 S32 S33 S40 S43 S47 S48

Assessment map

AssessmentSessionsTime
Code-Correction ExerciseS20One 2-hour session, individual
Practical Task A: Extractor Fan Speed SelectorS24 S25Two 2-hour sessions: plan in the first, build, test and demonstrate in the second
Practical Task B: Cabinet Over-Temperature AlarmS38 S39Two 2-hour sessions: calibrate and plan in the first, build and demonstrate in the second
Practical Task C: Greenhouse Vent ControllerS44 S45 S46Three 2-hour sessions: plan and prove subsystems, integrate, then test and demonstrate
Final Project: Individual Microcontroller SystemS50 S60Milestones from week 6; final demonstration in the last session of week 12

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

ModuleLessonTaught in
Module 1Lesson 01: Bench Safety, Breadboards & First MeasurementsS01
Module 1Lesson 02: Microcontrollers & the Arduino UnoS02
Module 1Lesson 03: Arduino IDE 2 & First UploadS02
Module 2Lesson 04: Sketch Structure, Variables & TypesS03 S04
Module 2Lesson 05: Operators & DecisionsS06 S07
Module 2Lesson 06: UART Serial & DebuggingS08
Module 2Lesson 07: Loops & ArraysS09
Module 2Lesson 08: Functions: Naming & Reusing TasksS11 S12
Module 3Lesson 09: Digital Outputs, RGB LEDs & BuzzersS13
Module 3Lesson 10: Digital Inputs, Pull-Ups & DebouncingS14
Module 3Lesson 11: Non-Blocking Timing & State MachinesS16 S17
Module 4Lesson 12: Planning, Documentation & EvidenceS18
Module 4Lesson 13: Practical Fault-Finding & Multimeter SkillsS19 S21
Module 5Lesson 14: Analogue Inputs, ADC & Voltage DividersS22
Module 5Lesson 15: PWM Output & Duty CycleS23
Module 6Lesson 16: Driving Loads: Transistors, MOSFETs & RelaysS26
Module 6Lesson 17: Servo MotorsS27
Module 6Lesson 18: DC Motors & H-BridgesS28
Module 6Lesson 19: Stepper Motors & the Stepper LibraryS29
Module 7Lesson 20: I2C, Address Scanning & I2C LCDS31
Module 7Lesson 21: UART, I2C & SPI ReferenceS32
Module 7Lesson 22: Infrared Remote ControlS33
Module 8Lesson 23: Resistive Sensors, Dividers & the LDRS36
Module 8Lesson 24: Thermistors, the Beta Equation & CalibrationS37
Module 8Lesson 25: DHT11 / DHT22 Temperature & HumidityS41
Module 8Lesson 26: DS1307 RTC & Formatted TextS42
Module 9Lesson 27: Capstone 1: Environmental MonitorS43
Module 9Lesson 28: Capstone 2: Clock, Alarm & ServoS47
Module 10Lesson 29: Interrupts on the UnoS47
Module 10Lesson 30: Build Your Own LibraryS48
Module 10Lesson 31: HC-SR04 Ultrasonic DistanceS48
Module 10Lesson 32: 4x4 Matrix KeypadS48
Module 10Lesson 33: MFRC522 RFID Access Log (VMA202)S48
Module 10Lesson 34: 16x2 LCD in 4-Bit ModeExtension / project

Code Along coverage

Exercises used in class, as extension or catch-up work, or as homework.