Skip to content

sen6x: Add driver for Sensirion SEN6x family of environmental sensors#118

Open
mtraver wants to merge 1 commit into
periph:mainfrom
mtraver:sen6x
Open

sen6x: Add driver for Sensirion SEN6x family of environmental sensors#118
mtraver wants to merge 1 commit into
periph:mainfrom
mtraver:sen6x

Conversation

@mtraver

@mtraver mtraver commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

The Sensirion SEN6x family includes 6 sensors (SEN62, SEN63C, SEN65, SEN66, SEN68, SEN69C) that support the following measurements, in different combinations depending on the model:

  • Particulate matter (PM1.0, PM2.5, PM4, and PM10, with the addition of PM0.5 from the Read Number Concentration Values command)
  • Relative humidity
  • Temperature
  • VOC
  • NOx
  • Formaldehyde (HCHO)
  • CO2

Datasheet: https://sensirion.com/media/documents/FAFC548D/693FBB15/PS_DS_SEN6x.pdf

@codecov

codecov Bot commented Jun 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.30769% with 14 lines in your changes missing coverage. Please review.
✅ Project coverage is 54.5%. Comparing base (1752d1b) to head (d375a1a).

Files with missing lines Patch % Lines
sen6x/sen6x.go 95.5% 8 Missing and 2 partials ⚠️
sen6x/vocnox.go 94.7% 2 Missing and 2 partials ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##            main    #118     +/-   ##
=======================================
+ Coverage   52.6%   54.5%   +1.9%     
=======================================
  Files        117     127     +10     
  Lines      11801   12321    +520     
=======================================
+ Hits        6205    6713    +508     
- Misses      5232    5240      +8     
- Partials     364     368      +4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mtraver mtraver force-pushed the sen6x branch 2 times, most recently from 75cf610 to d879f1f Compare June 18, 2026 02:26
@mtraver

mtraver commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

The CI failures are all existing issues in dht22, inky, and lepton. Perhaps I'll put up PRs to fix those issues.

I know this is a giant PR... It covers a family of 6 sensors that support 7 different measurements, so there's quite a bit to implement. I've done my best to document it thoroughly and test it well (97% coverage currently, just a few lines that I found it hard to cover given how i2ctest works).

Functionality is broken up by measurement type, so there are different files for e.g. PM and CO2 functionality. The measurement-agnostic stuff and general I2C stuff is in sen6x.go.

Please let me know if I can assist during review!

The Sensirion SEN6x family includes 6 sensors (SEN62, SEN63C, SEN65,
SEN66, SEN68, SEN69C) that support the following measurements, in
different combinations depending on the model:

  - Particulate matter (PM1.0, PM2.5, PM4, and PM10, with the addition
    of PM0.5 from the Read Number Concentration Values command)
  - Relative humidity
  - Temperature
  - VOC
  - NOx
  - Formaldehyde (HCHO)
  - CO2

Datasheet: https://sensirion.com/media/documents/FAFC548D/693FBB15/PS_DS_SEN6x.pdf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant