Force Feedback: what is FFB, how does it work and how do I set it up?

a fanatec dd2 direct drive wheelbase

Last updated: October 25th, 2021

When I was working with the Simplicity SW20, the brief was to establish what the wheel felt like and then make changes to the wheel settings to suit my preferences. Testing the wheel, making notes, learning the settings variables in the driver’s tuning menu revealed an excellent direct drive wheel that I heartily recommend you try.

As it turned out that process works well with any FFB wheelbase, just so long as you’re able to take note of its behaviors and learn enough about the settings to effect meaningful change. By tackling one issue at a time, you can improve the force feedback from your sim racing wheel in no time.

Of course, the settings you’ll end up with are entirely dependent on your personal preferences, the car you’re driving and even the circuit you’re on. There’s no wrong or right, only a point where there’s a good chance the FFB settings are hiding the details you should be feeling from the simulated race car chassis.

If you’re new to setting up a sim wheel, or you’ve recently upgraded to a Fanatec wheel from the Logitech G29, this article is designed to assist you.

How I like FFB to feel

My approach: less is more. I don’t like bags of resistance to input and high strength settings. If you’re struggling to turn the wheel, you’re hardly going to feel the subtle early warning signs of a car about to slide! Don’t feel that just because you have a wheel that can deliver a peak of 30nm, you need to use all 30nm! But don’t just turn FFB off, either:

latest-iracing-settings-mazda
Settings for iRacing with a Fanatec DD2 DD wheel running the latest v3.73 beta driver with strength set to a mid range 4.1 (image source: our iRacing setup guide)

Basic Concepts of FFB

While it’s not completely necessary, it certainly helps to understand a little bit about force feedback as a function of the Microsoft DirectInput API.

DirectInput is an API that (Windows) games developers use for input devices including your steering wheel, pedals, handbrake and any other game controllers. It provides the library required to generate force-feedback effects for devices that have compatible drivers.

A force feedback event, such as the feeling of push or resistance in the wheel is called an effect. There are only a handful of categories for effects in DirectInput’s Force Feedback library and they’re pretty simple:

Constant force

“A steady force in a single direction for example the resistance you feel when you’re turning into a corner.”

Ramp force

“A force that steadily increases or decreases in magnitude, for example, the resistance of the weight of the car and you transfer the weight of the chassis in a corner. A ramp force might be felt more strongly in a car with a lot of caster in the steering angle.”

Periodic effect

“A force that pulsates according to a defined wave pattern, for example, if you’ve damaged the car sometimes the simulator software will add a vibration through the steering wheel.”

 A sawtooth periodic effect with a magnitude of 5,000, or half the maximum force for the device (source)

Condition

“A reaction to motion or position along an axis. Two examples are a friction effect that generates resistance to movement of the joystick, and a spring effect that pushes the stick back toward a certain position after it has been moved from that position.”

I found that the Simplicity SW20 had a lot of this effect added by default which made it initially very resistant to input. By turning this effect down, the wheel became far easier to use and easy to feel other effects.

Something to note: generating effects can be very difficult since devices with different motors react differently to the parameters created in the effects. This is where wheel tuning comes in later on.

How simulators like iRacing create FFB effects

I’m mostly an iRacer competing in championships that use baseline setups. This makes it purely driver-orientated, which is at times a welcome break from the real world of Motorsport.

Porsche 911’s in iRacing

iRacing’s physics engine is a series of algorithmic models based on thousands of measurements taken from the vehicle itself. When the dynamics of a particular car are added to the tyre model you end up with (what is in my view) a really refined simulation of a real racing chassis.

The joy of sim racing is that these cars really do feel like their track counterparts, something I can attest to. Here’s an interesting video of how iRacing maps new vehicles:

Of course, the physics engine is running in iRacing’s software. The output of all of these physics calculations is communicated to Windows game devices (your wheel!) via DirectInput. For a fascinating insight into how iRacing deals with the problems associated with true simulated physics, check out this article by Dave Kremmer on the iRacing blog.

Communicating with the outside world: digital signal processing, up sampling and filtering

The resulting physical simulation of the car is communicated to the installed wheelbase driver via the DirectInput API at a rate of 60hz (60 times per second in iRacing).

