Skip to main content
Campus backdrop

Lectures & Sessions

Teaching sessions delivered by Dr James Williams across the project — from sensor hardware to community presentations.

Lab backdrop

About these sessions

Sessions are delivered by Dr James Williams (STEM Partner, Research Fellow, University of Nottingham) to Halesowen College's Digital T Level (Data Analytics) students as part of the HalesAir project. Each session is hands-on and directly connected to a stage in the project pipeline — from building the first circuit to presenting findings to local stakeholders.

Session Schedule

Session 01

What is Air Quality? Sensor Design & Research Questions

Friday 6 March 2026
  • What is air quality?
  • Who is the STEM Partner?
  • Designing your sensor
  • Picking a location · Research question design
Delivered View Slides
Session 02

Hardware & Electronics

  • Raspberry Pi Pico W overview
  • GPIO and I2C communication
  • BME680 sensor board
  • Breadboarding and circuit basics
Session 03

MicroPython Fundamentals

  • Setting up Thonny IDE
  • Variables, loops, and functions
  • Reading from the BME680
  • Printing and formatting sensor data
Session 04

Data Logging & Transmission

  • Writing data to a CSV file
  • Connecting to Wi-Fi on the Pico W
  • HTTP POST requests in MicroPython
  • Handling network errors
Session 05

Data Cleaning & Exploration

  • What is 'dirty' data?
  • Identifying outliers and missing values
  • Summary statistics
  • Exploratory data analysis in Python/Excel
Session 06

Statistical Analysis

  • Descriptive statistics
  • Correlation and trends
  • Time-series patterns
  • Comparing sites and conditions
Session 07

Data Visualisation

TBC
Session 08

Science Communication

TBC

A taste of the code

In Session 03 students write their first MicroPython to read live sensor data from the BME680.

Circuit backdrop
# session03_bme680_read.py
from machine import I2C, Pin
import bme680, time

i2c = I2C(0, sda=Pin(4), scl=Pin(5))
sensor = bme680.BME680_I2C(i2c)

while True:
    temp = sensor.temperature
    hum  = sensor.humidity
    pres = sensor.pressure
    gas  = sensor.gas

    print(f"Temp: {temp:.1f}°C  "
          f"Hum: {hum:.0f}%  "
          f"Pres: {pres:.0f} hPa  "
          f"IAQ: {gas}")


    time.sleep(10)
Data backdrop

Session Resources

Slide decks, code examples, and worksheets for each session will be linked here as the project progresses. Students can also access materials via the college's learning platform.