SGP40 TVOC sensor

I intend to get the Pro Kit and install a TVOC sensor. Since SGP30 is being discontinued, has anyone had experience using SGP40 (with a board with the same pinout; VIN, GND, SCL, SDA ) as a drop-in replacement?

Seems like the main difference is that SGP40 reports a VOC Index rather than Total VOC in ppb, as well as a much faster switch-on time of 1h:

Also, has anyone had experience using SGP41 which also measures NOx?

I ordered these and have been pretty happy with them. The pin out is NOT the same and what’s on the Pro kit. The GND and VCC pins are switched. I just use two wires instead of pins to crossover. I am also using EspHome. You are correct that they now report an index (for both NOx and VOC). This document explains the index. In summary: both indexes are 1-500 where 100 is average/normal for VOC and 1 is normal for NOx.

Edit: To note, the Airgradient dashboard reports VOC in ppb so it will not be accurate with the SGP41. It will report the index value instead.

1 Like

@phillipppp clever solution for the pins!

We are currently developing a small SGP40 module that would work with the DIY kit pins and we will have that available in our DIY shop in a few weeks.

That model will also then have no pull-up resistors so when people build the kit they won’t need to manually remove them.


Any updates on the custom SGP40 sensor?

I am anxious for this as well. Will pick up for the diy pro presoldered kit that just came in.

No specific update, except that it will definitely come. I am still waiting for one of the modules here to arrive.


Interested in that as well! I’m ready to build a Pro but would like to have a known good VOC solution available. Adafruit has the SGP30 but if there’s testing being done the 40, I’d rather wait for that (as well as an official solution from AirGradient).

For reference in case it helps anyone: I used the SGP41 with the DIY_PRO_WITH_SGP40 code (found in the list of examples for AirGradient in the Arduino IDE). It reports TVOC using the index (1 to 500), but there’s no NOx reading.

My SGP41 is from this Aliexpress store (which has the correct pinout):

I followed the build instructions and removed the pull-up resistor from the SHT module.

1 Like

I’m using the Adafruit SGP40 breakout with the DIY_PRO_WITH_SGP40 code, it works correctly. I suggest picking up their ‘STEMMA QT / Qwiic JST SH 4-pin to Premium Male Headers Cable’ to make the connection simpler.

Here is a preview of the SGP41 AirGradient module that we will start selling very soon in the AirGradient Shop.


It will be mounted on female pin headers and will then have a 90 degree exposure in the enclosure.

any news regarding the avilability of this sensor on the shop?

Yes, it is now available in our shop:

This is great news and I’m very appreciative of the efforts of AirGradient.

For those of us that removed the pull up resistors on the other sensor do we need to re-add them?

The OLED display on the i2c bus has also pull ups so it might not be necessary (but I cannot currently test it).

Here is the chart of two DIY Pro Kits running the SGP41.

@AirGradient : Any plans to add NOx readings?

@ken830 It is available now:

The NOx sensor is not very sensible. Do you see higher values there? Please share your results.

Mine doesn’t show any readings there at all. I have the DIY Pro kit and flashed the D1 mini in the build instructions page. I also uploaded the image found in the Arduino IDE and it’s only specifying the SGP40, so I can see the code is only reading TVOC. Is there an updated sketch?

Did you update the Arduino library to the latest version? Then check the example sketches.