In today’s money, a 60hz sample rate doesn’t seem all that fast. Especially when the available sample rate inside the hardware of say, a Fanatec DD2 is closer to 16khz and a Simucube 2 Pro is closer to 22khz. That’s a lot of data to make up!

This is where the upsampling filters in the wheelbase driver and hardware come in. The software driver and wheelbase processors use a process to “gap fill” (if you like) the missing data between the iRacing / DirectInput sample rate of 60hz and the motor hardware’s 16khz.

This digital signal processing is called “Interpolation”, the process of upsampling followed by filtering, to create “in-between” samples from the original samples. The result is as close as you can get to having originally sampled your signal at the higher rate. Naturally then, hardware and software engineers at manufacturers such as Simucube, Fanatec, Simplicity and more are in continual pursuit of the improvement of this process.

The higher quality wheelbases tend to have better onboard DSP hardware that’ll run at higher sample rates, all in real-time. The software is developed with a goal to create filters with the available data that create a smooth and realistic experience with little if any lag.

Whatever the wheel you own, what you have in front of you is a system built to translate the information sent by the simulation software into a realistic impression of what the car feels like. The simulator talks to the hardware via the DirectInput API to the hardware driver, which sends a digital signal to be processed and filtered by the wheelbase hardware.

So how to make the best of this?

Setting up your Force Feedback

When you’re setting up FFB, what is it you’re looking out for?

When I first did the test drive of the Simplicity SW20, I was initially surprised by how far from my preferred feedback settings the wheel was.

When you first start working with a wheel, take notes. For example:

  • Counter rotation too strong, a resistance to turning at all times (1)
  • Would not accept fast, aggressive inputs (2)
  • Very resistant to inputs overall (3)

You might be able to see how some of this feedback relates to the effects from the DirectInput force feedback library, but of course, those settings aren’t adjustable, it’s just how the wheelbase interprets them that is important.

taking simple notes

The notes I took above were based on my initial feedback on a Simplicity SW20, so you can read how the settings were changed to resolve those characteristics in the Simplicity wheel configuration tool here.

Today, we’re going to focus more on Fanatec hardware, and specifically how you might start from taking some initial notes on how the wheel feels to making effective changes that make more sense for the car you’re driving and your personal preferences.

Critically though, it’s important to have notes on what the settings all do. In the list below I’ve included the FFB settings from a Fanatec DD2 configured in Fanalab. You can also configure these settings from the wheel’s settings menu or from the Fanatec Wheel properties dialogue under the “Tuning” menu.

I recently covered living with the DD2 after 2 months of use and cover some of the setup procedures in that article.

Understanding Fanatec Tuning Menu settings

As I’ve made notes about my wheel’s behavior above, I’m going to highlight the settings most likely to make a difference with a number, for example “(1)”.

When you’re setting up your own wheel, try the same. Make simple notes, review your settings options and try making one change at a time:

[SEN] – Maximum Steering Angle

Steering sensitivity is how much steering input rotation is required on the wheel to effect a full turn in the car. F1 cars need less steering input to effect a lot of turn in the front wheels while a truck needs many, many wheel rotations to get to full lock. You’re essentially putting in a faster steering rack by reducing the setting.

My preference: 900° or AUTO

[FF] – Overall FFB Strength

Think of this setting as a volume control on the total force feedback strength of all effects coming from the simulation software, where 100% with use your wheel’s full available torque. Be a little careful when running 100% force feedback, you might experience some surprisingly heavy feedback – overwhelming potentially where the strength of the output is a little too much for the wheel motor. You might experience unexplained notchiness or a lack of detail at high load moments. I haven’t had this problem with my DD2, but I don’t run maximum FFB strength in my iRacing settings and I have set up my torque output properly in iRacing (guide to torque settings here).

My preference: 100% (my iRacing FFB setup available here)

[LIN] – Linearity

Linearity is a form of range compression, much like the kind you might encounter in audio applications (where a TV ad seems really loud compared to the sound in the program you’re watching). Put simply, this setting compresses the FFB range to accommodate less powerful wheels that might have a maximum torque that is lower than the maximum torque rating of the simulated car. I’ve explained this in my torque settings article; suffice it to say it really isn’t required for a direct drive wheelbase and would be something I’d only use with a belt-driven or lower torque unit.

