SCD30 sensor is going below 425ppm for CO2 after calibration

Hi.
I have SCD30 connected to a ESP8266. First tried to use the auto calibration, but then value where around 300ppm inside. Then added the manual calibration function. Placed the unit outside for 1hour, and calibrated to 425ppm. Then placed the unit inside again. Then it raised to around 700ppm. And now the sensor is back to 372ppm overnight. I have another SCD30 unit with ESP3266, same procedures is used to calibrate it, this sensor is now showing 415ppm.

Added the code below. Do anyone know whats wrong or causing this? In general Im happy to have low CO2 ppm inside. But better then fresh air outside is most likely to good to be true:P


i2c:
  sda: GPIO4
  scl: GPIO5
  scan: true
  id: bus_a

sensor:
  - platform: scd30
    co2:
      name: "Soverom CO2"
      accuracy_decimals: 1
    temperature:
      name: "Soverom Temperature"
      accuracy_decimals: 2
    humidity:
      name: "Soverom Humidity"
      accuracy_decimals: 1
    temperature_offset: 3.92 °C
    automatic_self_calibration: False
    address: 0x61
    update_interval: 60s


  - platform: wifi_signal
    name: "WiFi Signal Sensor"
    update_interval: 60s

# Example on how to implement a UI section in HA for manual calibration.
# Note: Please enter first a CO2 value before pressing the button.
button:
  - platform: template
    name: "SCD30 Force manual calibration"
    entity_category: "config"
    on_press:
      then:
        - scd30.force_recalibration_with_reference:
            value: !lambda 'return id(co2_cal).state;'

number:
  - platform: template
    name: "CO2 calibration value"
    optimistic: true
    min_value: 425
    max_value: 40000
    step: 1
    id: co2_cal
    icon: "mdi:molecule-co2"
    entity_category: "config"

I don’t know how this esphome component works, but scd30 needs to be operated >2 minutes in continuous mode prior to calibration.

I just started the unit, placed it outside and running for one hour. Before I sent the force calibration command. So not sure if that enough? Is it storing the calibration value in the sensor? Just thinking if the sensor is restarted.

If the calibration is programmed correctly. One should have a look at the component library to be sure. Is it operating the sensor in continuous mode or not…

ok, not sure where to look.
I got this from this www SCD30 CO₂, Temperature and Relative Humidity Sensor — ESPHome

You need to be able to read code and datasheets to verify it.
What about self-calibration? I would trust more that than the field calibration implementation in esphome.

From datasheet:
1.4.6 (De-)Activate Automatic Self-Calibration (ASC)
Continuous automatic self-calibration can be (de-)activated with the following command. When activated for the first time a
period of minimum 7 days is needed so that the algorithm can find its initial parameter set for ASC. The sensor has to be exposed
to fresh air for at least 1 hour every day. Also during that period, the sensor may not be disconnected from the power supply,
otherwise the procedure to find calibration parameters is aborted and has to be restarted from the beginning. The successfully
calculated parameters are stored in non-volatile memory of the SCD30 having the effect that after a restart the previously found
parameters for ASC are still present. Note that the most recently found self-calibration parameters will be actively used for selfcalibration disregarding the status of this feature. Finding a new parameter set by the here described method will always
overwrite the settings from external recalibration (see chapter 0) and vice-versa. The feature is switched off by default.
To work properly SCD30 has to see fresh air on a regular basis. Optimal working conditions are given when the sensor sees
fresh air for one hour every day so that ASC can constantly re-calibrate. ASC only works in continuous measurement mode.

Thanks. Make sense why its a bit off, so if I undertand i correctly. I need to put it outside for a week. And then need to take it outside now and then to ensure its calibrated. Its a bit circumstantial way but.
Maybe I need to find another alternative. do you have experiance with similar sensors?

Just 1 hour a day for a week in front of open window is ok.
Even after ones in a while fresh air is needed to keep it calibrated.

I have placed the sensor outside now. So will monitor it the next days,
Current state: Sensor1: CO2 395.7ppm - Sensor2 CO2 354.7ppm both is placed next to each other and been running for around 3hours

Did you set it to
automatic_self_calibration: True ?

No, according to documentation, is should be default to true. I can of course change it to true. Just to be on the safe side. Or is it not needed?

According to documentation no need, I just always doubt everything :wink:
But I’m quite confident with Sensirion documentations…