feat: ESP32 battery monitoring + adaptive screen brightness

Add battery voltage/level sensors (GPIO1 ADC) for the dock battery holder.
Screen now wakes at a configurable dim level on radar presence (default 30%)
and jumps to 100% for voice activity (listening, thinking, replying).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Aodhan Collins
2026-03-20 20:02:17 +00:00
parent ffc2407289
commit d5811e5b28
2 changed files with 59 additions and 13 deletions

View File

@@ -67,6 +67,7 @@ ESP32-S3-BOX-3
| Sensor dock I2C SCL | GPIO40 | sensor bus (AHT-30, AT581x radar) |
| Sensor dock I2C SDA | GPIO41 | sensor bus (AHT-30, AT581x radar) |
| Radar presence output | GPIO21 | AT581x digital detection pin |
| Battery voltage ADC | GPIO1 | dock battery holder, voltage divider (×2) |
---
@@ -117,6 +118,14 @@ Optional accessory dock connected via secondary I2C bus (GPIO40/41, 100kHz):
- **AT581x mmWave radar** — presence detection via GPIO21, I2C for settings config
- **Radar RF switch** — toggle radar on/off from HA
- Radar configured on boot: sensing_distance=600, trigger_keep=5s, hw_frontend_reset=true
- **Battery monitoring** — ADC on GPIO1 with voltage divider (×2), reports voltage + percentage (Li-ion 3.04.2V curve)
### Display Brightness
Screen brightness adapts to context:
- **Radar presence** → wakes at configurable dim level (default 30%, adjustable 5100% via "Radar brightness" entity in HA)
- **Voice activity** (listening, thinking, replying, error, timer) → full 100% brightness
- **Idle timeout** → screen off (configurable 160 min)
### Voice Assistant