Smart home / Indoor air monitoring device

Indoor air-quality monitor with companion mobile appR&D, firmware, mechanical layout, cloud and mobile app engineering

Building an indoor air monitor and companion app across two device generations

Cube Air is an indoor air monitoring product created for a property developer building premium hotels and condominiums. The developer was also working on an indoor air purifier and was entering device production and connected-system development for the first time.

The developer needed a monitoring system that tracks indoor air conditions, shows residents the current status in a mobile app, and notifies them when the purifier should be switched on. It needed a partner to take the device from sensor selection through firmware, cloud and app.

Cube Air indoor air monitor with its mobile app showing the air-quality index and pollutant readings
The Cube Air indoor air monitor with its companion mobile app showing the air-quality index and pollutant readings.
Product
Indoor air-quality monitor with companion mobile app
Buyer
Product teams adding connected sensing and an app to a home appliance
Engagement
R&D, firmware, mechanical layout, cloud and mobile app engineering
Indeema scope
Sensor and processor selection, Air-quality index definition, Device firmware, Desktop device layout, Cloud back end, Mobile app and design

The product need

What had to become possible

The developer needed a monitoring system that tracks indoor air conditions, shows residents the current status in a mobile app, and notifies them when the purifier should be switched on. It needed a partner to take the device from sensor selection through firmware, cloud and app.

Ownership, made clear

Where the work started and what Indeema owned

Starting system

Purifier drawings

The client supplied a drawing and a 3D model of the air purifier that the first monitoring unit had to fit inside.

No device or system experience

The client had no existing monitoring device, firmware, cloud back end or app, and no in-house hardware or connected-system team.

Indeema owned

Sensor and processor selection

Select the air-quality sensors and the main processor during an R&D phase, evaluate them, and determine where the sensor should sit inside the purifier.

Air-quality index definition

Define which measured air parameters contribute to the overall air-quality index the device reports.

Device firmware

Develop ESP-IDF firmware that reads the sensors, processes data on the device, calculates the index, accepts configuration and updates, and sends data to the cloud.

Desktop device layout

Prepare the 3D model of the second-generation desktop device, rework the internal component and PCB placement to fit the client's dimensions, and define the LED indication scheme.

Cloud back end

Build a serverless AWS back end with AWS IoT Core, Lambda functions, DynamoDB, S3 and AppSync that connects devices to the app, including production scripts that pre-provision manufactured devices with certificates.

Mobile app and design

Design and build a Flutter app for iOS and Android that shows current and historical readings and sends notifications.

Worked with

Device to cloud

The firmware publishes air-quality data over MQTT with TLS, receives configuration over MQTT and downloads firmware updates over HTTPS.

Cloud to app

The app fetches current and historical readings from the AWS back end through AppSync and GraphQL.

Manufacturing provisioning

Production scripts create a database entry for each manufactured device, obtain its certificates and flash them to the device's non-volatile storage.

Product constraints

What made the engineering difficult

  1. 01

    Place the sensor inside someone else's product

    The first-generation unit had to sit inside the client's purifier, so the sensor position and the choice of measured parameters had to be worked out from the purifier drawings and 3D model.

  2. 02

    Fit a smaller, standalone second generation

    The second-generation device became a portable desktop unit with the client's specified dimensions, and it still had to hold every internal component plus an added CO2 sensor.

  3. 03

    Readable for non-technical residents

    Residents with little technical experience had to understand air status at a glance, on the device and in the app.

  4. 04

    Provision devices for production

    Each manufactured unit needed its own cloud identity and certificates before it reached a resident.

Engineering judgement

Decisions that shaped the product

Compute the index on the device

The firmware processes sensor data and calculates the air-quality index locally, so the device's LED indication and the cloud receive the same derived value.

Serverless AWS back end

AWS IoT Core and Lambda functions process incoming device data, store it, and push updated readings to the app without a fleet of always-on servers to manage.

One cross-platform codebase

Flutter gives the client one app codebase for both Android and iOS.

LED status on the device

A colour-coded LED scheme lets residents read air status from the device itself without opening the app.

Product system

How the product moves from signal to user

  1. 01

    Sensors

    Measure indoor air parameters inside the purifier or in the desktop unit.

  2. 02

    Firmware

    Process readings, calculate the index, drive the LED and accept configuration and updates.

  3. 03

    AWS IoT Core

    Receive data over MQTT with TLS and serve firmware updates over HTTPS.

  4. 04

    Serverless back end

    Lambda, DynamoDB, S3 and AppSync process and store readings.

  5. 05

    Mobile app

    Show current and historical air data and notify residents.

Delivered product capability

What the product can do

  1. 01

    Sensor-based air monitoring

    Read indoor air parameters, calculate an air-quality index on the device and send readings to the cloud.

  2. 02

    Live and historical app views

    Show the current index, temperature, humidity and individual pollutant readings, with a historical chart, in the mobile app.

  3. 03

    Notifications

    Notify residents through the app, with additional notifications added for the second-generation CO2 readings.

  4. 04

    Remote configuration and updates

    Send configuration to devices and deliver firmware updates over the air.

  5. 05

    Factory pre-provisioning

    Register manufactured devices and flash their certificates with production scripts.

  6. 06

    Two device generations

    An in-purifier first generation and a portable desktop second generation with a CO2 sensor, both prepared as prototypes for beta testing.

Product change

What changed for the product team

The client moved from purifier drawings and no device experience to two prototype generations of a connected air monitor: a unit built into the purifier and a standalone desktop device, both connected to a serverless cloud back end and a cross-platform app, with production provisioning scripts for manufactured devices.

For an appliance or property business adding sensing to a product, the case shows the full chain in one engagement: sensor choice and placement, on-device processing, mechanical layout under a fixed size, device provisioning and certificates, cloud, and an app built for non-technical users.

  • Two device generations prepared as prototypes for beta testing: an in-purifier unit and a portable desktop unit with a CO2 sensor.
  • Devices, a serverless AWS back end and an iOS and Android app connected end to end, with remote configuration and firmware updates.

Product evidence

A closer look at the product

Cube Air architecture diagram linking production scripts, firmware, an AWS IoT Core serverless back end and a mobile app screen showing an air-quality index of 35 with a 24-hour chart.
The Cube Air system: production provisioning scripts, device firmware, the AWS back end and the cross-platform mobile app.
Illustration of three cube-shaped monitors with green, amber and red indicators placed over a city model, next to a phone showing the air-quality app.
Illustration of Cube Air devices using LED colour to signal air status, alongside the companion app.

Technology, in context

ESP32-C6 · ESP-IDF · C/C++ · Python · C# · AWS IoT Core · AWS Lambda · Amazon DynamoDB · Amazon S3 · AWS AppSync · GraphQL · MQTT · Flutter

A comparable product problem?

Cube Air indoor air monitor

Bring the product context, the system that already exists and the engineering decision you need to make.

Discuss a comparable challenge