Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
IoT & Embedded

Classroom CO2 and Ventilation Monitor Network with a Raspberry Pi Gateway for Schools

A final year project that builds a network of low-cost CO2 sensor nodes for classrooms, each with a traffic-light display, reporting to a Raspberry Pi gateway that runs its own MQTT broker, database and dashboard, even without internet. Teachers see at a glance when to open a window, and school leaders get a weekly report of which rooms are poorly ventilated and when.

Difficulty

Intermediate

A small team, or one strong student willing to learn something new.
Effort

2 semesters · 2 to 3 students

Deliverables

7 to ship

5 optional extras

Suggested stack

Raspberry Pi (gateway)Raspberry Pi Pico W or ESP32 nodesNDIR CO2 sensor (e.g. SCD40/SCD41)Eclipse MosquittoPython (paho-mqtt)PostgreSQL or SQLiteNode-RED or a small web app
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • At least four classroom nodes measuring CO2, temperature and humidity, each with a green, amber and red indicator
  • A Raspberry Pi gateway running Mosquitto with authentication, a Python ingestion service and a local database, started as systemd services
  • A dashboard that works on the school network without internet: live readings per room, 24-hour and weekly charts, and last seen times
  • Thresholds and colours based on published school ventilation guidance, configurable by the school
  • A weekly report per room: time spent in each band, worst periods and suggested actions
  • Documented sensor placement and a comparison of every node against a reference monitor
  • A field test in real classrooms for at least two weeks, with results and teacher feedback

If you have time left

  • Estimate ventilation rate from how quickly CO2 falls after a class leaves
  • Correlate readings with the timetable to find which lessons or rooms need attention
  • Optional cloud sync so a school group can compare campuses
  • Battery-powered nodes with deep sleep and an e-paper display
  • SMS or messaging alerts to a caretaker when a room stays red

The problem: nobody can see stale air

Many classrooms, coaching centres and lecture halls are crowded, and windows stay closed because of heat, noise, dust or cold. Carbon dioxide (CO2) builds up as people breathe, and it is a practical indicator of how well a room is ventilated: when CO2 is high, the air in the room has not been refreshed. Teachers cannot see this, so rooms can stay poorly ventilated for whole days.

The UK government's guidance on ventilation and air quality in education settings gives simple bands: under 800 ppm means ventilation is good, 800 to 1500 ppm is adequate, and over 1500 ppm means ventilation is poor. The same guidance explains that between 2021 and 2023 the Department for Education delivered CO2 monitors to all state-funded education and care settings in England, and gives advice on placing them, such as at seated head height, away from doors, windows and vents, and at least half a metre from people. Most schools elsewhere have no monitors at all.

What already exists and the gap

  • Standalone CO2 monitors such as the Aranet4 use an NDIR sensor, show readings on an e-ink display and sync over Bluetooth to a phone app. They are accurate, but each is a separate device, and a school needs one per room plus someone to check them.
  • Commercial building management systems monitor air quality across large buildings, but they are designed and priced for offices and new buildings, not existing schools.
  • Cheap "air quality" modules based on metal-oxide gas sensors report an "eCO2" value estimated from other gases rather than measuring CO2 itself, so they can be badly wrong.

The gap is a low-cost network built for schools: a true CO2 sensor in every room, a clear signal for the teacher, and one dashboard and weekly report for the school, running locally so it works even where internet is unreliable.

Inspiration

The UK Department for Education's monitor rollout showed that a simple, room-level signal changes behaviour, and its guidance gives you tested thresholds and placement rules to build on. Your project turns that idea into a connected system with history and reporting.

What you build

  • Sensor nodes: a Raspberry Pi Pico W or ESP32 with a CO2 sensor that measures CO2 directly (NDIR or photoacoustic, such as the Sensirion SCD40 or SCD41), plus temperature and humidity, and a traffic-light LED or small display.
  • Gateway: a Raspberry Pi on the school network running Mosquitto, a Python service that validates and stores readings, and a local dashboard. Everything runs as systemd services and restarts after power cuts.
  • Dashboard and reports: live room tiles in green, amber and red, charts, last seen times, and a weekly report per room for school leaders.

The technically interesting part

  • Measuring correctly. CO2 sensors need warm-up, automatic or forced calibration, and careful placement. You will compare every node with a reference monitor and document the error.
  • A gateway that survives a school. Power cuts, SD card wear and no internet are normal. You will design for restart, log to a reliable database, and possibly boot from more durable storage.
  • MQTT design. A clear topic scheme per school, room and node, retained status messages and a Last Will so the dashboard knows when a node is offline.
  • Useful reporting. Turning thousands of readings into three insights a head teacher will act on is the real product skill.

Deliverables and how to evaluate it

Measure node accuracy against a reference monitor, message loss over two weeks, gateway uptime across deliberate power cuts, and dashboard load time. Report how much time each room spent in each band, and collect teacher feedback on whether the indicator changed what they did.

Stretch goals

Estimate air change rates from CO2 decay after lessons, link readings with the timetable, add optional cloud sync for school groups, or build battery-powered nodes with deep sleep.

Path to a product

Schools, colleges, coaching centres and private school chains care about student comfort and health, and parents increasingly ask about air quality. A product version would bundle a gateway and nodes as a kit, a simple installation guide, a school-group dashboard and termly reports. Start by running a pilot in a school you can reach and asking which report the principal would actually read.

Want feedback on your scope before you start? Discuss this idea at /account/fyp-ideas/classroom-co2-and-ventilation-monitor-network-with-raspberry-pi-gateway/, ask a specific question at /account/ask/, or book a session at /account/book/. New to Sefism? Create a free account.

Learn what you need on Sefism

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Discuss this idea
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.