Joypad OS runs on RP2040, ESP32-S3, and nRF52840 microcontrollers.
Default board for most console adapters
- Features: USB-C, 21 GPIO pins, boot button, WS2812 RGB LED
- Form Factor: Pro Micro compatible (1.3" x 0.7")
- Apps: USB2PCE, USB2GC, USB2Nuon, USB2DC, USB2Loopy, USB2Neo
- Purchase: Adafruit
Why KB2040?
- USB-C connector (modern, reversible)
- Built-in RGB LED (status indicator)
- Pro Micro footprint (fits existing designs)
- Widely available
- Good GPIO breakout
- Features: Micro-USB (Pico) or USB-C (Pico 2 W), 26 GPIO pins, boot button
- Form Factor: Unique Pico layout (2.1" x 0.8")
- Apps: All console adapters, bt2usb (Pico W/2 W), wifi2usb (Pico W/2 W)
- Purchase: Raspberry Pi
Pico W / Pico 2 W have built-in Bluetooth (Classic BT + BLE) and WiFi — no dongle needed for wireless controllers or WiFi apps.
- Features: USB-C (device) + USB-A (host), 21 GPIO pins, boot button, RGB LED
- Form Factor: Feather (2.0" x 0.9")
- Apps: usb2usb (USB passthrough)
- Purchase: Adafruit
Use Cases:
- USB passthrough applications
- Built-in USB-A host port (no wiring needed)
- USB → USB conversion
- Features: USB-C, 20 GPIO pins, boot/reset buttons, WS2812 RGB LED
- Form Factor: Ultra-compact (0.9" x 0.7")
- Apps: USB23DO, USB2DC, USB2Neo, usb2usb
- Purchase: Waveshare
Features:
- Smallest RP2040 board
- USB-C connector
- Built-in RGB LED
- Castellated edges for embedding
- Features: 12 mechanical key switches, rotary encoder, OLED display, RGB LEDs
- Form Factor: MacroPad (3.4" x 2.8")
- Apps: controller_macropad
- Purchase: Adafruit
Use Cases:
- Custom macro pad controller
- Stream deck alternative
- Fighting game button box
- Features: USB-C, BLE, WiFi, 11 GPIO pins, boot button, user LED
- Form Factor: Ultra-compact (0.84" x 0.70")
- Apps: bt2usb (BLE to USB adapter)
- Purchase: Seeed Studio
Notes:
- User LED on GPIO 21 (active low)
- BLE only (no Classic Bluetooth)
- Requires ESP-IDF to build (see ESP32-S3 platform docs)
- Features: USB-C, BLE, 11 GPIO pins, user LED, IMU, microphone
- Form Factor: Ultra-compact (0.84" x 0.70")
- Apps: bt2usb (BLE to USB adapter), usb2usb (with MAX3421E FeatherWing)
- Purchase: Seeed Studio
Notes:
- BLE only (no Classic Bluetooth)
- Requires nRF Connect SDK to build (see nRF52840 platform docs)
- UF2 bootloader for drag-and-drop flashing
- Features: USB-C, BLE, 21 GPIO pins, LiPo charging, RGB LED
- Form Factor: Feather (2.0" x 0.9")
- Apps: bt2usb, usb2usb (with MAX3421E FeatherWing)
- Purchase: Adafruit
Notes:
- Compatible with Feather-format accessories (FeatherWings)
- UF2 bootloader for drag-and-drop flashing
- BLE only
| Board | USB | GPIO | LED | Size | Cost | Best For |
|---|---|---|---|---|---|---|
| KB2040 | USB-C | 21 | RGB | Medium | $10 | General use (recommended) |
| Pico | Micro | 26 | No | Large | $4 | Budget builds |
| Pico W | Micro | 26 | No | Large | $6 | Bluetooth/WiFi (built-in) |
| Feather USB Host | USB-C+A | 21 | RGB | Medium | $12 | USB passthrough |
| MacroPad | USB-C | 12 keys | RGB | Large | $30 | Custom controllers |
| RP2040-Zero | USB-C | 20 | RGB | Smallest | $6 | Compact/embedded |
| Platform | Board | BT | WiFi | USB Host | Best For |
|---|---|---|---|---|---|
| RP2040 | KB2040 | Via dongle | No | PIO-USB | Console adapters |
| RP2040 | Pico W | Classic+BLE | Yes | PIO-USB | BT/WiFi adapters |
| ESP32-S3 | XIAO ESP32-S3 | BLE only | Yes | No | Compact BLE adapter |
| nRF52840 | XIAO nRF52840 | BLE only | No | Via MAX3421E | Compact BLE adapter |
| nRF52840 | Feather nRF52840 | BLE only | No | Via MAX3421E | BLE + USB host |
- USB 2.0 Port: 500mA max
- RP2040 Board: ~50-100mA
- Per Controller: 50-500mA (varies)
- Rumble: +100-300mA per controller
1-2 Controllers:
- Bus-powered USB hub OK
- No external power needed
3+ Controllers:
- Use powered USB hub
- Especially if using rumble
- Prevents brownouts
High-Power Devices:
- Xbox controllers with rumble
- PlayStation controllers with rumble
- RGB gaming peripherals
- Use powered hub