Add guest channel (antenna board) wiring

blue — ESP32/PlatformIO firmware 2026-06-11 13:12:05 -04:00
parent 70d4a16ae4
commit cdecddcedb

37
Guest-Channel-Wiring.md Normal file

@ -0,0 +1,37 @@
# Guest Channel (4th board / antenna ESP32)
Adds a 3rd audio output — an occasional **Guest** speaker — using the
onboard-antenna ESP32 as the long-range A2DP source. I2C address **0x12**,
channel label "Guest" on the hub. No hardcoded speaker name: pick it via the
hub (Guest -> pick -> scan -> select).
The antenna board is wired exactly like the other source boards — onto BOTH
buses, plus common ground.
## I2C control bus (to the hub)
| Signal | Antenna board | goes to |
|--------|---------------|---------|
| SDA | **GPIO32** | shared SDA bus (hub GPIO15) |
| SCL | **GPIO33** | shared SCL bus (hub GPIO16) |
| GND | GND | common |
Mind the orientation: **GPIO32 = SDA, GPIO33 = SCL** (do not swap). Pull-ups
already on the bus. I2C address 0x12.
## I2S audio bus (from Board A, the sink)
| Signal | Antenna board (in) | from Board A (out) |
|--------|--------------------|--------------------|
| BCK | **GPIO19** | GPIO5 |
| WS | **GPIO18** | GPIO25 |
| DATA | **GPIO22** | GPIO23 |
| GND | GND | common |
## Common ground
All boards share one ground: antenna board + Board A + Headset + Speaker 1 + the
S3 hub. Mandatory for both I2S and I2C.
## Notes
- The Guest is occasional: when no guest device is selected/present, the channel
shows offline/idle on the hub — that's normal.
- Antenna board is on the guest link on purpose: it's the furthest speaker, so it
benefits most from the better antenna.