420-302-VA · Internet of Things
VANIER COLLEGE · FALL 2026 · MONDAYS 14:30 · D-221

420-302-VA · Internet of Things · Fall 2026

Code that senses, decides and acts in the real world.

This course takes you from your first Python program to a small distributed system: microcontrollers reading the world, a Raspberry Pi making decisions, and a dashboard in your browser showing it all live. This page is the map of the whole semester.

Mondays 14:30–17:30 Room D-221 Program 243.D0 · Automation & Control
Illustrated pipeline from left to right: the Python logo, a code editor, an ESP32 board with Wi-Fi, a Raspberry Pi, a set of sensors (temperature, motion, soil moisture, light), a cloud with Wi-Fi waves, and finally a house with a dashboard of controls
The course in one line. Python code runs on small boards, sensors feed them the world, the network carries the data, and a dashboard turns it into something a person can see and control. Every week adds one link of this chain. Course illustration.

What this course is

420-302-VA Internet of Things – Introduction to Python Programming is the programming course of the Automation & Control profile. You arrive knowing electronics and industrial control from Robotics II; you leave able to program the connected side of such systems: reading sensors in Python, moving measurements across a network, applying control logic, and presenting live data on the web. No prior programming is assumed; the course builds Python from zero, on real hardware, in the service of one growing system.

FactValue
Course420-302-VA · Internet of Things – Introduction to Python Programming
Program243.D0 Electrical Engineering Technology, Automation & Control profile
SessionFall 2026 · Mondays 14:30–17:30 · Room D-221 · 15 meetings, Aug 24 to Dec 10
Ponderation1-2-2: one hour of theory and two hours of lab per week in class, plus about two hours of personal work
Prerequisite243-207-VA Robotics II
TeacherPravish Sainath · contact and office hours on Omnivox

The system you will build

The semester converges on one architecture, assembled piece by piece and reused in the term project:

  • An ESP32 microcontroller reads the physical world, including analog signals like a photocell's voltage that the Raspberry Pi cannot read by itself.
  • It publishes measurements over Wi-Fi with MQTT, the lightweight messaging protocol of the IoT world.
  • A Raspberry Pi, a full Linux computer you install and secure yourself, receives the data, runs your Python control logic, and stores what matters.
  • A Flask web dashboard on the Pi shows live values and controls in any browser on the network.

By Week 11 every layer exists and works; the project weeks are about making your version of it reliable, documented and yours.

What you build along the way

Four illustrated project vignettes around a Python logo: a soil-moisture probe in a potted plant with a readings card, an outdoor temperature and humidity sensor in a garden, a smart lamp with a relay module and toggle, and a browser dashboard with charts; below them a Raspberry Pi and an ESP32 board
The lab thread, in pictures. Monitoring a plant, sensing the weather, switching real devices, and charting it all in a browser: each is a lab before it is a project ingredient. Course illustration.
  • Weeks 1–3, foundations: a shared Git/GitHub workflow, a Raspberry Pi you installed, secured and can reach remotely.
  • Weeks 4–7, Python on hardware: LEDs, buttons and sensors on the GPIO header, programs that grow from scripts to structured, object-oriented code, requirements and pseudocode as working habits. Midterm in Week 7.
  • Weeks 8–10, the distributed part: the ESP32 joins, analog sensing arrives, MQTT connects the boards, and Assignment 2 closes a real control loop (a PID that harvests light).
  • Weeks 11–15, the term project (LIA): in pairs, a complete sensing-deciding-acting-showing system on a theme you choose, delivered in five graded milestones with a public demonstration; the LIA project hub is its standing reference in Week 15.

The semester in five phases

Illustrated path through green hills with five numbered stops: Python (learn to code), Hardware (get hands-on), Sensors (sense the world), Networking (connect and share), Projects (build real things); wooden signs read Small steps, big ideas and A smarter, greener tomorrow
Small steps, one path. Each phase stands on the one before it, which is why attendance and the weekly hand-ins matter more here than in a lecture course. Course illustration.
PhaseWeeksWhat happensHub
1 · Foundations1–3Git and GitHub; the Raspberry Pi from bare board to secured, remotely reachable Linux machine; Assignment 1W1 · W2 · W3
2 · Python & GPIO4–7Python environments, gpiozero, digital sensing and acting; requirements, pseudocode, OOP; midterm and reflection logW4 · W5 · W6 · W7 · more as published
3 · Sensors & network8–10ESP32 and analog inputs; MQTT telemetry between boards; control logic and Assignment 2 (PID light harvesting)W8 · W9 · W10
4 · Interfaces11–12Flask web dashboard on the Pi; the project starts and runs under supervisionW11 · W12
5 · Project & final13–15Final examination (W13); project milestones D3–D5 ending with the live demonstrationW13 · W14 · more as published

