Hardware Map
Waveshare ESP32-S3-Relay-6CH bridge + PCA9685. Use this map to plan new controls — every "free" row is ready to wire.
Relay outputs (GPIO)
6 used · 2 free
- GPIO 4usedK1 — Port ballast FILL
- GPIO 5usedK2 — Port ballast EMPTY
- GPIO 6usedK3 — Starboard ballast FILL
- GPIO 7usedK4 — Starboard ballast EMPTY
- GPIO 15usedK5 — Center ballast FILL
- GPIO 16usedK6 — Center ballast EMPTY
- GPIO 17freeK7 — Spare relayAny 12 V accessory ≤10 A: docking lights, stereo remote, bilge, etc.
- GPIO 18freeK8 — Spare relaySecond spare relay. Same 10 A limit per channel.
Sensor / safety inputs (GPIO)
4 used · 1 free
- GPIO 11usedPort bag full sensorVent-line pressure switch, N.O. → GND
- GPIO 12usedStarboard bag full sensor
- GPIO 13usedCenter bag full sensor
- GPIO 14freeSpare inputGood for a paddle-wheel flow switch or a second E-Stop.
- GPIO 21usedE-Stop N.C. loopINPUT_PULLUP; LOW = pressed
I²C bus (reserved)
0 used · 0 free
- GPIO 8reservedSDA → PCA9685
- GPIO 9reservedSCL → PCA9685
- GPIO 10reservedPCA9685 OE (optional)
PWM channels (PCA9685)
9 used · 7 free
- Ch 0usedPort plate actuator — RPWM (extend)BTS7960 H-bridge input, 1000 Hz
- Ch 1usedPort plate actuator — LPWM (retract)
- Ch 2usedPort plate actuator — R_EN + L_ENDrops to 0 on E-Stop → actuator free-wheels
- Ch 3usedStarboard plate actuator — RPWM
- Ch 4usedStarboard plate actuator — LPWM
- Ch 5usedStarboard plate actuator — R_EN + L_EN
- Ch 6usedCenter plate actuator — RPWM
- Ch 7usedCenter plate actuator — LPWM
- Ch 8usedCenter plate actuator — R_EN + L_EN
- Ch 9freeSpare PWM channelNext free — good for an LED dimmer or a fourth actuator driver.
- Ch 10freeSpare PWM channel
- Ch 11freeSpare PWM channel
- Ch 12freeSpare PWM channel
- Ch 13freeSpare PWM channel
- Ch 14freeSpare PWM channel
- Ch 15freeSpare PWM channel
Avoid GPIO 0, 3, 19, 20, 26–32, 33–37, 43, 44 on the ESP32-S3 — those are strapping, USB, PSRAM, or flash pins and are not safe as general-purpose I/O.