wiredopposite dbd9de30d6 initial
2024-02-20 17:50:46 -07:00
2024-02-20 17:18:33 -07:00
2024-02-20 12:28:46 -07:00
2024-02-20 17:50:46 -07:00
2024-02-20 12:28:46 -07:00
2024-02-20 12:50:42 -07:00
2024-02-20 12:28:46 -07:00
2024-02-20 12:28:46 -07:00
2024-02-20 12:28:46 -07:00
2024-02-20 17:22:05 -07:00

OGX-Mini

Adafruit Feather RP2040 USB Host

Firmware for the RP2040/Pico, setup for the Adafruit Feather USB Host board, capable of emulating gamepads for

  • Original Xbox
  • XInput (not Xbox 360)
  • Nintendo Switch (must be in dock mode, no rumble yet)

Currently there's no way to switch what device is being emulated on the fly, so the firmware must be compiled specifically for whichever platform you'd like to play on. As long as that's the case, I'll provide compiled .uf2 files for each platform in Releases.

Supported devices

  • Original Xbox Duke and S controllers
  • Xbox One, Series, and Elite controllers
  • Wired Xbox 360 controllers
  • Xbox 360 wireless PC adapter (Microsoft or clones, syncs 1 controller)
  • Sony Dualshock 4 (PS4) controllers
  • Sony Dualsense (PS5) controllers
  • 8Bitdo v1 and v2 Bluetooth adapters

Adding supported controllers

I am currently searching for VID and PID numbers for PS3, PS4, PS5, and Switch Pro gamepads, including knockoffs. If you have one, let me know and I'll add support for it.

Compiling

You can compile this for the Pi Pico by commenting out this line in CMakeLists.txt add_compile_definitions(FEATHER_RP2040) That will set the D+ and D- host pins to GPIO 0 and 1. Below that you can uncomment whichever platform (OG Xbox, Xinput, etc.) you'd like to use.

Special thanks

Thank you to Ryzee119 and the Open Stick Community, without their work this project would not exist.

Description
RP2040 & RP2350 USB gamepad emulation for multiple platforms.
Readme MIT 14 MiB
Languages
C++ 92.4%
CMake 3.5%
C 3.4%
Python 0.7%