ClubSportWheel USB Controller
This firmware can convert any Fanatec CSW Steering Wheel to a standalone USB version, so you can use it with any other wheel base, like an OpenSimWheel (OSW).
It'll also be possible to add a bluetooth module to go wireless and get rid of the USB cable (deprecated).
This firmware has been developed and tested on a Teensy 3.1 and Teensy LC but should work with any other compatible hardware.
The only requirement so far, is at least 1 SPI connectivity available.
The Teensy-LC is a good choice for this project as it has a small size & price.
I don't recommend the bluetooth version for now.
It's still a work in progress, and there is a few issues with Fanaleds, occasionally inducing some input lags, and an incompatibility with Windows 10.
If you don't plan on using Fanaleds or want to try it anyway, then go ahead.
update: The bluetooth version is now deprecated as I was unable to find any reliable bluetooth module that suit my needs.
You can still use it if you want, but no further development will be done on this side.
- Fanatec CSW rim (obviously)
- Teensy LC : ~12$
- Bluegiga WT12 module : ~25$
- Adafruit PowerBoost 500 Charger : ~15$
- LiPo Battery (>=1000mA) : ~10$
Total price for full BT conversion : ~60$
If you don't want to salvage the existing connector in your rim, you'll need a JST 2.0mm PH Female Connector (12-Pin for the Universal Hub, 8-Pin for all other rims).
- MISO
- MOSI
- GND
- 5v
- GND
- SCK
- 3v3
- CS
- USB charge 5v*
-
- DataPort1*
- USB charge GND*
- DataPort2*
** These pin are only used on the Universal Hub and don't need to be connected for this conversion*
This is the same schematics for Bluetooth and USB version.
Just forget about the Adafruit Power Boost (upper left) and the Bluegiga WT12 (bottom right) for the USB version.
There is also room for 8 extra buttons on pin 2 to 9 (common ground) if you need more inputs.
Before flashing your Teensy, you'll need to configure the WT12 module by following this howto.
All CSW / CSL rims are working with this conversion. That includes:
- BMW M3 GT2
- Formula Black/Carbon
- Porsche 918 RSR
- Universal Hub (both version)
- CSL P1 (both version)
The Universal HUB brings you no more than 38 buttons (46 with the extra). The Windows Control Panel will only show you 32, but don't worry, every modern DirectX games can go up to 128.
If you need to test all of them, I suggest you to use JoystickTest as it can see them all.
This is detected has a HID device on Windows, so no specific drivers are required.
It's is fully compatible with Fanaleds, which is required to get all feedback indicator working (LEDs, display and motors, if any).
Alternatively, you can use SLIMax Manager Pro, which is free if used with any Fanatec wheel.
Well... Everything.
You'll need the Teensy Loader to flash these firmwares.
Teensy 3.1 & 3.2 : USB
| Bluetooth
Teensy LC : USB
| Bluetooth
This code is based on Teensyduino framework and all required libraries are included in this repo.
Modify the TEENSY and TYPE variables in Makefile
to reflect your needs.
Use make
to build the HEX file, then use the Teensy loader to flash the firmware.
There is a lot of room for improvement, so if you want to contribute, you're welcome to fork this project, and send me a pull request.
If you like this project and want to support it, or just want to pay me a beer or two ;)