Context
The STeaMi board ships a Würth WSEN-HIDS (P/N 2525020210001), not an ST HTS221. The wiki confirms this — docs/hardware/main-components/sensors/wsen-hids.md declares WSEN-HIDS as the installed humidity + temperature sensor.
Both drivers currently live in this repo:
lib/hts221/ (238 lines in device.py) — minimal, legacy
lib/wsen-hids/ (404 lines in device.py) — current, with averaging support, custom exceptions, two-point calibration
Register-level comparison (lib/hts221/hts221/const.py vs lib/wsen-hids/wsen_hids/const.py):
| Field |
hts221 |
wsen-hids |
| I2C address |
0x5F |
0x5F |
| Device ID |
0xBC (WHO_AM_I) |
0xBC |
| Register map |
identical |
identical (more exposed) |
| ODR encodings |
identical |
identical |
| Calibration |
factory only |
factory + 2-point user |
| Averaging |
not exposed |
AVG_2…AVG_256 constants |
WSEN-HIDS is a second-source of HTS221 — same silicon family, fully drop-in. Keeping both modules is dead weight against real STeaMi hardware and confuses users.
Scope
Phase 1 — Confirm equivalence
Phase 2 — Remove lib/hts221
Out of scope
- Custom boards mounting a real ST HTS221 — the WSEN-HIDS driver works on them too (identical silicon-level behavior).
Cross-repo
Mirror issues are being filed on arduino-steami-lib (same duplication) and wiki_steami (residual HTS221 mention in docs/design/sensors.md).
Context
The STeaMi board ships a Würth WSEN-HIDS (P/N
2525020210001), not an ST HTS221. The wiki confirms this —docs/hardware/main-components/sensors/wsen-hids.mddeclares WSEN-HIDS as the installed humidity + temperature sensor.Both drivers currently live in this repo:
lib/hts221/(238 lines indevice.py) — minimal, legacylib/wsen-hids/(404 lines indevice.py) — current, with averaging support, custom exceptions, two-point calibrationRegister-level comparison (
lib/hts221/hts221/const.pyvslib/wsen-hids/wsen_hids/const.py):hts221wsen-hids0x5F0x5F0xBC(WHO_AM_I)0xBCAVG_2…AVG_256constantsWSEN-HIDS is a second-source of HTS221 — same silicon family, fully drop-in. Keeping both modules is dead weight against real STeaMi hardware and confuses users.
Scope
Phase 1 — Confirm equivalence
hts221/const.pyandwsen_hids/const.pyregister-by-register.hts221/device.pyandwsen_hids/device.pymethod-by-method.wsen_hidsreturns plausible values on the STeaMi internal I2C bus.Phase 2 — Remove
lib/hts221lib/hts221/(driver, examples, README, manifest, tests).tests/scenarios for hts221 references — retarget temperature/humidity comparison scenarios ontowsen_hidswhere applicable.manifest.py/ package metadata for hts221 entries.Out of scope
Cross-repo
Mirror issues are being filed on
arduino-steami-lib(same duplication) andwiki_steami(residual HTS221 mention indocs/design/sensors.md).