##DIY steering wheel and button bow project
You want to build your own DIY Fanatec base compatible Steering Wheel? You're at the right place :-)
Welcome to the F_interface project.
Purpose of this project is to bring a versatile platform to build DIY steering wheels intended to work with Fanatec simracing bases.
Fanatec ecosystem is great for simracing, but when it comes to integrate custom DIY wheel to enrich your experience, possibilities are limited.
You can use the Podium hub to hook up a rim and few buttons but you don’t have much more possibilities.
The F_interface offers you the opportunity to build a custom DIY wheel with a variety of combinations including :
- Up to 24 push buttons
- Up to 2 rotary encoders
- Up to 4 rotary switches
- Advance paddle modules
- TM1637 segmented displays
- OLED displays
- TFT LCD display
- Individually addressable RGB LEDs
This project brings you both a hardware and software platform to help you build your dream DIY wheel.
It is build on using the SPI protocol from Fanatec to communicate between the wheel and the base. This way, you don’t need any cable or wireless communication between the wheel and the base, everything goes through the pins in the center of the Fanatec QR system.
This work is based on previous work from Darknao and Ishachar who brought public the base of the SPI communication between the Fanatec base and the wheels.
The SPI protocol is not yet fully understood. So what is currently feasible is :
- use up to 24 buttons (including D-pad / rotary encoders / rotary switches)
- use 2 axis for clutch / brake / acceleration
- get 9 status LEDs
- get 7 segment display information —> tu sum it up, all features of wheels like Porsche 918 RSR, BMW GT2 v1...
What is currently not possible :
- get RGB Led information
- get enriched information displayed en latest OLED displays like lap time, tire pressure,…
- more buttons —> to sum it up, extended features brought by Maclaren GT3 v2 wheel, formula v2.5, Porsche endurance are not accessible yet, unless we better understand SPI protocol used by these wheels and by the data port. BUT, there is a hope to integrate these feature via bluetooth using a Arduino nano ESP 32 and Simhub in future development to integrate TFT LCD screens, if your project really needs it.
The New F_interface is available in multiple form factors to suit your needs in terms of wheel setup. All board versions were designed using Fritzing, all source files are available in the repo. It is designed to be easily soldered by anyone using as few various components as possible and using only cheap and available components. It’s versatile, in the way you can only solder group of components that interest you for your build, especially if you want more rotary switches or more buttons,…
All details about the board can be found in the F_Interface_HW file.
On the hardware side, you now have the choice between various versions depending on your needs. They vary in terms of sizes and inputs/output capabilities. They though all use the same base schematic to establish the link with the Fanatec base.
A presentation of the range is available below. The main hardware platform which is described if the original one beeing the FULL_NANO version.
- A smallest form factor PCB based on an ATMEGA328P microcontroller just to unlock the force feedback for advanced users : ATMEGA328P_NO_HEADER
- A smallest form factor PCB based on an ATMEGA328P microcontroller just to unlock the force feedback + a few buttons for advanced user : ATMEGA328P_WITH_HEADER
- A small form factor PCB based on an arduino nano just to unlock the force feedback : NANO_NO_HEADER
- A small form factor PCB based on an arduino nano just to unlock the force feedback + a few buttons : NANO_WITH_HEADER
- A small form factor PCB based on an arduino PRO MICRO just to unlock the force feedback + a few buttons : PROMICRO_WITH_HEADER
- A podium hub form factor PCB based on an arduino nano with full features (buttons, rotary encoder, rotary switches) : FULL_NANO
- A podium hub form factor PCB based on an arduino PRO MICRO with full features (buttons, rotary encoder, rotary switches) : FULL_PROMICRO
- A button box wich is not intended to work with a Fanatec wheel base but which is very close in terms of I/Os.
Work from user Lele1494 is shared in the repo in the folder FFB unlocker_Lele1494.
It features a Fanatec force feedback unlocker in the shape of a small dongle.
You want to build your own DIY Fanatec base compatible Steering Wheel? You're at the right place :-)
Welcome to the F_interface project.
Purpose of this project is to bring a versatile platform to build DIY steering wheels intended to work with Fanatec simracing bases.
Fanatec ecosystem is great for simracing, but when it comes to integrate custom DIY wheel to enrich your experience, possibilities are limited.
You can use the Podium hub to hook up a rim and few buttons but you don’t have much more possibilities.
The F_interface offers you the opportunity to build a custom DIY wheel with a variety of combinations including :
- Up to 24 push buttons
- Up to 2 rotary encoders
- Up to 4 rotary switches
- Advance paddle modules
- TM1637 segmented displays
- OLED displays
- TFT LCD display
- Individually addressable RGB LEDs
This project brings you both a hardware and software platform to help you build your dream DIY wheel.
It is build on using the SPI protocol from Fanatec to communicate between the wheel and the base. This way, you don’t need any cable or wireless communication between the wheel and the base, everything goes through the pins in the center of the Fanatec QR system.
This work is based on previous work from Darknao and Ishachar who brought public the base of the SPI communication between the Fanatec base and the wheels.
The SPI protocol is not yet fully understood. So what is currently feasible is :
- use up to 24 buttons (including D-pad / rotary encoders / rotary switches)
- use 2 axis for clutch / brake / acceleration
- get 9 status LEDs
- get 7 segment display information —> tu sum it up, all features of wheels like Porsche 918 RSR, BMW GT2 v1...
What is currently not possible :
- get RGB Led information
- get enriched information displayed en latest OLED displays like lap time, tire pressure,…
- more buttons —> to sum it up, extended features brought by Maclaren GT3 v2 wheel, formula v2.5, Porsche endurance are not accessible yet, unless we better understand SPI protocol used by these wheels and by the data port. BUT, there is a hope to integrate these feature via bluetooth using a Arduino nano ESP 32 and Simhub in future development to integrate TFT LCD screens, if your project really needs it.
The F_interface hardware was designed using Fritzing, all source files are available in the repo. It is designed to be easily soldered by anyone using as few various components as possible and using only cheap and available components. It’s versatile, in the way you can only solder group of components that interest you for your build, especially if you want more rotary switches or more buttons,…
All details about the board can be found in the F_Interface_vM file.

