OGX-Mini
Firmware for the RP2040, setup for the Adafruit Feather USB Host board (can be used with the Pi Pico as well), capable of emulating gamepads for
- Original Xbox
- Playstation 3
- Nintendo Switch (docked)
- XInput (not Xbox 360)
- Playstation Classic
Supported devices
Wired controllers
- Original Xbox Duke and S
- Xbox 360, One, Series, and Elite
- Dualshock 4 (PS4)
- Dualsense (PS5, Dualsense Edge should work but it's untested)
- Nintendo Switch Pro
- Nintendo Switch wired (tested with PowerA brand)
- Nintendo 64 USB (experimental, tested with RetroLink brand)
- Playstation Classic
Wireless adapters
- Xbox 360 PC adapter (Microsoft or clones, syncs 1 controller)
- 8Bitdo v1 and v2 Bluetooth adapters (set to XInput mode)
- Most wireless adapters that present themselves as Switch/XInput/PlayStation controllers should work
Note: There are some third party controllers that can change their VID/PID, these might not work correctly.
Changing input mode
By default the input mode is set to OG Xbox, you must hold a button combo for 3 seconds to change which platform you want to play on. Your chosen input mode will persist after powering off the device.
Start = Plus (Switch) = Options (Dualsense/DS4)
XInput
Start + Dpad Up
Original Xbox
Start + Dpad Right
Switch
Start + Dpad Down
PlayStation 3
Start + Dpad Left
PlayStation Classic
Start + A (Cross for PlayStation and B for Switch gamepads)
After a new mode is stored, the RP2040 will reset itself so you don't need to unplug it.
Adding supported controllers
If your third party controller isn't working, but the original version is listed above, send me the device's VID and PID and I'll add it so it's recognized properly.
Compiling
You can compile this for the Pi Pico by changing BOARD_PI_PICO to 1 (and the other boards to 0) in board_config.h
That will set the D+ and D- host pins to GPIO 0 and 1.
Here's a diagram of how you'd use the Pico:
![Pi Pico Wiring Diagram] Pi Pico Wiring Diagram](/cchen/OGX-Mini/media/commit/da72c91c040ef73126fa87c8acc78c92c9efe0a4/images/pi_pico_diagram.png)
Special thanks
Thank you to Ryzee119 and the OpenStickCommunity, without their work this project would not exist.
