#ALPSTUGA CO₂ sensor accuracy

1 messages · Page 1 of 1 (latest)

coral verge
#

Starting a thread to talk about this, since there's been some scattered discussion on the topic.

The ALPSTUGA apparently uses a Sensiron SEN63C multi-sensor platform, and consensus seems to be that it does CO₂ measurement using a thermal conductivity sensor similar to the STCC4. This is a real CO₂ sensor (measures partial concentration of CO₂ within atmospheric gases) not estimated CO₂ using tVOC (the ALPSTUGA does not include a VOC sensor!)

My experience with it so far has been:

  • The out of the box factory calibration is pretty bad or non-existent. When I first plugged it in, it was reading about 300ppm lower than my zyAura ZGm053U (dual-beam ndir).
  • The calibration level is ~390ppm. It automatically recalibrates when it sees a CO₂ level lower than it has seen before, so you'll see the sensor "flatline" at 390ppm when CO₂ levels are going down and are below its current calibration level.
  • The sensor is really noisy. Consecutive readings can jump up or down by about 50ppm. You'll want to do some filtering on the sensor values if you plan to use it to trigger automations.
#

Here's a graph of the values I'm seeing starting from about a day after I first set it up. The blue line is the ALPSTUGA, the yellow line is my zyAura ZGm053U, and the red line is a Sensiron SCD40 that I just set up with ESPHome to have another point of comparison. Interestingly, the factory calibration of the SDC40 seems to be a lot better than the ALPSTUGA was.

bronze jackal
#

I have an Apollo AIR-1 NDIR that comes factory calibrated and five ALPSTUGA. When my USB c cables arrive in a few hours I will be setting them up outside initially to see if that picks up a different calibration then move them inside

coral verge
#

Yeah, a problem here is that it's been too cold recently to put stuff outside :) looking at the ratings of the sensors on the data sheet, you ideally want it to be above 10°C for the calibration to be accurate, and the min operating temperature is -10°C.

#

The data sheet notes that "Accuracy is achieved after initial operation for 12 hours, followed by exposure to fresh air."

#

interesting that they want it to be exposed to fresh air after it has been operating for a while. Maybe plan to do that instead?

bronze jackal
#

Well I guess I better calibrate before 8 pm then lmao

bronze jackal
#

Okay I have them all plugged in and paired

#

Outside

#

I don’t see docs for what all the buttons in the back do hopefully one lets you reset calibration

#

According to home assistant the firmware is update (assuming all that is working right for however that is distributed?)

#

I had left them outside for around an hour before I plugged them in, I’ll leave them there for another hour or two then move them inside

#

lol

coral verge
bronze jackal
#

Wonder if these will come together or just +-1 degree and percent accuracy

coral verge
#

sensor's rated typical accuracy is ±0.45°C and ±4.5% RH.

bronze jackal
#

0.8 F

#

Thats precision I assume

coral verge
#

accuracy, not precision

bronze jackal
#

Nice

coral verge
#

the sensors are very precise, report 0.01°C precision

bronze jackal
#

Nice

coral verge
#

(esphome annoyingly gets accuracy and precision mixed up - accuracy is how close the value is to what it should be, and precision is how many decimal places it is reported to)

bronze jackal
#

I’ll leave these out for another hour or so then bring them in

#

I wish you could set the clock through the matter connection, then you could keep it accurate

coral verge
#

you can set it - someone has put together an automation to do it (requires sending some manual commands via the matter server websocket)

#

oh, that's an integration. I think someone did it earlier as an automation :)

bronze jackal
#

What even sets the global integration settings? HaOS time? Is that running ntp

coral verge
#

HAOS does run ntp by default, i think. The integration lets you configure which time zone to use.

bronze jackal
#

Yeah I see that, but wasn’t sure what was going on behind the scenes

coral verge
#

At some point, HA will probably gain builtin support to sync time to matter devices… it's used not just for the ALPSTUGA but also other devices (e.g. Matter thermostats for scheduling).

bronze jackal
#

