I’ve been working on an air quality measuring device called Air Lab for the past three years. It measures CO2, temperature, relative humidity, air pollutants (VOC, NOx), and atmospheric pressure. You can log and analyze the data directly on the device — no smartphone or laptop needed.
To better show what the device can do and how it feels like, I spent the past week developing a web-based simulator using Emscripten. It runs the stock firmware with most features available except for networking. Check it out and let me know what you think!
The firmware will be open-source and available once the first batch of devices ships. We’re currently finishing up our crowdfunding campaign on CrowdSupply. If you want to get one, now is the time to support the project: https://www.crowdsupply.com/networked-artifacts/air-lab
We started building the Air Lab because most air quality measuring devices we found were locked-down or hard to tinker with. Air quality is a growing concern, and we’re hoping a more open, playful approach can help make the topic more accessible. It is important to us that there is a low bar for customizing and extending the Air Lab. Until we ship, we plan to create rich documentation and further tools, like the simulator, to make this as easy as possible.
The technical: The device is powered by the popular ESP32S3 microcontroller, equipped with a precise CO2, temperature, and relative humidity sensor (SCD41) as well as a VOC/NOx (SGP41) and atmospheric pressure sensor (LPS22). The support circuitry provides built-in battery charging, a real-time clock, an RGB LED, buzzer, an accelerometer, and capacitive touch, which makes Air Lab a powerful stand-alone device. The firmware itself is written on top of esp-idf and uses LVGL for rendering the UI.
If you seek more high-level info, here are also some videos covering the project: - https://www.youtube.com/watch?v=oBltdMLjUyg (Introduction) - https://www.youtube.com/watch?v=_tzjVYPm_MU (Product Update)
Would love your feedback — on the device, hardware choices, potential use cases, or anything else worth improving. If you want to get notified on project updates, subscribe on Crowd Supply.
Happy to answer any questions!
Have you considered making a standalone devices with just sensors (think data only mode) and letting the users hook up their data on any eink dashboard of their choice.
Below are some of the example of community created Air Quality dashboards[1] installable on any e-ink hardware[2].
[1] https://usetrmnl.com/recipes/62233, https://usetrmnl.com/recipes/23306
[2] https://github.com/usetrmnl/firmware/
Disclosure: I work at TRMNL.
This post [2] details the process they went though to port their device firmware to Wasm for their interactive demo. As a colleague put it, could be a pretty solid Show HN in its own right.
[1] https://news.ycombinator.com/item?id=44190541
[2] https://www.crowdsupply.com/networked-artifacts/air-lab/upda...
I reached out to HN by mail (as suggested on their tips page) to gauge whether my story/product was allowed to be posted as a Show HN post. They pointed out that HN requires a more "direct" demo of things. Their suggestion was to create a "raw" video showing how the device works and feels. It made a lot of sense to me. However, as a designer by training, it’s hard for me to produce something like that, as I naturally gravitate towards polishing it too much. When discussing this dilemma with my colleague, we remembered an idea I had some time ago about creating interactive renderings for the Air Lab website. Quickly, we agreed that this would be worth testing, as the whole goal of the video was to give the HN community a feel for the device.
As mentioned in my comment and the Crowd Supply update, I used emscripten to compile the stock firmware to WASM. Luckily, by that time, I was already mostly done with extracting a hardware abstraction-layer from the firmware. This meant that I already had a nice API that I needed to ”mock” and connect to the fake sensors and controls on the website. So most of the work for that week was to actually build the simulator app using Ember.js around the compiled firmware and integrate it. By doing that, I also found a couple of bugs in the firmware itself that have been much easier to debug with the simulator than with a real device.
I can recommend to anyone to reach out to the HN moderators and validate their post. Especially, if it is not a software thing that one can immediately try out. But also then, I think most posts/projects could profit from a more interactive demo.
Your NO₂ measurements make it a really interesting device compared to most alternatives that only measure particulate matter. All gas sensors that are theoretically possible for me to obtain cost hundreds of dollars by themselves.
[1] https://www.airgradient.com/documentation/overview/
Additionally, the OLED screen needs to shut down in the dark. I added a VEML lithgt sensor to my devices for that.
That said, looking at the main active components that are listed, we have -
ESP32S3 IC : $4 retail, SCD41 Sensor : $21 retail, SGP41 Sensor : $8 retail, LPS22 Sensor : $4 retail
Which is very hopeful, in the sense that some key functionality of this kind of device could potentially be open sourced and pared back to a minimal cost where hobbyists could build versions suitable for the economics of developing countries.
CrowdSupply ships everything via Mouser US - so if you are outside of the US you need to export your products to Mouser. That hits you with tariffs and the tariffs are charged on what CrowdSupply are paying you for the products.
If the majority of your product is manufactured in China (e.g. PCBA) then it's very likely that the COO for your product will be China. So, you will get stung with whatever crazy tariffs are currently in place.
I am not an expert but if I get these components, how easy would it be to build a hacked version out of these?
I’m not in the US and unaffected by the tarrifs.
What you could take from them is how prominent the current measurement is on the screen. I can glance over from a distance and instantly see the number. The colours get inverted if it goes into the red zone, so I can glance at it from across the room without my glasses and still see whether it's bad or not.
From what the simulator shows, with your device I'd need to lean in pretty close to understand what's going on. And blinking light indicators are tricky - you can easily catch it between blinks and look away content that everything's alright.
[1] e.g. https://github.com/MallocArray/airgradient_esphome
https://www.crowdsupply.com/networked-artifacts/air-lab/upda...
Potential integration: Run HVAC fans and/or an attic fan and/or a crawlspace fan if indoor AQI is worse than outdoor AQI
This says that Air Quality Sensor support was added to matter protocol in 2023: https://csa-iot.org/newsroom/matter-1-2-arrives-with-nine-ne... :
> Air Quality Sensors – Supported sensors can capture and report on: PM1, PM2.5, PM10, CO2, NO2, VOC, CO, Ozone, Radon, and Formaldehyde. Furthermore, the addition of the Air Quality Cluster enables Matter devices to provide AQI information based on the device’s location
/? matter protocol Air Quality Cluster: https://www.google.com/search?q=matter+protocol+Air+Quality+...
I am curious, what are pros and cons (connectivity, measurement quality) with Qingping Air Monitor 2 (https://qingping.co/air-monitor-2/)?