2025-05-15 17:56:56 +02:00
2025-05-10 11:03:11 +02:00
2025-05-15 17:55:12 +02:00
2025-05-15 17:56:56 +02:00

Arduino PS2 Controller Adapter

What's This?

This is a sketch for an Arduino Pro Mini-based adapter that converts DualShock 2 controller signals into XInput! This way, you can use PS2 controllers on any PC without extra software.

I also designed a 3D-printable case for the adapter, which you can find here!

Required Hardware

The linked parts are only references; feel free to use any compatible hardware or to edit the sketch to suit your hardware. No affiliate links.

Diagram

A diagram showing how to connect a PS2 controller socket and peripherals to an Arduino Pro Micro

Note on Flashing

Flashing the XInput library makes the Arduino unresponsive to further flashing. In order to flash new sketches, you'll need to manually reset the board. You'll need to perform steps 4-6 on every flash as long as you have the Arduino configured for XInput. Find more information about this in the readme of the Arduino XInput library.

  1. Wire a switch between GND and RST to act as a reset switch
  2. Enable verbose output on upload in Arduino IDE -> File -> Preferences
  3. Select the COM port of the board and the corresponding board type as provided by the XInput library. For me, this was Arduino Leonardo w/ XInput
  4. Press "Upload"
  5. Once the notification in the bottom right says "Uploading", press the reset switch twice in quick succession
  6. On success, the output window should print out data, concluding with "avrdude done. thank you."

Required Libraries

S
Description
Arduino Pro Micro-based adapter for DualShock 2 controllers
Readme
200 KiB
Languages
C++ 100%