Kevin Terry
HomeAboutPatentsContact
Back

2025

smartIAQ

An indoor air quality platform. Hardware, firmware, field tooling, and reporting.

Render of a black smartIAQ sensor module, with a clear window showing the circuit board and sensors inside

Indoor air quality is a fascinating field. I think we often take for granted the immense amount of energy it takes to heat, cool, and dehumidify air for large spaces. It’s generally the single largest ongoing operating cost of a space.

smartIAQ is an ambitious project to both improve indoor air quality and significantly reduce the cost to do it. The concept is simple on its face: if we can make better use of air that’s already been heated or cooled, we can save a tremendous amount of energy.

I’ve been responsible for the design and implementation of all of the hardware, firmware, and software for smartIAQ.

The product family

  • GridSet: a 2’×2’ air cleaner that mounts into a standard office-style ceiling grid.
  • AQP: our “air quality processor,” a deployable version of our sensor array for collecting data in a space and analyzing it later.
  • smartIAQ Distributed: a large-format air cleaner designed to handle larger spaces and be installed onto large ventilation systems.

Render of a GridSet ceiling-grid air cleaner seen from below, with two white panels and dark housings above

The hardware

Various air quality sensors have improved significantly over the years. Better accuracy and lifespan have made real-time measurements actionable in a way that hasn’t been practical in the past. The smartIAQ family uses a wide array of sensors to sample the air in a space, analyze it, and provide metered clean air to keep it functional, enjoyable, and efficient.

Close-up of the smartIAQ HUB-4 circuit board, with its RS-485 connector

My favorite product of the family is GridSet. Each unit is powered over a custom passive PoE connection, with multiple serial buses for communication to a central hub. The hub provides BACnet communication to the building’s management system, as well as power to the devices. This cuts install effort by an order of magnitude and makes integration simple.

Four GridSet units wired over RS-485 to a HUB-4, which talks BACnet to the building management system

The firmware

The smartIAQ firmware is a fairly hefty C++ monorepo with a massive test suite, CI/CD, and automated hardware-in-the-loop (HIL) testing through runners on our own ‘flatsets’ (skeletons of the hardware and harnesses laid out on the bench). Because of the complexity of real-time sensing, BACnet communication, and connectivity, the tests run against both real hardware and mocks.

Field tooling: smartiaq.io

Our sales team is an impressive bunch. They would much rather bring a full-size device to show off than a deck of slides. We needed a software tool to illustrate the real-time sensing and how it provides cleaning exactly when it’s needed and scales with the size of the issue. Since we have users (sales, reps, etc.) across a number of operating systems, releases and updates of a native application were slow and messy. Fortunately, with the exception of Safari, every major desktop browser supports Web Serial, which made a web-based tool possible since we have a USB interface on most devices.

smartiaq.io is a TypeScript and Next.js web app built specifically for a handful of tasks. It plots sensor data and output from all of our smartIAQ devices in real time for demos, creates automated reports from data logged by our AQP, and handles field-service firmware updates for the broader team.

smartiaq.io Live Data view plotting carbon dioxide, total VOC, particulate matter, and formaldehyde from a connected device, with temperature and humidity readings

Report generation

Render of the AQP air quality processor, a compact black vented box with three green status lights and ports on its side

Our AQP device is an important tool for the team to quickly deploy into a space, take measurements over a few days or weeks, and send in the files for immediate analysis. Logged data files are uploaded to S3 via presigned URL and processed in a Docker container on AWS Fargate, which renders a PDF from a Jinja2 template with Playwright and sends it to the user. This gives us quick, repeatable analysis documentation with minimal friction.

Pages from a generated AQP report: particulate matter, formaldehyde, and space occupancy analysis, each with charts and summary metrics

The generated reports from our AQP tool illustrate the advantages of cleaning already-conditioned air over simply bringing in additional outdoor air. We’ve been able to show that better air quality is possible with lower equipment costs and lower ongoing expenses.

smartiaq.com →