Skip to content

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

Merged
maruel merged 1 commit into
periph:mainfrom
mtraver:sen6x
Jul 21, 2026
Merged

sen6x: Add driver for Sensirion SEN6x family of environmental sensors#118
maruel merged 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
@mtraver

mtraver commented Jul 19, 2026

Copy link
Copy Markdown
Contributor Author

Hello! Checking in on a review for this.

mtraver added a commit to mtraver/sen6x that referenced this pull request Jul 21, 2026
This code is copied from periph/devices#118
@maruel

maruel commented Jul 21, 2026

Copy link
Copy Markdown
Member

sorry for the delay, I created maruel@1a6dfb7 to fix the linter issues. merging.

@maruel
maruel merged commit 466f07d into periph:main Jul 21, 2026
7 of 10 checks passed
@mtraver

mtraver commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

sorry for the delay, I created maruel@1a6dfb7 to fix the linter issues. merging.

No worries, thanks so much!

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.

2 participants