Skip to content(if available)orjump to list(if available)

Show HN: Air Lab – A portable and open air quality measuring device

Show HN: Air Lab – A portable and open air quality measuring device

194 comments

·June 5, 2025

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!

tomhow

I just wanted to draw attention to this detail in one of the comments [1] from the author.

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

ronakjain90

Your product looks so good, congratulations on your launch.

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.

256dpi

Thank you! Yes, that's something we'd like to prototype soon for supporting multiple rooms/locations. Integrating with other dashboards including TRMNL would be awesome too.

InsOp

like ZigBee compatible with home assistant

bhouston

I recently upgraded to an EcoBee Premium and it has a lot of overlap with this device:

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

sedgjh23

Just a heads up, the EcoBee doesn’t use a CO2 sensor, it just guesses what the value is. I have the same thermostat and was getting wildly different readings than my more expensive AirThings View Plus. Checked the EcoBee support website[1] and it made a lot more sense.

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

SeasonalEnnui

I really like this. Did you investigate the options regarding CO2 sensors? I'm interested to know if you compared SCD30 to SCD41? The dual-channel design of SCD30 is supposed to offer lower drift and longer stability compared to the SCD41 (which claims to need taking outside once a week). That's the deal on paper, I'm wondering if you got any real data on this.

256dpi

Thanks! The SCD30 is a great sensor and obviously better than the SCD41. But we did not look at it in more detail, as we chose the SCD41 primarily for its small size. We believe that an accuracy of +/-50ppm is enough for a device like the Air Lab. Also, we'll actively look into reminding the user to take the device outside if automatic calibration is used. On top of that, it's our plan to either factory calibrate the devices and/or offer manual recalibration that should extend beyond the 1-week interval with automatic calibration.

homebrewer

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.

scottlamb

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/

jadbox

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.

sizzle

Drying polyester clothes releases CO2 to unhealthy levels?

isatty

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.

cyberax

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.

andyfleming

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.

ted_dunning

Interesting. I have been running three of their devices of different generations in my house for several years now with no hangs.

Aeolun

The light strip they added to the new devices is fun. You get a free nightlight too.

crtified

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.

iamflimflam1

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.

256dpi

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.

FlyingSnake

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

nerdsniper

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.

DoingIsLearning

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.

256dpi

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.

burnt-resistor

Needs a particle sensor like a PlanTower PMS5003 or it's not really worth the effort.

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

Tepix

Here is a (much cheaper ~50€) DIY project "airrohr" that measures particulates: https://sensor.community/en/sensors/airrohr/

The project was formerly known as luftdaten.info

They are collecting data from more than 10,000 sensors world-wide!

zevon

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.

silversmith

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.

256dpi

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!

stared

I like your design, especially the e-ink display!

I am curious, what are pros and cons (connectivity, measurement quality) with Qingping Air Monitor 2 (https://qingping.co/air-monitor-2/)?

hereme888

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.

ninetyninenine

Whats wrong with bikini models? I want the product and the bikini model.

null

[deleted]

jdalgetty

Is there any sort of case option for this? How resistant is it to moisture?