
I tried the SEN6x. And that’s not all – in this article, I’ll show you what’s inside the SEN66 module, which can measure a wide range of air-quality parameters. I connected the SEN66 to an ESP32 and displayed all its measurements on a screen.
With any module like this, you need to follow the guidelines for placing the sensor correctly. What are they?
The SEN6x – specifically, the SEN66 – packs a whole lot of sensors into a small module. For a modest price, you get a versatile little unit that measures all the air-quality parameters you’re most likely to need: temperature, humidity, particulate matter, NOx (nitrogen oxides from combustion), and the VOC (volatile organic compounds) air-quality index, as well as CO2 concentration (SEN66) or formaldehyde concentration (SEN68).
I wrote about the SEN6x in more detail in this article:
SEN6x – An even more versatile indoor sensor. The top-of-the-line version measures particulate matter, temperature, humidity, VOC and NOx indices, and CO2 or formaldehyde concentration
Why use the SEN6x (SEN66)?
+ smaller than the SEN5x
+ 3.3 V supply for the whole module
+ multiple sensors in one module: temperature, humidity, NOx and VOC indices, particulate matter, and CO2 concentration (SEN66) or formaldehyde (SEN68)
+ same connector as the SEN5x
+ libraries for Arduino, Raspberry Pi, and more
+ very quiet operation
+ several versions of the same module will be available
+ lower power consumption than other types

What’s inside
The SEN6x module consists of two parts. The top half clips onto the bottom half and is secured by tabs. You can separate the cover from the base with a knife or a thin screwdriver.
Inside, you’ll find a fan and a control board with an SCD41 CO2 sensor and an SGP43 sensor for the NOx and VOC indices.
The SCD41 is no surprise – it’s a readily available sensor for measuring CO2 concentration. Read my SCD41 article.
Did the SGP43 name catch your eye? Bingo! The commonly available version is the SGP41 – see the product page. So what’s different? Measurement accuracy, perhaps, or the calibration method? That’s common with temperature sensors, for example: the SHT40 is “less accurate” than the SHT45.
Or perhaps it’s a different I2C address.
On the underside, remove one retaining screw to reveal the remaining sensors and the control microcontroller.
Temperature and humidity are measured by the SHT41 – see the product page. Its temperature accuracy is ±0.2°C, and its humidity accuracy is ±1.8 %RH.
Particulate matter is measured by the SP56 sensor, the core of this module. You can find the specifications in the datasheet.
The control microcontroller, which handles communication with the sensors and the host controller, is an STM32C011 – see the datasheet.



SEN66 and ESP32 with data on a Memory LCD – IT’S ALIVE!
I made an adapter for the SEN66, going from its connector to the I2C uŠup connector (also known as SparkFun Qwiic and Adafruit STEMMA), which is fitted to all boards from Czech retailer LaskaKit.
For the controller, I used an ESP32 DevKit and connected a Memory LCD to it via the SPI uŠup connector.
Note: LaskaKit will soon have its own adapters between the SEN6x connector and uŠup in stock – no soldering needed.
From the libraries provided by Sensirion, I chose the one for Arduino. There are also libraries for Python, Raspberry Pi, and embedded systems.
You can download my code below (no, it won’t be on GitHub 😛 )
Here’s the result:

Things to watch out for
The module’s supply voltage is 3.3 V – not 5 V like the SEN5x. Connect the SEN6x module to a 5 V supply and you’ll almost certainly destroy it.
The I2C lines are 5 V tolerant, though.
The most important thing to get right is where you place the module.
Avoid the following:
> direct sunlight
> placing it too close to heat sources – radiators, stoves, or the sun
> pressure differences between the inside and outside of the enclosure
> incorrect orientation
> exposure to drafts



Read this design-in guide:
Sensirion_PS_AN_SEN6x_Mechanical_Design_and_Assembly_Guidelines.pdf
The product page also has a STEP model of the module, other sensor application notes, and more:
SEN66 product page at Sensirion
The SEN66 module (currently the only version available) is available from Mouser for about $75.
Or from Czech retailer LaskaKit for about $80. A cable to connect the I2C uŠup connector to the SEN6x connector will be available from LaskaKit’s SEN6x cable product page.
The SEN63C (CO2, particulate matter, humidity, and temperature) is in stock for about $25.
From X (formerly Twitter):