Dynamic Compression (image source)

My preference: OFF

[NDP] – Natural Damper

“Natural damper” is a filter that dampens unwanted vibrations and oscillations through the wheel. It’s best to deal with any weird behaviors, for example, if after a crash you can’t stop the wheel rocking from right to left, you might need to increase your natural damper. Increasing the value will also make the wheel feel less keen to turn suddenly, in a similar way to the friction setting. It’s set to 50% as the default and it’s intended to prevent those weird wheel movements like excessive vibrations on the straights. Increasing the setting adds resistance (1), so it’ll make your wheel harder to turn and much less willing to accept fast inputs (2). I actually think it’s worth testing reducing this setting if you like to feel like you’re getting as much track detail as possible, just be careful when you’re making changes and reduce this settings in smaller increments.

My preference: 18

[NFR] – Natural Friction

Makes the steering feel heavier. A higher setting will make the wheel always harder to turn. In my experience, it takes away your sensitivity to finer details and makes it harder to react quickly to slides or to feel a loss in traction. (3)

My preference: Keep this setting low (around 5) and if you like a heavier feeling wheel, you can always reduce the forces when parked via iRacing’s options screen.

[NIN] – Natural Intertia

This adds rotational inertia to the wheel, so at a high setting, inputs into the wheel will keep it spinning. A useful setting for drifting or to help the wheel return if you’re simulating lots of caster in the steering geometry.

[INT] – FFB Interpolation

Adding extra samples for simulators with lower sample rate outputs will make the experience feel smoother. Some simulators have a higher sample rate (for example ACC) and so this really isn’t necessary all the time. Personally, I like a grainy feel from my DD2 (yes I’m weird like that) so a lower setting suits me.

[FEI] – Force Effect Intensity

Amplify the subtle effects and details you feel from the circuit through the wheel. Set it high and you’ll feel these effects significantly. A lower setting will mute (reduce) those sensations. It’s good to remember that this will amplify circuit details without affecting overall FFB strength – so the car’s feedback will be unaffected except when big events like kerb hits occur.

[FOR] – Game Force Effect Strength

Can be used to increase or reduce the overall force effects without affecting other effects.

[SPR] – Spring Effect

Adjusts centering spring force. How keenly will the wheel return to a center position? iRacing already takes care of this so leaving at 100% adds no further intervention by the Fanatec software.

[DPR] – Damper Effect

Adjusts the simulator’s damping settings to mop up any remaining vibrations. I leave this untouched at 100%

[SHO] – Vibration Strength

Some Fanatec wheels have vibration motors built into them such as the Podium F1. This setting adjusts the strength of the vibration effect coming from the motor. I prefer to use vibration via Simhub using the Sim3D rumble kit.

My current DD2 settings
My current DD2 settings with the latest beta driver

Testing

When we’re out on the circuit testing a car, it’s best practice to start with a hypothesis. All the better if you can predict what the car might feel like before even turning a wheel! Make single changes, note how the car has changed, decide if that’s a positive or negative step. Ideally, keep making that change in the same direction until it’s gone past the optimum point. Then, you’ll understand the impact of that setting change.

Your approach to sim racing should be much the same, especially in championships that run with a baseline setup, as the car will always remain consistent. That’s why the global Mazda series is so good, you’re restricted by car setup – any gains have to come from your technique, which will improve as you improve your wheel setup.

Mazda MX5 Cup in iRacing (image source)

The goal you’re trying to achieve is whether you feel like you’re getting a detailed understanding of what the car is doing and whether you feel happy and confident with the car.

Signs that your FFB is well setup include:

  • Earlier warning you’re having a slide
  • Being able to catch a slide
  • Feeling like you can drive the car accurately (always hitting the apex of a corner, for example)
  • Feeling like you’re driving consistently
  • Feeling like you’re able to push along because you’re confident in what the car is going to do
  • There are no sudden extremes (for example the car feels extremely heavy in the mid corner compared to turn in)
  • The wheel isn’t too springy (very light and too keen to return to center)
  • The wheel isn’t too heavy and slow (and reluctant to move anywhere fast!)

Good luck and let me know how you get on in the comments!


Related Posts:

Force Feedback: what is FFB, how does it work and how do I set it up?