Loc15 / PicoGamepadConverter

Switch to different gamepad modes using a gamepad as input. Re-use old gamepads that don't support USB connections or make compatibles with certain platform.
GNU General Public License v3.0
33 stars 6 forks source link
bluetooth controller gamepad logitech-f710 ps2 ps2-controller ps2-keyboard raspberry-pi-pico rp2040 rp2040w wii wiimote

PICO-GAMEPAD-CONVERTER

ko-fi

PicoGamepadCoverter is a project designed for RP2040 or Raspberry Pi Pico and variants, that enabling switch to different gamepad modes using a gamepad as input. Re-use old gamepads that don't support USB connections or make compatibles with certain platform.


Features


Getting Started

To get started with PicoGamepadConverter, follow the steps below:

Prerequisites

Installation

  1. Download the build program and copy on the microcontroller.

  2. Make the connections.

schematic conections1 conections2

  1. Go to configuration mode pressing the button on 18 GPIO on start. On WEB mode the LED start to blink.

  2. Choose the modes on the web server. Access http://192.168.3.1 in a web browser to begin configuration.

web_mode

  1. Connect your gamepad, when it connected successfully the LED on the board gonna turn on.

  2. Enjoy!

Additional information


PS/2 KEYBOARD

keyboard_schematic keyboard_connector keyboard_pc


BLUETOOTH


WII

wii_setup


PS1/PS2

ps1_schematic ps1_connector ps1_pc

ps1_ps2_device_connection


Modes

Exist two parameter to choose on web interface, host and device. The first is the input and another one the output.

HOST

USB MODES

Wireless MODES

SPECIAL MODES

Wireless MODES

SPECIAL MODES


Features

You can to set some additional configuration if you required:

features


Testing

Controllers that was tested on different host modes.

Tested Controllers Modes (Host)
Logitech F710 Xinput, Dinput
8BitDo Ultimate 2.4G Xinput, Dinput, Bluetooth
8BitDo Ultimate C 2.4G Doesn't work
DualShock (PS1) PS1/PS2
DualShock 2 (PS2) PS1/PS2
DualShock 3 (PS3) Dinput
DualShock 4 (PS4) Dinput, Bluetooth
Keyboard HP KB-0316 Keyboard PS/2

Building

If you have set PICO SDK already

git clone https://github.com/Loc15/PicoGamepadConverter
cd PicoGamepadConverter/
cd src/
mkdir build
cd build
cmake ..
make

Else you can use a docker image

The instructions below have been successful on Windows (11) but should mostly apply to Linux

  1. (windows) Install Docker Desktop
  2. Setup pico sdk environment by following this guide
  3. Open Docker Desktop
  4. Find the pc1 container, click on and select Open in Terminal then type in these commands:
cd /home/dev
mkdir pico
cd pico
git clone --recursive https://github.com/Loc15/PicoGamepadConverter.git
  1. Wait a bit then:
cd PicoGamepadConverter
mkdir build
cd build
cmake ../src
  1. Wait a bit more then:
make
  1. Wait some more, then reset your Pico (or other board) with BOOTSEL held down - the instructions below assume the Pico will be drive D:
  2. Open a windows command line (i.e. windows powershell - NOT the docker terminal) and type in:
cd Downloads
docker cp pc1:/home/dev/pico/PicoGamepadConverter/build/PicoGamepadConverter.uf2 .
cp PicoGamepadConverter.uf2 d:
  1. Start using...

Troubleshooting


Acknowledgments

License

This project is licensed under the GNU Public License Version 3.

Support

If you encounter any issues or have any questions regarding the PicoGamepadConverter project, please open an issue on the GitHub repository.