Repository navigation
Releases
Releases · hubertciebiada/open-ambient-sensor
v0.54 — first validated hardware revision
First public release. v0.54 is the revision printed on the silkscreen of the boards currently built and running; the firmware in this release reports project_version: v0.54 to match.
Hardware
- Ø120 mm D-shape PCB for the SZOMK AK-N-94 enclosure (Ø128 mm perforated white ABS, smoke-detector form factor), mounts on a standard 60 mm wall box. 24 V DC input with TVS + PTC + reverse-polarity P-FET, LM2596 → 5 V, TPS62933 → 3.3 V.
- Sensirion SEN66 (CO₂, PM1 / 2.5 / 4 / 10, VOC index, NOx index, temperature, humidity) recessed through a PCB cutout, JST GH lead, zip-tie retention.
- HiLink HLK-LD2410C mmWave presence radar with stillness detection, board-to-board on a 2.54 mm header, antennas toward the cover.
- 7 × SK6812-SIDE side-emitting RGB ring (air-quality colour indicator), ESP32-C6-DevKitM-1-N4 on socket headers, Qwiic / STEMMA QT expansion port.
- Verification on this copper:
build.py35/35 stages PASS, DRC 0 violations / 0 unconnected, 78/78 pytest, JLCPCB DFM 0 Danger on both the bare-board and the assembly check. - Hand-soldered after SMT assembly: J1, J4, J5, J6, C1, C3, C4.
Production files attached: oas-jlcpcb.zip (gerbers + drill), oas-BOM.csv, oas-top-CPL.csv, oas-bottom-CPL.csv, oas-ibom.html (interactive BOM). Order per the JLCPCB workflow in CLAUDE.md — Parts Selection "By Customer" and the pre-payment Assembly Order cross-check are not optional.
Firmware (ESPHome, esp-idf)
- Five packages:
core/leds/air-quality/presence/bt-proxy; on-device web dashboard grouped per sub-device. - SEN66 with Sensirion's STAR temperature compensation running inside the module; temperature / humidity / CO₂ offsets exposed as Home Assistant entities.
- LD2410C: per-gate thresholds, gate 0 disabled (it sees the sensor fan and the cover), the radar's Bluetooth kept off; sleep-detection tuning notes in
packages/presence.yaml. - OTA (Home Assistant ESPHome add-on), native API, Bluetooth proxy, Restart / Safe-Mode buttons.
firmware/tools/bringup_check.py— repeatable per-unit bench check.- v0.51 prototype boards need
firmware/esphome/examples/v0.51-board.yaml(SDA/SCL and UART pin overrides); v0.54 boards run the defaults.
Known limitations
- The SEN66 needs an air duct from the perforated cover to its inlet to read correctly inside the enclosure; the duct sits in front of part of the LED ring, so the light effect is weaker than designed. The duct is not in the repository yet.
- Detecting a sleeping person relies on the presence timeout, not on the still-target thresholds (see
packages/presence.yaml). - BOM cost is deliberately above bargain DIY kits: calibrated combo sensor, mmWave radar, injection-moulded enclosure.
Since the order-approved design freeze (ea154f8, 2026-07-23)
Firmware bring-up and documentation only — no copper change. See the commit list between ea154f8 and this release.