Is the Photon capable of running as a custom USB HID device such as a Joystick?

I noticed in the Particle docs that the Photon is capable of USB HID natively, in the form of a keyboard or mouse. Does it also support acting as any other type of USB device, with custom HID descriptors such as a joystick? This would be necessary if I want to build something like an EDTracker out of a Photon, and the Photon would be ideal for that thanks to its very fast clock speeds for doing IMU integration.

1 Like

Generally you can make it act as any USB HID device as long you provide the descriptors and endpoints.
You can have a look at the USB Mouse & Keyboard implementation in the firmware repo

But @avtolstoy is the pro on this topic

1 Like

Apologies for a late reply on this :cold_sweat: I somehow managed to miss it.

Currently we only implement standard HID Mouse and Keyboard and there is no API or an easy way to implement a custom HID device like a joystick, however it was one of the features that we were going to support later on.

I have created an issue in github to track this feature:

1 Like

I am really new to github and photon. I was wondering how to implement a photon as a partial USB keyboard(just the arrow keys and enter) both code wise and wiring wise. Help would be appreciated.

That’s already part of the system.

And the codes for the arrow key can be found at this link

As for wiring, you just need to plug in via USB.