I have an Arduino Pro Micro running code that uses the Arduino joystick library to act as a gamepad. I'm just doing testing right now so there's a single button wired up and configured in the code.

Windows recognizes the gamepad just fine and I can read button presses in the properties dialog for that controller. However the gamepad doesn't work in games that work with a usb gamepad normally (I testing using Rocket League).

I would like to get my Arduino to act just like a normal gamepad (i.e. an xbox controller).

There is lots of discussion on the internet about making custom USB devices (which is what I'm trying to do) but they never seem to get answered very well or at all. I want to achieve this on the hardware/firmware/driver side rather than having some windows application running on the computer. If I have to write firmware on the Arduino, buy a USB PID, and/or write a USB driver for the computer, I'll do whatever it takes.

  • I don't know if Windows needs this, but on Linux I usually need to use the steam controller configuration to map my generic gamepad to an xbox controller emulation mode to get it working.
    – Majenko
    Jul 9, 2020 at 19:42
  • Hello did you get any solution? The library cited is not commercial. I am also looking for answers. Sep 10, 2020 at 20:36

1 Answer 1


There is an Arduino Xbox 360 (XInput) library. But I do not use Steam so I have no idea if this works.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.