Repository navigation
v2.1.1: ESP32 bridge link fix
If you're running the ESP32 bridge from v2.1.0, update. Its iPhone link kept dropping every few seconds, and after enough failed reconnects iOS stopped trying until you tapped the device in Settings.
The cause
A classic ESP32 has one radio shared between WiFi and Bluetooth. It wasn't range, power or AirPods: a 10-minute test with WiFi off held the link with zero drops, even with AirPods streaming. (The Pi Zero's combo chip shares its radio the same way, which is likely why the Pi bridge dropped ~20 times an hour too.)
The fix
- WiFi max modem sleep. WiFi wakes about every 300 ms and leaves the radio to Bluetooth in between. That gave 0 drops in a 15-minute test with WiFi on, and
/healthstill answers within about 1 s. - The 5 s link timeout is requested as soon as the phone connects, so pairing and setup no longer run on iOS's ~0.7 s default.
Also new
- The dashboard shows the iPhone's Bluetooth signal, e.g.
iPhone Connected • 49% • -62 dBm. That's for the ESP32 bridge only; the Pi doesn't report it. POST /bletest?min=Nruns the bridge with WiFi off for N minutes, to tell radio sharing apart from range problems. Notifications are held and sent afterwards.
Updating
Over WiFi from esp32-bridge/: SIFT_ANCS_OTA_PASSWORD=... pio run -e ota -t upload. Also rebuild the processor if you want the signal on the dashboard.