For the longest time a lot of distributions don’t set up the ntp server by default, dunno if that’s changed

coral verge
#

I'm curious, do they preset the temperature display (on the built-in display) to °F for ALPSTUGA sold in the US, or did you have to change the setting from °C to °F?

bronze jackal
#

It defaulted to F in home assistant (maybe based on other settings), but I haven’t looked at the device display yet

#

I’ll check when I bring it in

coral verge
#

home assistant applies automatic conversion for temperature units (the device always reports in celcius)

bronze jackal
#

390 is a somewhat out of date ambient calibration point. If they want to set it to the nearest 10 ppm they’re gonna have to change the device every year or two lmao

#

That’s about the rate gain for 10 ppm these days

coral verge
#

yeah, given the rated accuracy of the sensors i dunno why they didn't just round it to 400 :)

bronze jackal
#

I think we’re above 420 now at sea level

#

5-6 ppm of seasonal variation

#

Going to get cold tonight though :\

coral verge
#

I'd suggest leaving them running indoors overnight then putting them out tomorrow

#

that matches the recommendations in the sensor data sheet which say you should expose to fresh air after the sensor has been running for 12h

bronze jackal
#

Ah

#

Rats nest of alpstuga over here

#

Defaults to Celsius

#

These just turned on they’re still settling

coral verge
#

opened a window for a bit and the alpstuga bottomed out its reading, but i only got it down to ~500ppm or so according to my other sensors before it got too cold and i closed the window again :)

bronze jackal
#

Where these settled to is probably in the ballpark of correct. My NDIR is in my room and I don’t really want to move one in there yet

#

So maybe they took at least an initial calibration off of outside

coral verge
#

mine took its initial calibration off the conditions when it first turned on, yeah

bronze jackal
#

So maybe that’s the Strat outside for 30 minutes -> inside 12 hours -> outside

#

Then inside

#

lol

coral verge
#

they do recommend exposure to fresh air once a week to maintain the automatic calibration

#

i'd be interested to see how much it drifts

bronze jackal
#

MAYBE once a year

#

the sensiron in my Apollo recommends recalibrating every 2 years I think

coral verge
#

my zyAura CO₂ meter (the ndir one) is using an 8-day auto-calibration mode, but it doesn't seem to have had any issues being indoors without a direct source of fresh air.

#

remains to be seen about the sensiron SCD40 - i only just got it set up - but the factory calibration on that appears to be a nearly perfect match for my zyAura meter.

bronze jackal
#

my Apollo one is scd40

coral verge
#

I guess if ikea had chosen a sensor as good as the scd40 for co2 for this, it probably would have been twice the price :/

bronze jackal
#

And then I wouldn’t have five of them

#

Although I mostly have them because I don’t have any thread devices in my house and I wanted to play with some battery ones so I needed a few routers to spread around so why not get a router with a fun measurement

coral verge
#

yeah, i suppose they should work well for that. if nothing else, they'll be a clock once you get the time setting working :)

#

and the temperature/humidity/pm2.5 functionality all seems very good

#

buying an ALPSTUGA is cheaper than buying a bare SEN63C in small quantities, I wonder if anyone is buying them and taking them apart to grab the sensor.

bronze jackal
bronze jackal
#

AIR-1 in a different room that I’m inside

#

I don’t have a good reference temp, just the ecobee which is showing 66

bronze jackal
bronze jackal
#

Not sure if the temp is a bit low or the temp is just a bit low on the floor

bronze jackal
#

I should look if there’s a GitHub issue to bookmark on the matter time sync

bronze jackal
#

These are all within about 3 feet of each other

summer schooner
#

Hi! 🙂

I have two Alpstugas - one in my living room and one in the bedroom. The one in the living room is quite loud and makes some weird noises, but I haven't noticed that with the one in my bedroom. It is even noticeable a few steps away. What has your experience been like with yours when it comes to noise?

#

It is a really deep vibrating noise

#

Also can you disable the display 24/7? I toggled the option in HA but it turnes back on after some time. :/

coral verge
#

