From cdecddcedbc68eeedb0affb37e25bf0dbc31d74d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?blue=20=E2=80=94=20ESP32/PlatformIO=20firmware?= Date: Thu, 11 Jun 2026 13:12:05 -0400 Subject: [PATCH] Add guest channel (antenna board) wiring --- Guest-Channel-Wiring.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Guest-Channel-Wiring.md diff --git a/Guest-Channel-Wiring.md b/Guest-Channel-Wiring.md new file mode 100644 index 0000000..bf97dc4 --- /dev/null +++ b/Guest-Channel-Wiring.md @@ -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.