firmware
-
Improving the ESPHome captive portal
The screen that gets an ESPHome device onto WiFi lists the same network once per access point, so a mesh shows up three or four times at different signal strengths. Tapping the strong one does nothing the weak one doesn't, because the device only ever gets the network name, not the access point you picked. I checked the source, then sent a 220-byte fix upstream to collapse the list to one row per network.
-
Sometimes a sensor lies about what model it is: the SEN55 that said SEN54
Some AIR-1 units report themselves as a SEN54 over I2C even though the module inside is a SEN55, so ESPHome shut their NOx sensor off. It turned out NOx had never worked on those units at all. A small override option settled whether the hardware or the register was lying, and it ships in ESPHome 2026.7.2.
-
Building an air quality LED indicator for the AIR-1
The AIR-1 has three onboard RGB LEDs, so I made them show air quality at a glance. The feature itself is small. Getting there took longer than it should have, because I kept fixing things that weren't the problem. These are the dead ends and where it ended up.
-
The CAST-1 got a new DAC component and WizMote support
ESPHome 2026.6.0 added a built-in PCM5122 component, so we moved the Apollo CAST-1 off the community one we'd been using and added WizMote remote control in the same update. The move wasn't optional, the old component stopped loading on 2026.6.0, and the swap shipped with a silent-audio bug I had to chase down.