diff --git a/docs/joycon-esp32-bridge.md b/docs/joycon-esp32-bridge.md index 19e9b21..fefb29e 100644 --- a/docs/joycon-esp32-bridge.md +++ b/docs/joycon-esp32-bridge.md @@ -1,8 +1,29 @@ # Joy-Con ESP32 Bridge — Design Notes -Design sketch for replacing the 8BitDo USB Wireless Adapter 2 with a DIY +Design for replacing the 8BitDo USB Wireless Adapter 2 with a DIY ESP32-based Joy-Con bridge. Not yet implemented — this doc captures the -plan so it's ready to pick up later. +plan so it's ready to pick up when the hardware arrives. + +## Decisions + +- **Chosen architecture: Path A (fully wireless).** The bridge pairs with + the Joy-Con over BT Classic, then re-advertises itself to the phone as + a BLE HID gamepad. No cable between the phone and the bridge. The + bridge runs off its own battery (LiPo + charging circuit, or a small + USB power bank). +- **Chosen hardware: ESP32-WROOM-32 USB-C dev board** + ([Amazon.ca link](https://www.amazon.ca/ESP-WROOM-32-NodeMCU-Bluetooth-Development-Microcontroller/dp/B0CHBMFJBQ)). + Original ESP32 silicon (BT Classic + BLE, dual-mode radio), CP2102 + USB-serial for programming, USB-C for power + flashing. +- **Form factor plan:** 3D-printed case housing the ESP32 + a LiPo + battery + a small TP4056-style USB-C charge/protection board. Sits on + the couch next to the phone, pairs with the Joy-Con, connects to the + phone wirelessly. +- **Path B (USB serial) is the fallback.** If the dual-mode BT + coexistence on the ESP32 turns out to be too painful, we can fall back + to sending button state over the on-board CP2102's USB serial — + everything on the Joy-Con side is identical, and the app-side changes + for a USB-CDC reader are documented below. ## Why