paulvha:
Agree this is confusing as on the same page 14 it states : After repowering the sensor, the command will return the standard reference value of 400 ppm
Just to clarify this, since I had a discussion with Sensirion about this topic:
**both sentences are correct**.
The first sentence in the manual reads “The FRC method imposes a permanent update of the CO2 calibration curve which persists after repowering the sensor.” Sensirion confirmed that this is true.
The second sentence was “After repowering the sensor, the command will return the standard reference value of 400 ppm.” This refers to a command reading out the reference value. Sensirion confirmed that only before repowering, the sensor returns the updated value used in the FRC process. After repowering, the standard reference value is read out, altough this is not the value which is actually used in our case - it is still the value which we set doing the FRC before.
paulvha:
As for your code: you use the right sequence, but after begin(wire, false) do you FRC call : setForceRecalibration(410), and then start measurement etc.
Since you are asking about my calibration, this is the calibration code, which is part of the setup() function
airSensor.begin(Wire, autoSelfCalibration);
delay(1000);
airSensor.setAltitudeCompensation(altitudeOffset);
airSensor.setTemperatureOffset(TempOffset);
If I do an FRC, I call the calibrateSensor() function mentioned in an earlier post in the loop() function, i.e. after the calibration function.
paulvha:
A last point: Sparkfun library was written against the documentation that was valid at that time. In May2020 a new datasheet was submitted by Sensirion with additional functions. I had already taken the Sparkfun library as a starting point and added addiotional functions and examples. The library https://github.com/paulvha/scd30 now also has the additional functions and now you can read the FRC : with getForceRecalibration(). This will also work on an ESP32, which by default does not support clock-stretching which is needed)
Thanks a lot for all your work!