USB controller adapter based on the TeensyLC/Teensy3 to allow direct USB support for Fanatec Wheel Rims.
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), or SimXperience Accuforce.
This firmware has been developed and tested on a Teensy LC and Teensy 3.2 but should work with any other compatible hardware.
The only requirement so far, is at least 1 SPI connectivity available.
- Fanatec CSW rim (obviously)
- Teensy LC : ~12$
- 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*
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.
Currently the Makefile is setup to build on MacOS, building will eventually be done using a container and Github Actions. Please ensure you have the latest Arduino IDE and Teensyduino (https://www.pjrc.com/teensy/td_download.html) installed.
You will need to copy the files from core_files
in to your teensy3 cores folder (hardware/teensy/avr/cores/teensy3
). Please create a copy of the existing files so you can revert if needed.
To build in the Arduino IDE you will need to edit hardware/teensy/avr/boards.txt
and add the following:
teensy35.menu.usb.fanatec=Fanatec CSW
teensy35.menu.usb.fanatec.build.usbtype=FANATEC_CSW
teensy31.menu.usb.fanatec=Fanatec CSW
teensy31.menu.usb.fanatec.build.usbtype=FANATEC_CSW
teensy30.menu.usb.fanatec=Fanatec CSW
teensy30.menu.usb.fanatec.build.usbtype=FANATEC_CSW
teensyLC.menu.usb.fanatec=Fanatec CSW
teensyLC.menu.usb.fanatec.build.usbtype=FANATEC_CSW
Open in the project in the Arduino IDE and configure the following under the Tools
menu.
- Board:
Teensy LC
orTeensy 3.2/3.1
- USB Type:
Fanatec CSW
. - CPU Speed:
24mhz
- Optimize:
Smallest Code
The project should then build.
This is a fork of @darknao's btClubSportWheel project found here: https://github.com/darknao/btClubSportWheel