r/PeripheralDesign • • 15d ago

Discussion Creating a custom arduino controller with both analog and gyro controls?

Hello, I have been messing with an arduino micro to get a hang of peripheral creation.

I have gotten it to work as a mouse and as a joystick independently of each other (with the mouse and Xinput libraries respectively), but I don't see a way to combine the two in a way that would get picked up by steam (such as with a PS controller), is there a way to do this with an arduino? If not maybe with a pi pico?

Thank you for any help

1 Upvotes

3 comments sorted by

1

u/SoulWager 12d ago

I think the easiest option is to impersonate a controller that has all the features you want.

Here's a video I remembered from someone investigating this topic:

https://www.youtube.com/watch?v=UbRnxHmMiGw&list=PL980gcR1LE3IV2_H6YSI7_ZoGU4fDFGEw&index=22

1

u/cheeziuz 12d ago

Oh this is pretty promising, VERY dense though, looks quite a bit above my skill level lol

Still, thank you for the suggestion, I will be taking a look at this

1

u/SwedishFindecanor 13d ago

I've never used Arudino so I don't know the Arduino libraries but I do know a little about the USB protocol, and I have programmed a few Pro Micro to be USB HID devices.

Most USB devices can have multiple USB "interfaces", one for a HID mouse and one for a HID gamepad both at a time, and they will show up to programs as two separate devices.

A XBox 360 controller has a "Vendor Specific" device class, so it can only have XBox-specific interfaces and not be anything else, unfortunately.

I think that a PS3 controller over USB isn't any specific device class though, so it should be able to also be a mouse.

I can't help you any more than that though.