Show HN: Air Lab – A portable and open air quality measuring device (networkedartifacts.com)

497 points by 256dpi ↗ HN
Hi HN!

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!

206 comments

[ 4.2 ms ] story [ 235 ms ] thread
(comment deleted)
(comment deleted)
(comment deleted)
Cool project! And much needed
I use Aranet devices myself - https://www.aranet.com/en/home/products/aranet4-home

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.

Yes, that's something I want to improve. ATM, if you rotate the (real) device, it will show a vertical layout in stand-by mode that uses a large font to display the values. I still need to add this to the simulator. A horizontal layout with bigger fonts is on the to-do list!
Nice work! Are you aware of https://sensor.community ? They have sensor designs as well but I mainly mention them because they have open infrastructure to aggregate sensor data on a public map.
Very cool project, we need more competition in this space - other option is like Air Gradient One, also open source.

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?

Yeah the display design seems to put the emphasis on fun rather than functional
I guess this is one of the cool things about an open stack, right?
There is a screen saver which display time/temp/ppm/rh.

And:

> The official firmware for the Air Lab will be open-source and available on GitHub. Extend it and customize it to your needs.

Thanks! As other commenters suggested, there is a screen saver (after 30s idle) that shows all values (horizontal and vertical) at a glance. The layout is not final yet and something I want to improve (make bigger). You can try it in the simulator.
(comment deleted)
If only 1% of products were as honest in their presentation. Your page has the actual device, and users can "use" it just the way it works.

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.

(comment deleted)
Whats wrong with bikini models? I want the product and the bikini model.
Nice device, but too playful for my needs. I'm still looking for a good sensor like Aranet but without the display and the vendor lock-in. Maybe if display is removed from this one it would work?
You can cover it with some tape. :)
;) the thought was more about reduce energy consumption and cost
Aranet runs on e-ink, with silly low energy refresh rate. The two (or was it one? ages since I last checked) AA batteries last me well over two years.

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.

you can get a ESP32 and a CO2-Sensor, easiest would be to use a development kit like a m5-stickC and the Sensirion SCD41 and with some small arduino scripts you are good to go to send the data via WLAN or BLE for something like 70€. Can be even cheaper if you don't use a development kit but it makes things a lot easier and the small display helps with debugging.
To be honest, if you have to look at a display to be alerted about bad air quality it’s likely either you know about it already or you are needlessly obsessing. Either way it is the reason I built a service to remote push notify myself. Peace if mind.
Or you are just used to poor air quality so you don’t even notice it anymore.
and the fact that air quality usually gradually worsens over time. i think it's easier to tell bad air quality when you move in between rooms/spaces.

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

The AIRCO2NTROL MINI is a great little device to have in a bedroom or living room, the green/orange/led lights are easy to understand (think traffic lights) even by non-technical people.
I was referring to looking at a display to be timely informed about an event, crossing the threshold out of acceptable air quality, that can occur at any time of the day. If air quality is consistently bad you don’t need a measuring device but a good air filter. If instead it is not then relying on constantly looking at it is a poor solution.
I wish it would have support for Zigbee so I can pair it with other open data aggregation systems like Home Assistant. AirGradient, another cool air quality monitor, for example, does not have this.
Matter protocol support would also be a useful feature.

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 find the specs a bit expensive for what it is, but the software looks really good.

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

That's correct if you just look at the component costs. Unfortunately, to make these in a small series, a lot of other costs come together. If we could, we would offer it a better price. Maybe some time soon!
I really feel for the creators here. I was thinking exactly like that before trying to build an electronic device myself.

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).

(comment deleted)
Very cool product. Am wondering if there exists an equivalent of this for physical activity, i.e. device you could attach to your physical keys and would measure footsteps/biking/running (while doing the switching automatically)?
Certain smartwatches offer a "pebble mode" feature like the Xiaomi band 9, you can get a keyring case for it and just attach it like that. I don't think it has automatic switching between exercise modes just tracking for steps etc.
Thanks. I don't want a smartwatch (I have a great "dumb" watch that I love). I'm rather looking for a device like this Air Lab but for physical activity.
Good idea, but not cheap compared to Aranet4 ~200USD. Not sure ESP32 is a good choice for power consumption.
What's a good alternative?

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.

OP is probably comparing the ESP32 to a NRF chip. These offer Bluetooth connectivity while running from a coin cell with <1mA power consumption, compared to the ESP32s ~50mA when not sleeping. Luckily, we can stay in deep sleep most of the time to save battery.

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.

It's a sensible choice. From a newbie perspective, it's certainly easy to work with and there's no shortage of documentation when I'm trying to figure something out. I'd pull the trigger on one of your devices right now because of that if funds weren't currently an issue (sadly, I am between jobs, atm).
Nice kickstand!
Thanks! Our engineer invested a lot of time to get the feeling just perfect! :-)
JFYI: a (hopefully much) cheaper stripped down version of the device would be useful. Air quality is the worst in poorer regions of the world, and as someone who suffers from horrible air pollution, but who's also living a relatively cushy life (by our standards), I can assure you that $200+ for an air quality sensor puts it into the "unobtainable" bucket. Add shipping and it probably gets closer to $300, which is roughly equal to the median monthly salary over here.

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.