How each class runs

Illustrated lab desk: a laptop with a terminal on the left, an ESP32 on a breadboard with an LED and sensors in the middle, a Raspberry Pi connected to a dashboard screen on the right, with a notebook and pen beside it
A station, mid-lab. Left to right is the weekly rhythm: code on the PC, a circuit that does something, a Pi that runs it, a screen that shows it, and notes that make it reproducible. Course illustration.

1 h · Theory

The idea of the week, with the vocabulary named and the diagrams drawn: how Git thinks, what a port is, why a PID loop settles. Each hub's early pages carry this material, so a missed hour can be recovered.

2 h · Lab

Hands on, in pairs, at a two-computer station. Every lab ends with evidence: command outputs, screenshots and pushed commits handed in on Omnivox. The hubs are written to be followed live at the bench.

2 h · Homework

Finishing the lab, the assigned reading or practice tool, and your journal notes. The midterm reflection log (Week 7) and the project's documentation both grow out of these two weekly hours.

Grading at a glance

ComponentWeightWhen
Assignment 1 · Git and GitHub10 %Released W2 · demonstrated in class W3
Assignment 2 · PID light harvesting15 %Released W8 · due W10
Midterm examination10 %Week 7 (Oct 19)
Midterm reflection log10 %Week 7
Final examination15 %Week 13 (Nov 30)
Term project (LIA), five deliverables40 %D1 5 % (W11) · D2 5 % (W12) · D3 5 % (W13) · D4 15 % (W14) · D5 10 % (W15)

The authoritative version, with policies on late work, absence at a demonstration and academic integrity, is the course outline on Omnivox. Two calendar notes worth flagging early: Friday, September 18 is the deadline to withdraw without a transcript remark, and Tuesday, November 3 opens the AE drop period.

Materials and accounts

  • Lent by the lab, weekly: the Raspberry Pi (4, 400 or 5), a labelled boot drive (microSD card or USB SSD) that carries your installation between classes, and from Week 8 the ESP32 boards. Drives are collected at the end of every class; anything not pushed to GitHub exists in exactly one place.
  • You bring, from Week 4: the breadboard kit listed on Omnivox: breadboard, LEDs, resistors, jumper wires, and the sensors named in the list.
  • Accounts and software, all free: a GitHub account (created in Week 1), Git on any machine you work on, and later Thonny and Python, which come with Raspberry Pi OS. Nothing to purchase.
  • Optional, for home: your own microSD card or USB SSD to replicate the class installation, and any computer that can run Raspberry Pi Imager. Every hub has a "working at home" section.

Working method, and where AI fits

The course grades working systems you can explain. Three habits are treated as part of the craft from Week 1, because the evaluations check them directly:

  • Version everything. Small commits with honest messages, pushed. Contribution traceability in the shared repositories is part of the project grade, and demos include a live change.
  • Evidence over claims. Every lab produces command outputs and screenshots; "it worked" is a sentence, findmnt output is a fact.
  • Document for a stranger. The project's README must let a third party rebuild your system. That standard starts with the Week 1 README and never relaxes.

Generative AI tools may help you learn: explaining an error message, clarifying a concept, suggesting an approach. What you submit must be understood, tested and documented by you, and any AI use is acknowledged in your reflection logs. The in-class demonstrations, where you change code live and explain any line, are where that understanding is checked; the full policy is in the outline.

Key dates

DateWhat
Mon. Aug. 24Week 1: first class · Git and GitHub
Mon. Aug. 31Week 2: Raspberry Pi · Assignment 1 released
Mon. Sep. 7No class (Labour Day)
Mon. Sep. 14Week 3 · Assignment 1 demonstrated in class
Fri. Sep. 18Withdrawal deadline (no transcript remark)
Mon. Oct. 5 & Mon. Oct. 12No Monday class (mid-semester break week and Thanksgiving)
Tue. Oct. 6Class meets: Tuesday follows a Monday schedule
Mon. Oct. 19Week 7: midterm examination + reflection log
Tue. Nov. 3AE drop period opens
Mon. Nov. 30Week 13: final examination · project D3
Thu. Dec. 10Week 15, last class: Thursday follows a Monday schedule · project demonstrations · D5

Where things live

Omnivox · the official record

The course outline, assignment instructions, the equipment list, grades and announcements. When this site and Omnivox ever disagree, Omnivox wins.

This site · the lab companion

One hub per hands-on week, written to be followed at the bench: numbered stages, checklists, quizzes and a troubleshoot page each. Start at the home page or jump to Week 1.