Introduction
The IKEA ALPSTUGA is an air-quality sensor in IKEA’s new Matter lineup. It uses Matter over Thread and has sensors for:
- Temperature
- Humidity
- CO2 concentration
- pm2.5 particulate matter concentration
Hardware
The ALPSTUGA is much smaller than I expected from marketing shots. The build-quality is not too bad, though the (top) button does not feel very nice or tactile. The whole device feels like somewhat cheap-ish plastic.
The ALPSTUGA uses a LED matrix display that adapts to the ambient light level, so it is not excessively bright in a dark room. Similar to the TIMMERFLOTTE temperature/humidity sensor, the display is not very useful. But where the TIMMERFLOTTE has the issue that the display is off by default and you have to press the sensor to get the current temperature reading, the ALSTUGA only shows one value at a time (COâ‚‚ level, pm2.5 level, temperature, humidity or time). You have to press the top button to switch between the readings. This makes it annoying to quickly read off the sensor, in contrast to e.g. the SwitchBot Meter Pro CO2, which has a LCD display that shows all the values at the same time.
The sensing platform used is a Sensirion SEN63C, which uses a STCC4 for CO₂ measurements. Unfortunately, this is not an NDIR sensor. Instead it uses less accurate thermal conductivity sensing. This allows building smaller/cheaper sensors, but it depends on the input of the temperature/humidity sensor, because e.g. humidity influences measurements. Also, the sensor relies on the air mixture being 78% N₂, 21% O₂, 0.93% Ar, 400 ppm CO₂ and will stop giving accurate readings when this composition changes (modulo CO₂). The operating conditions are also more limited than most other CO₂ sensors (10–40 °C, 20–80% RH).
The sensor uses a ventilator to pull in air to the sensor. The ventilator is silent enough ‒ I cannot hear it with our HVAC system providing a permanent hum in the background.
Adding to Home Assistant
Adding the ALPSTUGA to Home Assistant with a ZBT-2 flashed for Thread was straightforward. Unfortunately, it knocked a TIMMERFLOTTE out of the network (possibly related to the ALPSTUGA also being a Thread router?). The TIMMERFLOTTE did not recover and had to be factory reset and re-commissioned.
Besides that, it has worked fine so far, though since the addition the OpenThread Border Router logs have been spammed with:
1d.16:15:28.558 [W] P-RadioSpinel-: Error processing result: NoBufs
1d.16:15:28.558 [W] P-RadioSpinel-: Error waiting response: NoBufs
1d.16:15:30.735 [W] SrpServer-----: Failed to handle DNS message: Drop
1d.16:15:33.439 [W] SrpServer-----: Failed to handle DNS message: Drop
1d.16:15:38.569 [W] SrpServer-----: Failed to handle DNS message: Drop
These warnings might be unrelated, but they started only after adding the ALPSTUGA.
The ALPSTUGA shows up as follows in Home Assistant. Disabling the toggle disables the display, but continues measuring. There are some reports though that measuring stops after 7-8 hours when the toggle is disabled (I haven’t tested this yet).

Initially when I added the ALPSTUGA to Home Assistant, it was showing the correct time. However, when I did a power cycle, it reset to 0:00 and never received the correct time again (this might be a Home Assistant Matter server issue). There are some buttons hidden under the unit with which the time can be set manually.
Sensor quality
I will update this section later, but for now I have primarily looked at COâ‚‚. I have let the sensor run through some calibration cycles. I will compare the ALPSTUGA with a Senseair S88 (CO2 office, blue in the graphs) and a Switchbot Meter Pro CO2 (CO2, orange). The table below lists their stated accuracies under normal circumstances (400-2500 ppm).
| Sensor | Absolute tolerance | Relative tolerance (of measured value) |
|---|---|---|
| ALPSTUGA | ±100 ppm | 10% |
| SwitchBot Meter Pro CO2 | ±50 ppm | 5% |
| Senseair S88 | ±40 ppm | 3% |
The good news is that the ALPSTUGA picks up COâ‚‚ trends pretty well. You can clearly see the times where a room was occupied (this was measured in a bedroom + home office)/vacant/ventilated.
Unfortuntely, the sensor is pretty noisy. I assume that this is caused by the COâ‚‚ sensor also requiring measurements from the SHT4x temperature/humidity sensors, compounding inherent measurement noise. This makes reading COâ‚‚ from the display less useful. The concentration can easily vary 70-80 ppm in the span of a few minutes, even in an otherwise empty room with a stable climate. This also makes the sensor suboptimal for triggering actions. I use a level of 1000 PPM to send me a notification to ventilate my office. However, since the ALPSTUGA can jump from 920 to 1000 ppm and back in the span of a few minutes, there would often false triggers.

The zoomed-in graph below shows the noise in more detail. In a well-ventilated, vacant room, the other sensors hover round 420 ppm, whereas the ALPSTUGA fluctuates between 420 and 500 ppm.

Besides the noisy readings, the ALPSTUGA is sometimes significantly off and more than the stated tolerances. For example, the ALPSTUGA sometimes reads as much as 200 ppm higher than the very reliable Senseair sensor:

A smaller annoyance is that if you power cycle the device (e.g. moving it to a different power outlet), the CO2 sensor will report 0 ppm for a short time. I hope that IKEA will fix this in a firmware update. Better to report nothing than garbage.
Conclusion
IKEA managed to pack a lot of sensors into a 30 Euro device. This is a steal compared to competing devices. But you get what you pay for ‒ noisier, less accurate sensors. The ALPSTUGA is great if you are mostly interested in CO₂ trends. But in that case I would avoid relying on the display too much, since the values fluctuate quite a lot, but instead look at aggregates (e.g. graph trend line or low-pass filter).
I wouldn’t recommend ALPSTUGA if you want accurate, stable readings or want to use the sensor directly in workflows. In that case I would recommend you to either buy a more expensive sensor (like the Aranet4) or build one yourself. You can make a Senseair S88 (22 Euro) + ESP32 (5 Euro) CO₂ sensor for under 30 Euro and it will have much more accurate and stable readings.
I would have liked IKEA to put fewer, but better-quality, sensors in one device. E.g. only temperature, humidity, and COâ‚‚. But for most people this will be a fine purchase at an attractive price.