Main Site Documentation

USB Joystick Descriptors


I’m a bit new to USB client interactions, but here’s the background:

I have a FPGA that is connected to my RC transmitter decoding it’s PPM signal.

The NETMF target reads the transmitter stick/switch (button) values from the FPGA over i2c. That part is totally working. :slight_smile:

What isn’t yet is the UsbClient portion of the project. I would like for my netmf target to show up in Windows as a USB joystick relaying the values from my transmitter.

The configuration is as follows:

4 Axises (elevator, aileron, throttle, rudder) I would like these to come out on the USB joystick side with -512 to 512 precision. That would make each axis a 16bit value.

2 switches on the transmitter which will show up as simple buttons.

So, then next bit is that I need to get the client descriptors written, see attached for that image.

Does anyone see anything wrong with my current configuration?

Please speak up if you have any suggestions, too. ;D


There are many questions.
Are you successfully connected to PC? what device are you using?
Does windows see the device as joystick but you cannot read joystick values?
Are your descriptors correct?
Are you sending the correct bytes in the HID report (when you report values)?

First, I recommend that you get a Mouse running.
Next, copy the descriptors as-is from a known joystick and try to make it work.
Then modify them to suit your needs.


Hi Mike,

The “device” is simple a FEZ with an FPGA sitting on it,and no, I haven’t connected it to the PC yet, I’m working on getting the NETMF side of the project done.

For now, I’m merely asking if the descriptors I made in that screenshot look correct ;D

Dev on the FEZ side will start tonight…