you shouldn't have noticable noise - if you do, then you have a defective device and should get it replaced

#

(probably an out of balance fan or something like that)

summer schooner
#

That is what i thought. Thanks for the confirmation. 😄

bronze jackal
#

Yeah none of mine have noise

#

There’s a window to chuck em outside for a few hours right now

coral verge
#

maybe i should get another one so I can take it apart and hook up directly to the sen63c with I²C. There's some neat things in there that ikea isn't exposing. In addition to pm2.5 the sensor also measures pm1.0, pm4.0, and pm10.0; and if it's in an environment of constant co2 level for several minutes you can do a forced recalibration and tell it the known co2 level (e.g. measured using a different sensor).

#

also, having the alpstuga connected to home assistant is gonna make your history database pretty huge. It's reporting high precision values for several different sensors at a very high rate - looks like less than 10s between updates.

#

i'd actually be worried about having too much thread network traffic if you have several of them :/

#

also, I see the reported temperatures drop quite significantly when the display is turned off. The sen63c supports having multiple different self-heating compensation settings for different device modes (e.g. display on vs display off), but i guess they didn't set that up :/

coral verge
#

the scd4x in periodic measurement mode reports new values every 5 seconds, what i did in esphome was collect 1 minute worth of samples, average them, round them to a reasonable precision, then send them to home assistant.

bronze jackal
bronze jackal
#

I haven’t taken them back outside yet but after running them for a while the CO2 seems to have settled into calibrations mostly unrelated to that initial one

bronze jackal
#

I’ll have to set up a NAS at some point to store video and local backups I guess

bronze jackal
#

Ok back outside and then I’ll bring them in this evening

bronze jackal
#

Ok i brought them back in and set them next to the NDIR

#

Inside, then outside for 5h, and now back inside

#

I wonder if I should have brought them in faster, after maybe just an hour

bronze jackal
#

Dunno what’s going on with purple alpstuga

#

Bad factory calibration?

#

That’s out of spec

coral verge
#

temperature on that one is measuring low... did you turn the screen off? the temperature calibration seems to have been done assuming the screen is on

bronze jackal
#

Here’s some updated data since bringing sensors back inside, alongside the NDIR CO2 sensor next to it

#

So the gist of the sensors’ CO2 measurement seems a lot better after taking them outside for 5 hours

coral verge
#

yeah, i wonder how long that'll last :/ assuming ikea has the automatic self-calibration enabled it'll reset itself based on the lowest seen co2 after a week, and it's possible the sensor will drift even before then.

bronze jackal
#

If that’s the case that’s not particularly useful

coral verge
#

it'll tell you more or less "how high is CO₂ above baseline", but rely on you knowing what the baseline is through other means :(

bronze jackal
#

Just get a CO2 sensor for your CO2 sensor

#

The particle sensor seems fine

#

It’s hard cause I don’t have many particles to test

#

I’ll have to wait until the next time it spikes, maybe when I have a plumber over later today

coral verge
#

yeah, everything other than the CO₂ sensor seems fine, and the CO₂ sensor might still be useful in some cases.

#

looks like the only PM/air quality sensors of this type that sensirion actually has in production are the sen63c and sen66 (the sen66 adds VOC and NOx measurements). I'd expect the SEN62, which drops the CO₂ monitoring, or the SEN65, which drops CO₂ and adds VOC, to be marginally cheaper when they become available. I wonder if IKEA saw customer demand for CO₂ sensing specifically?

bronze jackal
#

Now they just need to save the 12/24 hour setting and default to it when power cycled

#

Also HA native time sync would be nice

bronze jackal
#

Well the particle sensors seem to work

coral verge
#

oh, huh, a firmware update. I wonder what that'll change

bronze jackal
#

notice anything new?

#

I was thinking about ordering a bunch of innovelli white on/off switches for a few things

bronze jackal
#

mostly scared matter won't take off cause of slow adoption/support and then I've invested way too much in the switches lmao

coral verge
#

