Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCD4X CO2 Sensor Driver & Docs #98

Closed
mbz4 opened this issue Apr 23, 2024 · 7 comments
Closed

SCD4X CO2 Sensor Driver & Docs #98

mbz4 opened this issue Apr 23, 2024 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@mbz4
Copy link
Collaborator

mbz4 commented Apr 23, 2024

Extend support to include the Sensirion SCD40 compact photoacoustic NDIR CO2 sensor.

Tasks:

  • understand features, examples,
  • test available drivers,
  • write, validate IoTempower bridge,
  • document new driver,
  • merge PR.

Bare sensor module:
Image

Module in use for this driver development and in local stock:
Image

Resources:

@mbz4 mbz4 self-assigned this Apr 23, 2024
@mbz4 mbz4 added the enhancement New feature or request label Apr 23, 2024
@mbz4
Copy link
Collaborator Author

mbz4 commented Apr 23, 2024

Update: ended up testing daisy chained with SGP30, SHT30, ENS160 (not sure my unit works) and AHT2X sensors together on the same board and same platformio project, felt convenient as the SCD4x official i2c library has a few calibration and offset features so it made sense to merge the project; this way the script has simultaneous access to all the measurement feeds for easier printouts and testing different libraries

Image

@mbz4 mbz4 changed the title SCD4X Driver & Docs SCD4X CO2 Sensor Driver & Docs Apr 23, 2024
@mbz4
Copy link
Collaborator Author

mbz4 commented Apr 24, 2024

Need to extend IoTempower basic wrapper support first, making it possible to configure a simple (calibrated) measurement cycle. Afterwards document the basic features and finally focus on exposing advanced features.
In the delivered stage, the sensor should be fully configurable through setup.cpp and reconfigurable through MQTT/sensor_topic....

@mbz4
Copy link
Collaborator Author

mbz4 commented Apr 25, 2024

Tried available libraries for async measurement support but the sensor is not robust (plug/unplug test - measurements differ too much, unreliable). Digging deeper into sensirion scd4x library...

@mbz4 mbz4 added urgent Tasks that need to be done very soon to fulfill deadlines or stopping other tasks. and removed urgent Tasks that need to be done very soon to fulfill deadlines or stopping other tasks. labels Apr 25, 2024
@mbz4
Copy link
Collaborator Author

mbz4 commented May 21, 2024

There be whales here! 🥇

Image

@ulno
Copy link
Contributor

ulno commented May 21, 2024

Maybe link the bias ribbit finding here?
Maybe it could be solved with an IoTempower filter?
What about an initial PR to encourage more testers?

@mbz4
Copy link
Collaborator Author

mbz4 commented May 21, 2024

Maybe link the bias ribbit finding here?

GMAC_2024_-Ribbit_Network_Poster-_White_BG_48_x_36_in.pdf

Maybe it could be solved with an IoTempower filter?

ribbit in the poster don't really state it as a linear steady state bias error... so do we just need to the add the difference to each measurement to offset the error from reference sensor (vaisala)? ... i think we need to test this over a variety of temp, humidity ranges + CO2 concentration levels to really show the behaviour; but the datasheet does show deviations in specific ranges for the scd4x: https://sensirion.com/media/documents/48C4B7FB/64C134E7/Sensirion_SCD4x_Datasheet.pdf

What about an initial PR to encourage more testers?

Can do, but will have to then regress the updated landing page architecture diagram. Will prepare draft for ENS160 first then start the PR (and new issue for that sensor).

@mbz4
Copy link
Collaborator Author

mbz4 commented May 21, 2024

PR: #118

@mbz4 mbz4 closed this as completed May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done ✅
Development

No branches or pull requests

2 participants