Smart home and office / Indoor environment monitoring
Indoor environmental monitor with cloud platform and mobile appResearch, firmware, cloud, web and mobile app engineering
Indoor environment monitor with device, cloud and mobile app
UBreez is an indoor environment monitoring product for private and business use. It consists of the UBox sensor device, a cloud platform and the UBreez mobile app. The client came with a preliminary concept, research material and a list of requirements.
The client needed the concept turned into a working system: a device that measures temperature, humidity, pressure, CO2 and VOC levels, a cloud that collects the readings, and an app that shows them, lets users set acceptable ranges and alerts them when readings move outside those ranges.

- Product
- Indoor environmental monitor with cloud platform and mobile app
- Buyer
- Product teams building connected sensor devices for homes and offices
- Engagement
- Research, firmware, cloud, web and mobile app engineering
- Indeema scope
- Research phase, Device platform and firmware, Cloud and web, Mobile app, Testing, beta and maintenance
The product need
What had to become possible
The client needed the concept turned into a working system: a device that measures temperature, humidity, pressure, CO2 and VOC levels, a cloud that collects the readings, and an app that shows them, lets users set acceptable ranges and alerts them when readings move outside those ranges.
Ownership, made clear
Where the work started and what Indeema owned
Starting system
Concept and requirements
A preliminary product concept, background research material and a list of project requirements.
No product yet
There was no device, firmware, cloud platform or application at the start of the engagement.
Indeema owned
Research phase
Start with research before development to shape the device and system.
Device platform and firmware
Design the device platform around an ESP32 system-on-chip and a sensor set, and write PlatformIO-based C/C++ firmware that reads the sensors and sends data to the cloud over Wi-Fi using MQTT.
Cloud and web
Build the AWS cloud infrastructure for collecting and storing readings, a Node.js back end and a React web front end, with GitLab CI/CD for deployments.
Mobile app
Design wireframes and high-fidelity mockups and build the iOS and Android app with the cross-platform Qt framework.
Testing, beta and maintenance
Run functional, integration and system tests across device, cloud and app, run a beta with a small user group, and keep fixing and updating the product.
Worked with
Device to cloud
UBox sends temperature, humidity, pressure, CO2 and VOC readings over Wi-Fi to AWS using MQTT.
Cloud services
AWS IoT, EC2, S3, RDS and Lambda receive, store and process the readings.
App to device
The app guides the user through connecting a UBox and groups devices by room and zone.
Product constraints
What made the engineering difficult
- 01
Simple setup
Users had to connect the app to a device and customise their own acceptable ranges without technical help.
- 02
Hardware people want in the room
The UBox had to be functional and easy to use while also looking good enough to sit in a home or office.
- 03
Timely, consistent readings
The device was tested in different environments and conditions to find issues with readings and their delivery.
- 04
Alerting on user-defined ranges
The system needed real-time notifications when a reading left the range a user had set.
Engineering judgement
Decisions that shaped the product
ESP32 with Wi-Fi and MQTT
An ESP32-based platform sends sensor data straight to the cloud over Wi-Fi using MQTT, without a separate gateway.
Qt for both mobile platforms
The team chose the cross-platform Qt framework so one codebase serves iOS and Android.
Managed AWS services and CI/CD
The cloud uses AWS IoT, EC2, S3, RDS and Lambda, with GitLab CI/CD automating deployments.
Beta before broad release
A beta release to a small user group produced feedback that led to a set of user guidelines for getting the most from the app.
Product system
How the product moves from signal to user
- 01
UBox sensors
Measure temperature, humidity, pressure, CO2 and VOC.
- 02
ESP32 firmware
Read sensors and publish data over Wi-Fi with MQTT.
- 03
AWS cloud
AWS IoT, Lambda, EC2, S3 and RDS receive and store readings.
- 04
UBreez app
Show readings by room and zone and alert on out-of-range values.
Delivered product capability
What the product can do
- 01
Five-parameter sensing
Measure temperature, relative humidity, pressure, CO2 and VOC levels on the UBox.
- 02
Cloud data collection
Collect and store readings from UBox devices in an AWS-based platform.
- 03
App dashboard
Show live readings per room with configurable acceptable ranges.
- 04
Rooms and zones
Organise multiple UBox devices into rooms and zones in the app.
- 05
Guided device setup
Walk users through connecting a UBox to the app.
- 06
Range notifications
Alert users when a reading moves outside the acceptable range.
Product change
What changed for the product team
A concept and requirements list became a working three-part product: the UBox sensor device with ESP32 firmware, an AWS-based cloud and web back end, and the UBreez app for iOS and Android, tested end to end and then maintained after a beta release.
For a team building a connected sensor product, the case covers the whole path from research through device firmware, cloud, web and a cross-platform app, including device onboarding, multi-device organisation and threshold alerts.
- A UBox device, AWS cloud and UBreez app for iOS and Android, tested together across functional, integration and system tests.
- A beta release with a small user group, followed by user guidelines and ongoing maintenance updates.
Product evidence
A closer look at the product

Technology, in context
ESP32 · PlatformIO · C/C++ · MQTT · AWS IoT · AWS Lambda · Amazon EC2 · Amazon S3 · Amazon RDS · Node.js · React · Qt/QML · Java · Objective-C · Firebase SDK · ZXing · GitLab CI/CD · AutoCAD
A comparable product problem?
UBreez and UBox environment monitor
Bring the product context, the system that already exists and the engineering decision you need to make.