Warning This project is proven to not be compatible with the new Club Sport DD and DD+ - it seems Arduino is not fast enoughf for the new wheelbases. For everythign up to CSWB2, 25, CSL DD and DD1/2 it works quite well. ***
Berebone Emulator for Fanatec Wheelbase allowing you to create DIY Steering Wheels with full Button, display, LED support.
This project is quite easy to be built with using standard 70x30mm breadboard, JST-XH 2.54 pitch connector and ATmega238P chip. This keeps price, production time and ease of build to minimum. Also the resulcting emulator has pretty low footprint so it perfectly fits in a Podium Hub Shell, for example.
I already build several emulators, each with different periferals and custom code.
This is advanced project, all emulators I build have different code for reason, which will be exlpained later. For connecting different peripherals you will have to decide yourself how to solder the connectors. I will show some examples here, full articke and video will appear at some point on my channel/website. You will need above average soldering and arduino skills to complete your custom project.
This project is based on the below ones and would never be possible without them: btClubSportWheel by darknao- ClubSportWheel USB Controller: https://github.com/darknao/btClubSportWheel Arduino_Fanatec_Wheel by lshachar- A do-it-yourself steering wheel to Fanatec’s wheel base:https://github.com/lshachar/Arduino_Fanatec_Wheel
Further it was extended by my Discord mates Alexbox364, NetAlf and yours truly, myself. Alex’s implementation relies on DC-DC step-up and Arduino Nano F_Interface_AL Project by Alexbox364- You want to build your own DIY Fanatec base compatible Steering Wheel? You’re at the right place :-) : https://github.com/Alexbox364/F_Interface_AL</br>
Building this interface exists on GitHub for long time, but not without some certain limitations. Main one is you need to powerup the Arduion before wheelbase from 5V, ultimately requirin separate USB cable. You cannot power it from wheelbase +5v because of how the Fanatec interface works.
Mine initial idea was to use DC-DC stepup and upscale the 3.3V coming from base to 5V to powerup the Nano. This did not exaclty work well, beacuse Arduino needs some time to load up and wheelbase sees incompatible wheel and enters safe mode.
This was easy fix - remove bootloader from Arduino so it loads up faster. After a quick test as we hoped - this worked like a charm! This enabled three of us to proceed with extending the interface further.
I will not get into more detail, better check Alex’s repository as it hase it all well explained. He developed custom PCB that houses the Nano, DC-DC step up, voltage level converter, shif-registed for extra inputs. His code has full support built into it and is fairly easy for you to implement whatever periopherals you would like to use.
I myself decided to go to another direction - switch to barebone ATmega328p chip as it works natively at 3.3V, has much smaller footprint and gives me extra pins. As you already figured by now, this also worked quite well and thus we have the current project.
Custom plug by Alexbox364 can be found here: Fanatec Pin Holder
Podium plug remixed by me: QR Pin Connector Fanatec
I miself remixed it to be easier to print and use the new QR2 design.
Here is a simple diagram how to connect the plug Pins to the JST 8pin cable:
This diagram represents the emulator side. It does not have any peripherals - no buttons, displayes, whatsover. You can use all available pins and connect them by your preference:
Some of my wheels utilizes the Keypad Matrix library to minimize pin use: https://github.com/nickgammon/Keypad_Matrix ASCII table to calculate keybapd matrix value: https://web.alfredstate.edu/faculty/weimandn/miscellaneous/ascii/ascii_index.html
Following projects are completed and code for them can be found in the “Projects” folder.
Two button pods with 8 buttons each. Has support for 7Segment display, but still have not built one. RS Clio Rally4 Steering Wheel
Has 26 buttons, 3 12 position rotaries (6 of the buttons are there), 7Segment Display, aRGB LEDs (for the time being static, did not implement any effects on them). Two thumbsticks both work as directional Funky switch, press on left is fukny press, right is joystic press. Ford Puma Rally1 Wheel
Nothing special, clean code with only 4 buttons supported - 1 to 4
Use stnadard Arduino as ISP programming (you need to flashanother Arduino with the sample ISP sketch):
Good sources to learn how to do it:
https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP/
https://www.youtube.com/watch?v=YO61YCaC9DY
https://www.youtube.com/watch?v=Sww1mek5rHU
https://dronebotworkshop.com/arduino-uno-atmega328/
https://www.instructables.com/Flash-the-Arduino-Bootloader-on-an-ATMega328-1/