diff --git a/docs/wiring.svg b/docs/wiring.svg new file mode 100644 index 0000000..f1a3f0b --- /dev/null +++ b/docs/wiring.svg @@ -0,0 +1,90 @@ + +Johnny 5 wiring pinout - both ESP32 boards and both LED circuits +Board A runs Bluepad32 and pairs with the PS4 controller. Board A GPIO17 goes to Board B GPIO16; Board A GPIO16 goes to Board B GPIO17; the grounds are joined as a shared reference. Board B runs Legoino, connects to two LEGO hubs over BLE, and drives two independent LED circuits: GPIO25 through a 220 ohm resistor to the red LED pair and back to a ground rail, and GPIO26 through a 100 ohm resistor to the green LED pair and back to the same ground rail. Each LED has its own complete path; they are never in series. + + + + + +PS4 controller +Bluetooth Classic + + + +BOARD A +esp32_bluepad32 4.1.0 +transmitter.ino +TX 17 +RX 16 +GND + + +BOARD B +esp32 core 2.0.17 +receiver.ino +RX 16 +TX 17 +GND +GPIO 25 +GPIO 26 +GND 2 + + + + +UART link 115200 8N1 +shared voltage reference only - do NOT hang LED current off this + + +Hub 0 (BLE)A B D + +Hub 1 (BLE)A B C D + + + +LED circuits - two separate loops, board B only + +GPIO 25 + +220Ω + + +RED pair +long leg faces this side + + +GPIO 26 + +100Ω + + +GREEN pair +long leg faces this side + + + + +GND 2 +ground rail - the two returns join ONLY here + + +The fault to look for +The green return is reaching the RED side of the red LED instead of the ground rail, putting +the two LEDs in series. Green alone then needs about 4V through both, and 3.3V cannot supply it. +TEST: with both LEDs off, meter from the shared return wire to GND. It must read 0V. Press +Circle and measure again - if it rises above 0V that wire is not ground, and that is the fault. +