Example of integration in a DIY steering wheel

Bill of Material will vary depending on you project but the full list is here :
- 1 arduino nano (Approx. 3€)
- 1 PCB (Approx. 10€ if ordered by 5 on JLCPCB)
- 1 CD74HC4067 - 16 channel multiplexer (Approx. 0,5€)
- 1 Step up voltage regulator (Approx. 2€)
- 1 Level shifter (Approx 2€)
- Depending on you build, some buttons, encoder, rotary switches,…
- Some 2,54 and 2mm pitch, straight or elbowed pin arrays to hook up your buttons, switches,…
- Up to 4x 100 Ohms Resistors for Rotary switches
- Up to 26x 10k Ohms Resitors for buttons
- Up to 8x 10 or 47 nF Capacitors for inputs debounce
The F_interface software was designed based on Darknao and Ishachar previous work. It handles SPI communication with the base to respect the Fanatec data structure.
It has been build in a versatile way in order to configure your wheel with the input / output you want on your wheel. see config_wheel.h to active / deactivate via #define //#define the various options


Abbreviations are used on the PCB and in the software to refer to input types :
APM Advance Paddle Module
RS Rotary switch
BUT Button group
ENC Encoder
JOY Joystick
DPAD Group of 5 buttons that make a direction pad – up / down / left / right / center
General schematic will help you understand the PCB wiring and link with the code. It can be found in the Fritzing file
The setup uses a classic arduino nano, original or clone. As the wheels run on 3,3v for SPI communication while arduino runs at 5V, some adaptations are necessary like a level shifter and a step up voltage regulator.
As the base requires a fast response from arduino on SPI communication port at startup, the arduino bootloader has to be removed. Arduino will then be programmed via ICSP port. See this page for further details : Arduino as ISP







I advise you used the fantastic design from [Stuyo] (https://diy-sim.com/sim-projects/sim-gear/item/dual-paddle-shifter-clutch-module-v15-



