The LIA project: one system, five milestones
420-302-VA · LIA PROJECT · FALL 2026

Utility · the project's library

Reference shelf

Everything here was verified when its week shipped, and each link earned its place by answering real bench questions. Organized the way you will reach for it: by the subsystem you are working on, with the week hub that teaches the layer beside the manual that defines it.

The governing documents

  • The LIA brief, on Omnivox: deliverable contents, submission, deadlines, grading. It governs.
  • The Fall 2026 course outline, on Omnivox: weights, policies, the calendar of record.

The shelf, by subsystem

SubsystemReferenceWhat it answers
Node · ESP32 & MicroPythonMicroPython ESP32 quick referencePins, ADC, PWM, Wi-Fi, one page; the first stop for any node question
machine.ADC · machine.PWMAttenuation, reading, duty cycle: the sensing and acting primitives
network.WLANThe Wi-Fi join your connect_wifi wraps, and its status codes
micropython-lib (umqtt)The node's MQTT client: connect, publish, check_msg, last will
Broker · MQTTEclipse MosquittoThe broker, its configuration and the mosquitto_sub/_pub tools your stubs and probes are made of
mqtt.orgThe protocol itself: versions, specifications, the vocabulary
MQTT Essentials (HiveMQ)Topics, QoS, retained, last will, explained longer than Week 9 could
Pi programspaho-mqttThe Pi-side client: callbacks, loop_start, the 2.x API your monitor and bridge use
Python classes · venvThe objects your programs are built from, and the environments they run in
Control · the ruleControl theory · Bang-bang controlThe decide slot's theory, from threshold rules to feedback
Improving the beginner's PIDFor projects holding a quantity: the practical PID series behind Week 10
Dashboard · Flask & the webFlask · JinjaRoutes, templates, jsonify: the serving half of the showing slot
MDN: HTTP · HTML · Fetch APIThe browser half: the protocol, the page, and the polling that animates it
systemd.service · journalctlThe unit file keeping it all alive, and the log that reads its nights
Hardware & wiringpinout.xyzEvery Pi pin, both numbering systems; the settling authority
Raspberry Pi documentationThe board, the OS, remote access, configuration

The layer behind each layer

Every subsystem above has a course hub that teaches it with this bench's exact conventions, usually the faster path than any manual: Week 8 for the node's sensing and acting, Week 9 for MQTT, topics and the firehose, Week 10 for the rule and tuning, Week 11 for Flask, the bridge and the dashboard, and Week 12 for integration, debugging and services. Earlier layers: Week 1 (Git), Week 3 (SSH, firewall), Week 4 (GPIO, venv). Each hub's own troubleshoot page is its layer's symptom table.

Method references