Joypad OS¶
Universal controller firmware for adapters, controllers, and input systems.
Joypad OS is a modular, high-performance firmware platform for building controller adapters, custom controllers, and input/output bridges across USB, Bluetooth, and native game console protocols. It handles real-time controller I/O, protocol translation, and flexible routing — making it easy to build everything from classic console adapters to next-generation input devices.
Key Capabilities¶
- Universal input/output translation — Convert USB HID devices into native console protocols and vice versa
- Modular firmware apps — Build specific bridges like
usb2gc,usb2dc,snes2usb, and more on a shared core - Flexible routing — Multi-output controllers, input merging, device chaining, and advanced mods
- Hardware-agnostic — Runs on RP2040 today, with future portability to ESP32 and nRF platforms
- Accessibility-ready — Enables custom controllers and input extensions for gamers with diverse needs
Getting Started¶
Supported Console Adapters¶
| Console | Highlights |
|---|---|
| 3DO | 8-player support, mouse, extension passthrough |
| Dreamcast | Rumble, profiles |
| GameCube / Wii | Profiles, rumble, keyboard mode |
| Casio Loopy | 4-player (experimental) |
| Neo Geo / SuperGun | Profiles, 1L6B layouts |
| Nuon | Controller, Tempest 3000 spinner, IGR |
| PC Engine / TurboGrafx-16 | Multitap (5 players), mouse, 2/3/6-button |
USB & Bluetooth¶
Joypad OS supports a wide range of USB controllers (Xbox, PlayStation, Nintendo Switch, 8BitDo, and generic HID), Bluetooth controllers via USB dongle or Pico W, and USB peripherals including keyboards, mice, and hubs.
See the USB Output Modes documentation for details on HID Gamepad, XInput, Switch, PS3/PS4, and other output profiles — plus the web configurator at config.joypad.ai.
Protocol Reference¶
Dive into the low-level console protocols that Joypad OS implements:
Community & Support¶
- Discord: community.joypad.ai — Community chat
- Issues: GitHub Issues — Bug reports
- Source: GitHub — Contributions welcome
Joypad OS is licensed under the Apache-2.0 License.