Show HN: Air Lab – A portable and open air quality measuring device
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!
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...
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.
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.
The LEDs and screens can be adjusted (or turned off) on a schedule with the latest firmware.
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'm seeing if I can argue for a UK country of origin. But also, I want to get the boxes shipped and out to people - so think I'll just swallow it.
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.
There are libraries which make it extra-easy:
SCD41: SparkFun_SCD4x_Arduino_Library.h
SGP41: SensirionI2CSgp41.h
LPS22: Adafruit_LPS2X.h
Take a look through the past HN discussions of this and similar air quality monitors. Can also search HN for chip names themselves (like 'SCD41'). Many people note that the sensors drift over time, and buying "calibration bottles" of low-concentration CO2 is a slight hurdle for many - they're not that crazy expensive, but they're expensive enough to be a bit of a block for some.
I’ll give it a try and see how far I go. Do you know any discord channels where such folks hang out?
P.S. Apt username BTW.
I made an Arduino + PMS5003 + LCD for use during the NorCal fires of 2020 when the readings were 900+ μg/m^3. At that time, I was wearing a full-face P100 respirator outdoors because the visibility was down to about 100' / 30m. That was about the same time I bought an overpriced BlueAir 680i because Consumer Reports rated the similar BlueAir 605 as the best air purifier they ever tested. (Unfortunately, that whole line they used cheap bearings in the fan motors that fail after a few years without replacement parts that you have to disassemble the motors and swap yourself. The bearings, thankfully, are generic parts: 608ZZ.)
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.
- Temperature (we have multiple sensors, one per major area of the house)
- Presence (the multiple sensors also record occupancy)
- Humidity
- CO2
- VOx
What is nice is we can use the CO2/VOX to drive our HRV (heat recovery ventilation) to get fresh air from the outside into the house, but we only need to do this on demand, thus saving significant energy as compared to just constant HRV usage.
We can also use the humidity sensor to drive our humidifier.
We can use the occupancy + temperature to guide the AC / furnace.
And we have an external temperature sensor to allow us to smartly use the heat pump versus furnace.
I view this as a little more practical than just recording values - it makes them actionable and automatic.
“Based on the VOC measurement, it can also estimate carbon dioxide (CO2) levels. The sensor doesn’t directly measure CO2 but assesses CO2 levels based on the average correlation between VOCs and CO2 in exhaled human breath.”
[1] https://support.ecobee.com/s/articles/air-quality-sensor-faq...
How wildly off were the readings btw? And were you doing things related to VOCs? Which reading was erroneously under reported compared to actual, CO2 or VOC?
I am curious, what are pros and cons (connectivity, measurement quality) with Qingping Air Monitor 2 (https://qingping.co/air-monitor-2/)?
No bikini models, no pretentious fancy screenshot, no dark patterns. The product speaks for itself.
The thoughtfulness behind the website's UI speaks of who's behind it.
[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+...
The project was formerly known as luftdaten.info
They are collecting data from more than 10,000 sensors world-wide!
Famous HN "but": I find it baffling that by default we are shown this cutesy animation, that gets boring real fast, and actual measurement values in tiny font in the corner, which must be manually switched to for each sensor? Why not just show all sensor values in large font?
And:
> The official firmware for the Air Lab will be open-source and available on GitHub. Extend it and customize it to your needs.
[0] - https://www.open-seneca.org/
What about measurement uncertainty and unit-to-unit variability? I know this is consumer hardware, so I dont expect a full blown evaluation but have you characterized expected performance?
Thanks for linking
My understanding (which may be wrong, so I am open to being corrected) is that the greatest power consumption you'll see from ESP32 is connecting to a network and uploading data, the idea being less connections mean less power consumption. The ePaper display should be nice and low power consumption, too. I'd expect a common pocket battery bank to power it for a few weeks if one were using it to gather data for later use.
Again, happy to be corrected. It's really fortunate that this post showed up on HN since just last month, I ordered a few components to start making my own air quality sensors, the goal being to create some units that I can strap on my car and gather data while I travel for work (personal curiosity, mostly). There's tons of great projects and info being referenced in this thread.
We mainly went with an ESP32 because of the great SDK and software support through Arduino etc. That way, people that want to customize the firmware or build their own can get started quickly.
One kind emits light through a folded optic path through the test gas and detects the difference in the absorption between wavelengths of light are used. The difference in absorption is minute so the optical path needs to be as long as possible which makes it hard to make the detector small.
The other kind detects the sound emitted when a precise frequency of IR is transmitted through a gas. If the frequency of the light is just right, it will be absorbed by the CO2 causing it to heat up ever so slightly which causes a tiny bit of sound.
Both of these are incredibly ticklish devices to design and build in mass.
That you can get these for as low as about $20 in quantity is actually mind bogglingly cheap.
Just curious though does it cover finer particles and if not just curious why? Same question I guess for a general AQI rating. The one random (probably poor quality) portable AQI monitor I have covers different levels of fine particles and that seems really useful during fire season when its bad (in Nor Cal). But of course I'm not super knowledgeable about any of this.
Anyway fantastic project, I absolutely love it.
You can find more infos here: https://www.crowdsupply.com/networked-artifacts/air-lab/upda...
If it’s a sulfur smell, it’s probably sewer gas from something decomposing or fertilizer (or an unrelated sewer problem near the facility), and a natural gas / propane detector should work. They also pick up methane, which is odorless, but is probably being produced by the same source.
Something like that could be employed to power this.
IIUC VOC is way more complicated and hard to both calibrate and interpret. I’m not sure I have any faith in that value.
I do think a lot of people are going to be mislead by these monitors, the sensors and devices come with a bunch of caveats that aren’t clearly communicated.
For me what people should most care about is particulates, and at least as far as I know those sensors don’t come with the calibration issues of CO2 and VOC. That’s the sensor my AirGradient is set to alert on.
From what I can tell, the sensors haven't drifted, so they're not using the "below 420 ppm => recalibrate" heuristic.
No comments yet
edit: It seems AirGradient uses one of the cheap sensors.
For VOC also run SEN55, BME680 with BSEC 2.0 and BME688 with BSEC 2.6, they mostly agree, with the SEN55 being more sensitive to 'chemicals' (think industrial chemicals vs living entities chemicals), and BME688 more 'agressive/sensitive' to changes than BME680.
Overall, their whole setup is a nice plug and play experience. My only complaint is that I want a 900MHz <-> WiFi / PoE bridge so that I can place temp + humidity sensors further from the house. e.g., in cellars, forested spots, etc.
Here's what would make me consider replacing / augmenting my system with Air Lab devices:
- Weather proofing - Integrated solar panel charging solution so the 7.5 day battery life turns into 7.5 days without sun. - Battery life estimates for WiFi mode that mean the solar panel would work, or a (weatherproof) BLE <-> WiFi/PoE bridge, assuming the BLE range (through a wood wall) is at least 100 feet. - PoE on the sensor board would be nice to have. - I like that these have VOC/NOX sensors, which my current setup is missing. I don't like that they're missing PM sensors. - I don't care about the screen; a blinking LED for debugging would too. - If it were small enough to go in my pocket, I'd care about the screen. I wonder if cell phones will eat that use case though.
Using with esphome and homeAssistant, I grab the data every 5 seconds (I did 1s too but seemed unnecessary), and push it to HomeAssistant. The moment I turn on the oven, or open a window, or just enter the room after the night from the bedroom, the graph moves very very visibly and very quickly. I like this setup much more than my uHoo Air sensor.
The issue is more drift and that its a very localised measurement. The sharp spikes in the graphs are often more about the air is moving than the room's total CO2 changing. Like on mine (also sdc41) I can see when I wake up on the bedroom one. Being awake produces more CO2 sure but it's marginal. 80% sure the spike is simply more turbulence in room. Lying still for hours vs getting up and making bed etc
MIT Licensed: https://github.com/AurelWu/IndoorCO2AppMAUI
PS: do you use the air pressure to correct the CO2-readings like the Aranet4 does or would users need to manually recalibrate when the move to higher/lower elevations compared to when the sensor was calibrated?
We have not integrated compensation of CO2-readings yet, but will certainly look into it before shipping the device.
Anyone with ability to customize & extend this would know that a ESP and SCD41 sensor are around 10 bucks each.
As for vendor lock-in, the basic readings get broadcast over bluetooth advertisments, and you can establish connection to get all the data. I have couple of them working nicely with HomeAssistant.
The cost, yeah, I'd love it to be cheaper.
TLDR: It compiles the stock firmware to WASM using emscripten. Thus, I did not build all of it in one week and rather just the web app around the firmware.
Or an inkbird - I paid $99 for one with co2, HCHO, AQI, PM2.5 PM10, TVOC, Temperature, Humidity. It has a display and integrates with home assistant. Built in battery if you want to move it around.
I own both of those. A DIY it but I haven't seen a good reason to.
The big advantage of the ESP home devices out there is they are extremely easy to tinker with if you want to change anything
No comments yet
I find the usage of it suboptimal. Showing the main information in small and tucked away in corners while the rest of the screen is filled with short time amusing animation or nothing. Things happen automatically after a short period of time, and so far I wasn't able to get to the dasboard (tiny characters, not using the full screen) on will, only by waiting. Not quickly obvious what and when the buttons will do (indication sometime sqeezed into tiny parts of the animation), needs quite a bit of practice, and so can be forgotten later, needing relearn. It is nice having a plethora of funcionality but the core functionality suffers a bit in my view. This is just personal observation. A device like this is a very useful one, but not like this. It is demanding to use for the few most important things.
Unfortunately predates the switch to RISC-V.
A fellow Crowd Supply project, Polverine[1], uses a new Bosch sensor that is very small. If we do a refresh of the device, we'll certainly look into adding it.
[1]: https://www.crowdsupply.com/blackiot/polverine
I´m not affiliated with them in any way, but I´m using their indoor and outdoor sensors since a few years by now, and I am very satisifed. Btw. their HW is opensource and you can choose between their SW or can flash anything else. The measurement data of my outdoor sensor is publicly available: https://explore.openaq.org/?location=2070168#13.21/48.22244/...
I self imposed a rule when I went through the process of having a child — to avoid (negative) information that I couldn’t or wouldn’t really act upon (e.g. learning about genetic markers/hints that couldn’t be prevented and wouldn’t make me think about extreme measures, such as blindness). For me it’s an issue of anxiety management.
There was an initial effort of doing things and seeing the effects and eventually finding a nice equilibrium. I now have a feel for what’s needed and it’s not something I put any thought into. I basically check it when the seasons change. Rather than contributing to anxiety, I am now relieved of unknowns.
I’m quite allergic to pollen, and very sensitive to things like smoke, so I’ve already someone more focused on managing my environment than a normal person. A wick based humidifier (don’t use ultrasonic, those breed bacteria and launch them into the air) and large air filter with a big but quiet fan are the most important things in my room. Yes, even the bed.
These devices can also be a good way to catch localized air pollution that exceeds safety limits, though where I live that’s not an issue. Citizens capable of checking air and water quality is a positive in my opinion.
out of curiosity, what part of the globe do you live (or when was your home built) that you need a humidifier? I have a dehumidifier as it is quite often > 50% humidity in my home, easily as much as 65%, but that's due to the high humidity outside where it can easily be 85%. Just looked at my sensor, it is currently 81% outside and 55% inside. That 55% is where it really starts to become uncomfortable. I struggle to keep it <50% inside. At these indoor humidity levels, it limits some of the things that I can do indoors as it has a negative affect on things I make/do. So adding humidity is just one of those things that makes me tilt my head sideways and go huh? like a dog because it is so out of my experience.
However that’s basically irrelevant because the place I rent has a 20+ year old central heating and cooling system, so inside the humidity can drop below 40% and I’ll get painfully dry sinuses and nose bleeds.
55-60% is my own comfort zone
I was able to improve my sleep because I found out that my waking up in the night was correlated with high co2 values. Same thing with performance in my home office. It’s a small room and the reminder to open a window while I’m in the flow is just amazing.
But: my airgradient devices were anything but “rock solid“. Constant reboots, hung ESPs, I had to swap out the senseair sensors because apparently they go bad, etc.
What did you change? I assume it's non-trivial to automatically open windows based on sensor data? Or do you mean you've been able to improve it by knowing about it and opening a window before going to sleep, which now that I write it sounds much more sensible :D
But yes, the upper midwest and east coast essentially never have had to deal with wildfire smoke like we have now. It's as bad as when I lived in LA, but there we expected it. People in Minnesota, for example, are totally unaccustomed to woodsmog for days on end. The current air quality is very unhealthy - also unheard of. Particle counts in the 100s ppm!
These are all of the ways in which air monitoring information is actionable for me:
— Excessive carbon dioxide: as mentioned, it’s a call to open windows and possibly doors, depending on wind direction and window/door configuration in the flat and the building. It can reach surprising, and in my case unsafe by at least one country’s standards, levels overnight if your flat has decent insulation and little airflow. Besides, it just feels nice to have more oxygen knocking about your internals.
— Excessive (which should really mean non-zero, but in today’s ecology let’s say “elevated”) PM2.5 means I should close windows (usually this pollution comes from outside) and ramp up air filtering, and potentially postpone exercise while particulate matter is too high. I have a separate cheap air filter but lately it turned out that a Mitsubishi dehumidifier does a great job at this—which, by the way, I have realized only thanks to an air monitor.
— If both carbon dioxide and particulate matter are high, I’d most likely open the windows first to lower the former then close the windows and run air filtering while hanging out at the office or having a walk (potentially with an N95 mask on if it’s really bad outside).
— VOC, which often originate from chemicals used in furniture or flooring, if your monitor measures those, could probably be addressed by adding activated carbon layer to your air filter (and by opening windows). I think they are filtered slowly and this might take months, but my monitor did not measure VOCs so I don’t have first-hand experience. An air quality monitor could help you understand whether you are wrong or right in thinking your new floor made your air full of VOCs when all you can go by otherwise is just a vague chemical smell.
— Elevated background radiation means you should probably just move, usually it is building materials or something not easily removable anyway.
I would say that with these numbers available there is a danger you’d stress over and min/max them. It’s probably better to just use the measurements to understand the patterns and see if something is really out of ordinary or elevated for prolonged periods of time. I did that first (and did not expect to see how quickly carbon dioxide builds up, how quickly everything deteriorates with any cooking, including when done by a neighbour if I open windows and the wind blows the wrong way, the speed with which outside pollution permeates the indoor space, how effective my air filtering is, etc.), now my air monitor is broken and I am not overly concerned until I have to move to a new place.
The big question is accuracy, that's possibly a major advantage of AirGradient.
On CO2-Sensor Accuracy: Based on AirGradients own research[1], the SCD41 (which Air Lab uses) and SenseAir S8 (which AirGradient uses), compare well indoors. In outdoor environments, the AirGradients sensor is generally better. As the Air Lab is primarily focused on indoor environments, we chose the smaller SCD41 to fit the portable design. But yes, If you're looking for an outdoor air quality monitor, AirGradient will be more accurate.
[1]: https://www.airgradient.com/blog/co2-sensors-photo-acoustic-...
No comments yet
After I bricked it I bought two Switchbot Co2 meter (these got e-paper, though I got those also lying around), for 60 EUR each, used some nanotape to attach these on a spot I like. I use one upstairs and one downstairs. If we sleep with all 4 in same bed, during cooking, or bday parties these go high. Otherwise not. Is it needed? Not really. You physically notice the air quality and take action. Except when you don't. My mother in law doesn't notice her fumes in house (she lost some smelling ability) so I bought her a Switchbot, too.
There's no way I would pay more than 200 EUR for such a device. Not even 100 EUR. I get it, you're from Switzerland with a high cost of living, but that isn't my problem.
No comments yet
Also indoor AQ where you spend most of your time is more useful to know. Dust and CO2 are something you can actively reduce.
No comments yet
Specs:
- Microcontroller: ESP32-S3
- Air sensors: SCD41, SGP41 & LPS22
- Display: 296×128 e-paper
- Battery: 1500 mAh Li-Po
- Anodized aluminium enclosure
- Real-time clock
- Accelerometer
- Wi-Fi & Bluetooth LE
- ~7.5 days of battery life
Later on I talked to people working in the hardware industry for small production scale, and pretty much told me that a fair pricing is usually 5x to 7x the total BOM (bill of materials).
After going through that experience myself, I couldn't agree more. This device in particular has some extra well thought design and style which might be worth a premium (on top of that 5x/7x multiplier).
$230 ain't cheap!
Also, I parsed this as: (open air) (quality measuring device)
No comments yet
but i agree with the op that 'looking' at a display already subconsciously tells you something about the air quality and your relation to it. my air quality sensor [0] has a green/orange/red light system though, so i can sometimes just tell that the air quality is bad by a red led flaring up in the corner of my eye.
[0] https://www.tfa-dostmann.de/en/product/co2-monitor-airco2ntr...
previous discussion on the above meter: https://news.ycombinator.com/item?id=22764603