diff --git a/Speaker-Sync-%28Touch%29.md b/Speaker-Sync-%28Touch%29.md new file mode 100644 index 0000000..bcefc3d --- /dev/null +++ b/Speaker-Sync-%28Touch%29.md @@ -0,0 +1,20 @@ +# Speaker Sync (touch pads) + +JBL and Cardo have independent Bluetooth buffering, so one lags the other. Each +**source board** has an adjustable delay (0-200 ms) you trim live, **by ear**, with +two capacitive-touch pads. The value is saved to flash (survives power-cycles). + +| 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 (a bare header pin is hard to trigger). +- Raise the delay on whichever speaker is **early** until the two line up. +- Touch threshold is ~40 (untouched reads ~115-130); adjust in firmware if your + pads read differently. + +**Why no Wi-Fi/phone UI:** Wi-Fi + Bluetooth-A2DP + the audio buffer exceed the +classic ESP32's RAM and starve the Bluetooth stack (it won't connect to a speaker). +So sync control is local capacitive touch instead of a web page.