docs: document touch-pad sync (GPIO4/27), no WiFi UI

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
blue — ESP32/PlatformIO firmware 2026-06-10 14:18:05 -04:00
parent 2a34ed5abe
commit 66f56f1e09

View File

@ -52,6 +52,23 @@ matching input pins on **both** B and C, and tie **all grounds together**.
Each board can be powered from its own USB/5V; only the grounds must be common. Each board can be powered from its own USB/5V; only the grounds must be common.
### Sync (touch pads on each source board)
JBL and Cardo have independent Bluetooth buffering, so one lags the other. Each
source board has an **adjustable delay** (0200 ms) you trim live, by ear, with two
capacitive-touch pads — raise the delay on whichever speaker is *early* until they
line up. The value is saved to flash (survives power-cycles).
| Touch pad | Pin | Action |
|-----------|-------|--------------------------------|
| **+** | GPIO4 | tap = +5 ms, hold = ramp up |
| **** | GPIO27 | tap = 5 ms, hold = ramp down |
Attach a short wire or a bit of foil to GPIO4 and GPIO27 on each source board and
touch the end. (There is intentionally **no Wi-Fi/phone UI**: Wi-Fi + Bluetooth +
the audio buffer don't fit in RAM on the classic ESP32 — it starves the Bluetooth
stack — so the control is local touch.)
## Build & flash ## Build & flash
``` ```
@ -78,7 +95,9 @@ B and C start reading it.
## Known limitations ## Known limitations
- **The two speakers are not sample-synchronized.** JBL and Cardo each have their - **The two speakers are not sample-synchronized.** JBL and Cardo each have their
own Bluetooth buffering, so one may lag the other by some tens of milliseconds. own Bluetooth buffering, so one lags the other. The per-board touch delay (above)
Fine for music/intercom; not suitable for tight stereo L/R separation. lets you trim a fixed offset to line them up by ear; it is not continuous
sample-lock, so slow drift over long sessions is possible. Fine for music/intercom;
not suitable for tight stereo L/R separation.
- Audio is fixed at the SBC standard **44.1 kHz / 16-bit / stereo**. - Audio is fixed at the SBC standard **44.1 kHz / 16-bit / stereo**.
- If Board A reboots, the slave boards' audio pauses until A is clocking again. - If Board A reboots, the slave boards' audio pauses until A is clocking again.