Skip to content
Joypad OS Joypad OS

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

- :material-download: **[Installation Guide](INSTALLATION.md)** Flash firmware to your adapter in minutes - :material-wrench: **[Build Guide](BUILD.md)** Set up a development environment and compile from source - :material-chip: **[Hardware Compatibility](HARDWARE.md)** Supported controllers, boards, and DIY builds

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

Joypad OS is licensed under the Apache-2.0 License.