eh, given the companies doing matter (and especially matter over thread) stuff now, i wouldn't have any worries about that. big "proprietary" (but actually zigbee) systems for philips hue, ikea, smartthings are switching to matter over thread now, apple and google have been sneaking thread border routers and matter controllers into people's homes on multifunction devices, etc.

#

Aqara's being weird about it. (they have some devices that can do matter/thread or zigbee by switching firmware, but the matter support is kinda lackluster, and they switch the devices to zigbee with proprietary extensions when connecting to their own hub)

#

ikea's even dropping their cloud integrations with google home and apple home on the dirigera hub in favour of "just use matter to connect to controllers from other platforms"

bronze jackal
#

hopefully the matter binding situation gets eased up soon

#

I hate wiring shit 😒 but I have a bunch of wagos so it's not really that bad

coral verge
#

yeah, the main issues with matter have been controllers from apple, google, amazon, etc. missing features or falling behind in new device type support.

#

like, apparently if you connect an alpstuga to apple home, it won't show you the temperature. why not? it's there, it's a standard cluster, it works fine on other systems :/

bronze jackal
#

all the fans in my house have those stupid RF remotes and I need to replace them bad

#

they get interference from something and randomly toggle too

#

I'm worried they're dc motors and I think it doesn't support that though

coral verge
#

well, dang. was trying to rewire my scd4x to give it a better power rail to improve stability and I accidentally swapped the power and ground wires

#

the magic smoke is still inside, but I guess I'll find out shortly whether it still works

#

(definitely exceeded the "Absolute Maximum Ratings" listed on the datasheet by doing that)

#

... looks like it actually still works, but it's been damaged such that the calibration is trashed.

coral verge
#

(did a forced recalibration with the value that my ndir sensor is reading and they match now, but i guess i'll see how it works longterm)

#

meanwhile, my alpstuga saw some ~450ppm air while I was visiting some friends on friday and its tracking has been very good since - but i think it might be starting to drift (reading lower).

coral verge
#

Just for fun, my pile of CO2 sensors looks like this...

coral verge
#

… it is kind of neat how much precision these ikea sensors are providing for temperature and humidity, but it's really quite strange especially on the battery powered TIMMERFLOTTE. I wonder if they'll have a firmware update for it at some point which reduces reported sensor precision in order to make it report less often and get better battery life.

#

and some filtering on the co2 sensor output to reduce how noisy it is would be nice :/

bronze jackal
#

Through the magic of buying 5 of them we know the temp/humidity accuracy can’t be more than the full range quoted by the sensor data sheet

#

They wasn’t one that was consistently the highest either, so you can’t calibrate it to get more accuracy

#

They would exchange over the course of a few days

coral verge
#

Given the same conditions, they should all even out over time within the 100ppm accuracy specified in the data sheet. Probably diverge quite a bit in different conditions tho.

bronze jackal
#

@coral verge have you had much luck doing any matter binding? It looks like I need the beta matter server?

#

Should I just wait until it’s more mature

coral verge
#

I don't have any devices which support matter binding so I haven't tried.

coral verge
#

Huh, the ALPSTUGA's CO₂ sensor seems really sensitive to humidity levels

#

I was running it in a fairly dry room (~15% RH) and it was usually reporting values that were lower than my ndir by 100-200ppm. But I have my humidifier running now (~35-40% RH) and it tends to be reporting values that are higher than my ndir sensor by around 50-100ppm.

#

I was under the impression that it was supposed to use the values from the internal RH sensor to compensate when doing the CO₂ measurement, but it doesn't seem like it works all that well :/

#

I wonder if the RH sensor simply isn't very accurate in dry conditions. The datasheet only provides accuracy values for the 30-70% RH range.

#

Also interesting is that the SEN66 appears, based on the datasheet, to have a completely different CO₂ sensor from the SEN63C/SEN69C.

#

looks like the SEN63C/SEN69C use the STCC4 thermal conductivity sensor, while the measurement accuracy specs provided for the SEN66 match the SCD41 photoacoustic sensor.

bronze jackal
#

Hmmm

#

I can run some tests