Skip to content

RP2040-based USB adapter for the Microsoft Sidewinder Force Feedback Pro joystick

License

Notifications You must be signed in to change notification settings

NolanNicholson/picowinder

Repository files navigation

Picowinder: RP2040-based USB adapter for the Microsoft Sidewinder Force Feedback Pro joystick

Picowinder is an adapter that uses an RP2040 (i.e., a Raspberry Pi Pico) to turn the Microsoft Sidewinder Force Feedback Pro joystick into a USB joystick, including force-feedback communication.

Compatibility

Picowinder is compatible with both Linux and Windows. It has not been tested elsewhere.

The adapter is mostly compliant with the HID (Human Interface Device) PID (Physical Interface Device) spec.

How to Build

Build the Adapter

Strictly speaking, this adapter can be built using nothing except a Raspberry Pi Pico and a GamePort connector. A few optional resistors are also recommended.

Any pins not listed on both the GamePort side and the Pico side can be left disconnected.

GamePort Pin Recommended Resistor Pico Pin Notes
1 (VCC) Pin 39 (VSYS)
2 (Button 1; Sidewinder CLK) Pin 5 (GP3)
3 (Axis X1; Sidewinder Trigger 0) 2.2k ohm Pin 4 (GP2) GamePort pins 3 and 10 both connect to GP2
4 (GND) Any GND pin
7 (Button 2; Sidewinder Data 0) Pin 6 (GP4)
10 (Button 3; Sidewinder Data 1) Pin 7 (GP5)
11 (Axis X2; Sidewinder Trigger 1) 2.2k ohm Pin 4 (GP2)
12 (MIDI TX) 220 ohm Pin 1 (GP0)
14 (Button 4; Sidewinder Data 2) Pin 9 (GP6)

Flash the Firmware

To flash a release of the firmware to your Pico:

  1. Hold the BOOTSEL button while plugging the Pico in to your computer.
  2. Release the BOOTSEL button. The Pico should present itself as a storage drive.
  3. Drag the picowinder.uf2 file into that storage drive. It should automatically disconnect, and the Pico should reboot.

Known Issues

  • Other than the Sidewinder Force Feedback Pro joystick, no other joysticks or peripherals are supported.
  • The adapter does not support plugging in the GamePort connector after USB has already connected. You must connect the GamePort first, then plug the USB in.

Credits

  • This project uses a lot of information from the adapt-ffb-joy project, and from the reverse-engineering that went into it.
  • In addition, several forks of adapt-ffb-joy, including those by juchong and jaybee, provided additional insight.

About

RP2040-based USB adapter for the Microsoft Sidewinder Force Feedback Pro joystick

Resources

License

Stars

Watchers

Forks

Packages

No packages published