I'll preface this by saying that product design and manufacturing and public-proofing is long, hard work, and the retail price of this product is likely to be well justified for all kinds of reasons.

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.

Tariffs are having a big impact on people outside the US using CrowdSupply.

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.

This has been very tricky to navigate for us. We almost launched the campaign right before the Tariffs got announced. Luckily, we had the opportunity to wait it out. While CrowdSupply is an awesome platform, and I would use it again, the requirement to export everything to the US is a problem in such situations.
Yep, it's bitten me - just about to ship my boxes off. I'll still probably break even fortunately (or at least not lose a massive amount of money).
> ESP32S3 IC : $4 retail, SCD41 Sensor : $21 retail, SGP41 Sensor : $8 retail, LPS22 Sensor : $4 retail

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.

Hardware companies design breakout boards for most semi popular sensors (including the SCD41 and the SGP41) so arguably if you can put things together on a breadboard and can setup I²C comms (for example with an Arduino library) then it is certainly accessible to a hobbyist.
Pretty simple. You can find lots of examples of getting each sensor working by googling "site:github.com ESP32 SCD41" etc.

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.

Sounds great!

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.

Super easy, use esphome. There's a few vendors out there that sell pre built devices, and they usually make their configs available if you want to DIY it. For example Apollo automation.
The basic connections are easy in theory, especially if you get a ready-to-use, breakout-board version (e.g. Adafruit modules) of each, for perhaps double or triple the price. Then it's just a matter of wiring each sensor to data lines of the controller chip, and giving everything the power it requires.

Programming libraries contain the basic functions necessary to access to sensors' readings with simple lines of code.

But the devil is in the details - to go from that to an actual practical, working model and physical build is quite a lot of work. Expect months, in hobbyist terms.

Thanks for the feedback that I can totally understand! We hoped to offer the product at a lower price, but as I mentioned in other replies, it's hard to be competitive when planning for small quantities. That said, I can totally see us offering a simplified and cheaper version in the future that is affordable to more people.
I'm a big fan of the AirGradient. They used to have really cheap DIY kits available: either $19 for the PCB + enclosure alone (with the assumption you already have the other parts or will buy them off aliexpress) or $96 for everything. Looks like the current kit is $138. If that's too much, you might be able to make it cheaper by downloading the KiCad and STL files off their website [1], getting PCBs printed elsewhere, 3D printing the case, and sourcing the rest of the parts from aliexpress. When you do it that way, you can also omit any sensors that are not of interest to save money, and perhaps add them in later.

[1] https://www.airgradient.com/documentation/overview/

Ya, my AirGradient ONE is $200 and has been one of the best investments in my home. Using it, I discovered how the drying polyester clothes wrecks the indoor air quality and how not to burn baking oils by controlling temps better.
Drying polyester clothes releases CO2 to unhealthy levels?
Probably referring to particulate matter. The AirGradient measures PM2.5. I happen to have an air purifier near my W/D and it catches a lot of lint in the prefilter.
I've been having problems with my devices, though. The reliability sucks, they lock up all the time.

Additionally, the OLED screen needs to shut down in the dark. I added a VEML lithgt sensor to my devices for that.

The light strip they added to the new devices is fun. You get a free nightlight too.
Interesting. I have been running three of their devices of different generations in my house for several years now with no hangs.
No idea why. I tried to change the power supply, and even slightly overvolt the power (to 6V from nominal 5V).
I haven't had any issues with lock-ups.

The LEDs and screens can be adjusted (or turned off) on a schedule with the latest firmware.

I have one that uses these sensors though I made a variation of this in a different layout and with a different power system (usb c and one that is powered off 12v). Wonder if JLPCB is affected by tariffs. I’d love to do a new board.
Hi, I developed indoorco2map.com which is a an app-supported crowd-data-science project where users can submit CO2-Data they measure when going shopping or to restaurants or wherever using a simple-to-use App. I'd like to support your Device - is there documentation available about how to read the Data via BLE? All I need is the CO2-History (either with timestamp, or just ordered + information about update interval).

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?

(comment deleted)
We love indoorco2map.com and would be happy to ensure that data from the Air Lab can be exported to it! We plan to expose simple BLE characteristics for all sensor values (similar to the Aranet). On top of that, we already have an API that would allow reading the full history from temporary storage (timestamped). Keep an eye on our website; we'll soon add a manual section with more details on that.

We have not integrated compensation of CO2-readings yet, but will certainly look into it before shipping the device.

The ikea vindstyrka sensor is 50$, how is this 4x the price?
Any co2 measuring device costs at least 70$. All devices i know with internet connectivity costs 150$+.
My Qingping Monitor Lite with SenseAir S8 co2 sensor, pm2.5, wifi, and oled display seems to be accurate enough and was only $45.
We added many components that are not strictly needed to measure air quality but make the device an interesting platform for custom projects. Also, the enclosure is more premium, being made from aluminum. Finally, IKEA can leverage economy of scale and probably gets a much better price on most parts.
A really nice way of experiencing a hardware product! I wish we had done the same for our air quality monitor when we were operational. [0]

[0] - https://www.open-seneca.org/

Semi off-topic. Anyone know why radon sensor modules are absent as modules one can buy and use in your own arduino-thing?
(comment deleted)