Donations are not required, but always accepted with pleasure. Thanks for your support!
Steering Wheel Master is a useful tool that helps to improve the behavior of your steering wheel by aggregating data and eliminating reading errors, dead zones and clipping problems.
This application is free and open source. The development was born to help the simracers community get the most out of their steering wheels, regardless the price range of the hardware.
This procedure uses as input a force feedback calibration file, and by processing it, is able to produce a customizable lookup table (or lut file).
...but what does it means? what is data aggregation?
Data aggregation is a widely used process that helps to extract the behavior of a set of raw data by mitigating reading errors. It's used mostly in advanced security and control systems (sensors networks, alarms).
In the following chart you can see an example of a generated log file for a Logitech G29. The red line represents the raw data, while the blue line is the dataset generated by Steering Wheel Master used in this example for the generation of a lookup table (or lut file).
In these procedures there is always a remote possibility of damaging your hardware. Only proceed if you are aware of the risk. I take no responsibility for any damage caused by this procedure.
Before to start, you have to create a force feedback calibration file for your own steering wheel. Depending on the program you intend to use, you need to properly set the force column index and the delta column index in the CSV settings menu of Steering Wheel Master.
In this example my input csv file was generated by using iRacing force feedback test (v1.72), a tool made by David Tucker of iRacing.com that measures the change in the steering wheel position for each input applied. The used settings are Step Log 2 (linear force test) with Max Count set to 100 and Step Time set to 300ms (on the G29 you can set this value up to 500ms for better results, but don't go over this value or you can hit the end of the steering rotation. Don't go over 300ms if you have a faster steering wheel).
If you can't perform a calibration, you can use the example csv files provided in the zip. In this case, you can only use the linear lut generation mode by adjusting the value of the Dead zone enhancement. More details in the following sections.
To run Steering Wheel Master, download the latest version, unzip the file and run SteeringWheelMaster.jar (requires Java 8 or later):
Now you have to locate your force feedback calibration file and configure Steering Wheel Master.
First of all, you have to choose between advanced lut generation and linear lut generation:
linear lut generation (recommended mode) uses the csv file only to correct the dead zone in order to not alter the standard behavior of your steering wheel.
In both cases you can also customize the FFB curve according to your personal preferences.
GENERAL SETTINGS: | Steering wheel type | Steering wheel name | Lut generation method | Linearize FFB near zero | Dead zone enhancement (depends on your steering wheel) |
---|---|---|---|---|---|
direct drive | Fanatec CLS DD, Fanatec Podium, Logitech G PRO, Moza R5, R9, ... | advanced | off | - | |
linear | - | ~2 | |||
belt | Thrustmaster T300, T500, Fanatec CSL elite | advanced | off | - | |
linear | - | ~5 | |||
mixed | Thrustmaster TXM, T150, T248 | advanced | on/off | ~5 | |
linear | - | ~5 | |||
geared | Logitech G25, G27, G29, G923 (and related XBOX versions) | advanced | on | ~5 | |
linear | - | ~5 |
NOTE:
If you are using a high level steering wheel (like a direct drive), you probably will not get any benefit by using this application, as its behavior will already be linear, silent and without any dead zone, but you can use the application to customize the ffb curve according to your needs.
GENERAL TIPS:
NOTE: The following settings are NOT recommended for the G29. More presets in the following sections.
Now click on Generate lut and if everything goes well, you should get the following output message:
DONE: The generated file is located in the Steering Wheel Master folder.
The following settings can be applied to every steering wheel. The in-game FFB gain must be set to 100% and the minimum FFB must be set to 0% to ensure the best FFB dead zone correction. If you need to reduce the gain in the game, you may need to decrease the dead zone enhancement slider as well. Make sure to also disable the centering force of your steering wheel if present.
Steering wheel type | Standard mode | Advanced mode | Competitive mode |
---|---|---|---|
direct drive | ok | ok | ok |
belt | ok | inaccurate | ok |
mixed | ok | inaccurate | ok |
geared | ok | inaccurate | ok |
This is the standard preset and offers a good compromise between strength and quietness. Basically it only removes the dead zone leaving a linear behavior.
This preset uses all the data provided by the csv file to attempt to correct the steering wheel reactions. This preset should maximize the fidelity of your FFB response.
This preset makes force feedback noticeably stronger (but makes the steering wheel slightly noisy and less linear) by increasing the low and medium values of FFB in a progressive manner. Keep in mind that the maximum peak force is always limited to 100%.
Remember to adjust the value of the Dead zone enhancement. More info in the GENERAL TIPS section above.
NOTE: I highly recommend to add road effects only when you're happy with your LUT and FFB settings.
To allow AC and ACC to use your lut file, you need to create a text file named ff_post_process.ini
Here is an example:
[HEADER]
VERSION=1
TYPE=LUT
ENABLED=1
[GAMMA]
VALUE=1
[LUT]
CURVE=NAME-OF-YOUR-LUT-FILE.lut
NOTE: You need to set the CURVE variable with the name of your LUT file.
Now just place both the .lut file and the .ini file in the following folder:
C:\Users\<user_name>\Documents\Assetto Corsa\cfg
C:\Users\<user_name>\Documents\Assetto Corsa Competizione\Config
For Assetto Corsa, if you are using Content Manager as game launcher, you need to use its interface to set up your lut file as follows:
v2.2: Added lut generation feature.
v2.3: Added 'Auto' button to suggest an aggregation order based on the given csv file.
v2.4: Higher lut file output resolution.
v2.5: Added 'Dead zone enhancement' option.
v2.6: Improved 'Dead zone enhancement': slider added.
v2.8: Added option to perform dead zone correction only.
v2.9: Added 'FFB peak reduction' feature.
v2.10: Added 'Linearize near zero' feature.
v2.11: Added 'FFB power enhancement' feature.
v2.12: Added tooltips in the user interface.
v2.13: Improved input csv files compatibility.
v3.0: A new name: Steering Wheel Master!
v3.1: Improved default settings. Java 8 is now required.
v3.2: Improved 'Auto' function for both linear and advanced modes.
v3.3: Improved 'FFB Peak Reduction' and 'FFB Power Enhancement' functions.
v3.4: Rewritten the entire calculation algorithm for maximum accuracy.
v3.5: Multiple input csv selection to maximize accuracy.