DIY Builds¶
Everything you need to build your own Joypad adapter.
General Requirements¶
- Microcontroller board (see Supported Boards)
- USB cable (USB-C or Micro-USB, depending on board)
- Console connector (specific to target console)
- Wires (22-26 AWG)
- Soldering iron and solder
- Optional: Level shifters, resistors, capacitors
USB Host Port¶
Most boards need a USB-A connector wired to GPIO pins for controller input. See the Wiring Guide for complete pin assignments and diagrams.
Exception: The Adafruit Feather RP2040 USB Host has a built-in USB-A port — no wiring needed.
Console-Specific Pinouts¶
Each adapter has its own wiring diagram in its documentation:
Common Mistakes¶
- Reversed power polarity
- Wrong voltage (5V vs 3.3V)
- Cold solder joints
- Crossed data lines (especially D+ and D- on USB host)
- Missing pullup resistors
- Incorrect GPIO pin assignments
- Using a charge-only USB cable (no data lines)
Where to Buy¶
Microcontroller Boards¶
- Adafruit - KB2040, Feather, QT Py
- Raspberry Pi - Pico, Pico W
- Waveshare - RP2040-Zero
- Seeed Studio - XIAO ESP32-S3, XIAO nRF52840
- Pimoroni - Various RP2040 boards
Pre-Built Adapters¶
- Controller Adapter - Ready-to-use products
- USB2PCE
- USB2GC (GCUSB)
- USB2Nuon (NUONUSB)
- USB23DO
Console Connectors¶
- eBay - Replacement controller cables
- AliExpress - Bulk connectors
- Console5 - Retro console parts
- Retro Game Cave - Specialty connectors
Community Builds¶
Share your build on Discord: community.joypad.ai
See what others have built and get help with your project!