This is where MAIRA’s force feedback is built and tuned. The top of the page sets up your wheelbase and how hard it gets driven. The middle is the FFB graph — the chain of modules every force passes through on its way from the simulator to your wheel — together with a preview that replays a recorded lap through it. The bottom holds the odds and ends.
Device
Steering device
Pick which DirectInput force-feedback wheel MAIRA should control. If you don’t see your wheel here, your wheel might not be turned on, or it may not be a DirectInput FFB device (or the driver isn’t exposing it correctly).
When force feedback cannot run, the reason is spelled out in orange underneath this dropdown — the simulator is not running, the sim is not in full mode, iRacing’s own force feedback is on, a steering effects calibration is in progress, and so on.
Power
Turns MAIRA force feedback on/off.
The power button can be different colors. Here is the meaning of those –
- Red (blinking) = Force feedback has been switched off here
- Blue = Waiting for the simulator telemetry data stream
- Yellow = Force feedback is not active (reason shown below steering device)
- Green = All systems go, force feedback is active!
You can map this button to an input on your button box, to act as a safety / emergency switch to turn the wheel FFB off.
Test
Plays a short test signal through the wheel. Useful to verify MAIRA is actually driving the wheel.
Reset
Forces MAIRA to reinitialize the wheel device. Useful if the wheel “goes dead” or feels desynced.
Overall strength
These settings define your overall torque scaling.
Wheel force
Your wheel’s physical maximum torque (Nm).
Set this to your wheel’s rated peak torque (example: 10 Nm, 15 Nm, 25 Nm, etc). MAIRA uses this to keep units consistent and to compute other values correctly — every force strength in the FFB graph is expressed in Nm at the wheel, and this is the number that anchors them.
Here is a handy table of Wheel Force Settings.
Default: 5.0 Nm
Strength
Overall strength multiplier (0-100% normally).
This is the “how strong should it feel” knob. This remaps the iRacing car steering wheel torque into a smaller value that will fit on your wheelbase without clipping.
For example, the Mazda MX-5 Cup car tends to produce approximately 20 Nm peak force on the steering wheel. If you only have a 10 Nm wheelbase, this is too much! So, for this situation you would set Strength to 50% to make the 20 Nm force fit on your 10 Nm wheelbase without clipping (50% of 20 Nm = 10 Nm).
Here is a table showing a few examples of recommended Strength settings for various cars and wheelbases –
| Wheelbase | Car | Strength |
| Logitech G29 (2.2Nm) | Mazda MX-5 Cup (20 Nm) | 11% |
| Simagic Alpha Evo Pro (18 Nm) | Mazda MX-5 Cup (20 Nm) | 90% |
| Fanatec ClubSport DD (12 Nm) | Dallara IR18 (60 Nm) | 20% |
| Simagic Alpha Evo Ultra (28 Nm) | Dallara IR18 (60 Nm) | 47% |
If you enable Allow up to 200% strength, this can go up to 200% (see SWITCHES).
Default: 10%
Max force
This is the “target peak torque” MAIRA uses internally for normalization. It’s tightly linked to the two settings above.
Important: MAIRA keeps these three values in sync:
MaxForce = WheelForce / Strength- Changing Wheel force or Strength will update Max force automatically.
- Changing Max force will update Strength automatically.
iRacing’s native FFB also has a “Max force” setting in their UI, which works exactly like how it works in MAIRA. You can copy and paste iRacing’s Max force setting if you want the FFB strength to feel the same.
Here’s another handy table –
| NASCAR Cup Series (Next Gen) | ~28-35 Nm |
| IndyCar (IR-18) | ~30-60 Nm |
| Mazda MX-5 Cup | ~18-22 Nm |
| Supercars (V8) | ~22-28 Nm |
| GT3 (Ferrari, Porsche, BMW, etc.) | ~8-14 Nm |
| GT4 | ~12-18 Nm |
| GTP / LMDh | ~10-16 Nm |
| Formula 3 | ~14-20 Nm |
| Formula Vee | ~16-22 Nm |
| Street Stock | ~18-25 Nm |
Default: 50.0 Nm
Auto-strength feature
The bottom row of the overall strength section calibrates the strength of the force feedback to the car and track you are driving, in an automatic way. This is how you would use this feature –
- Set the Auto target number
- Get on the track
- Hit the clear button
- Drive around the track normally for at least a few corners
- Do not hit curbs or go off track
- Hit the set button
- All done, you’re ready to go!
Note – The auto-strength feature adjusts the strength of the force feedback only when you hit the Set button!
Auto target
Set this to how strong (in Nm) you want the main weight of the force feedback experience to be, when using the auto-strength feature.
For example, if you have a 20 Nm wheelbase, setting this to 10 Nm means you only want to use half of your wheel for the main weight of cornering. The rest (the remaining 10 Nm) is reserved for spikes (curb strikes, bananas, collisions, etc.)
Setting this closer to your Wheel force uses more of your wheelbase for the main cornering weight, which leaves less headroom for spikes (so they may clip). Auto target cannot be set higher than your Wheel force.
Default: 10.0 Nm
Set
When you press the Set button, the auto-strength feature goes ahead and sets the Max force to the measured max force (Auto max force) value.
Clear
Clears the measured peak torque, so MAIRA can “re-learn” from fresh driving.
Current force
The live steering torque coming from the simulator right now, in Nm. This is the raw car force before anything in the FFB graph touches it.
Auto max force
The measured max force, that will be applied to the Max force setting if you hit the Set button. It is the peak torque MAIRA has seen while you were on a racing surface, scaled so that peak would land exactly on your Auto target.
FFB graph
The FFB graph is how MAIRA turns the simulator’s steering torque into what your wheel actually does. It is a chain of small modules: a source module reads the car’s steering torque, a run of processing modules shape it, effects and extra forces are mixed in, and an output module at the end converts the result into wheel output. Separately, vibration modules sit off to one side and add their buzz on top. The whole chain runs at 360 Hz, the rate iRacing itself produces force feedback at.
This replaces the fixed algorithms of MAIRA 2.0. Soft lock, wheel centering, friction, crash and curb protection, the steering-effect forces and vibrations, and the ABS / gear change / shift RPM vibrations are all modules in the graph now, rather than separate sections of this page. Their strengths are set in Nm at the wheel instead of percentages, so they mean the same thing whatever your wheel force is.
You do not have to build anything. MAIRA ships four ready-made graphs, and most drivers pick one and only ever touch the handful of controls in the FFB graph settings section below.
Graph
Picks the graph that drives your wheel. The list is split into Built-in — the graphs that ship with MAIRA — and Custom — the ones you have made or imported.
Which graph is selected is saved per context, and by default that context is per car. The same scope also covers every module value inside the graph, so the same graph can be tuned differently for each car you drive. Right-click the Graph label to change the scope — see Tuning Profiles.
Default: Low latency 360 Hz detail booster & limiter
The built-in graphs
Four graphs ship with MAIRA. They all carry the same set of extras — LFE, soft lock, friction, wheel centering, crash and curb protection, the steering effect forces, torque dither and the whole family of vibrations — and differ only in how they treat the main force signal.
- Low latency 360 Hz detail booster & limiter — Recommended for most drivers: the full 360 Hz FFB signal with prediction to reduce latency. Adjust the gain to increase or decrease the road and tire detail.
- Low latency 60 Hz detail booster & limiter — For drivers who prefer the classic 60 Hz FFB signal, with prediction to reduce latency.
- 360 Hz slew & total compression — For drivers who want the strongest forces softened: the full 360 Hz FFB signal through a slew compressor that squeezes how fast the force can change, and a compressor that squeezes the total force.
- Hybrid multi adjustment toolkit — The hybrid tuning toolkit: the smooth 60 Hz FFB signal as the anchor with the 360 Hz detail blended in, followed by compression, slew compression, a transient enhancer, and an adaptive smoother.
Built-in graphs are structurally locked. You can change every knob, switch and dropdown in them, and those values are yours and are saved per context — but you cannot add or remove modules, re-wire them, rename them, or delete them. In exchange, they update themselves: when a new version of MAIRA ships an improved built-in graph, you get it on your next launch and your tuned values carry over.
To change the structure of a built-in graph, clone it into a custom graph with the + button. A custom graph is yours entirely — every module and wire can be edited — but it never receives updates.
Creating, sharing and resetting graphs
The row of small buttons to the right of the graph selector manages your collection.
New graph (+)
Asks for a name, then offers two ways to start: Clone current graph makes an editable copy of whatever is selected right now (this is how you take a built-in graph apart), and Start empty graph gives you a bare source and output to build from. The new graph is selected as soon as it is made.
Rename graph
Renames a custom graph. Disabled while a built-in graph is selected. Renaming is safe: everything MAIRA has saved for the graph is keyed to the graph itself, not its name, so your tuning survives.
Delete graph (-)
Deletes a custom graph after asking you to confirm. Disabled while a built-in graph is selected.
Export graph
Writes the selected graph out as a .mairagraph file — the structure, the descriptions, the node positions and the current values. This is the file you hand to somebody else.
Import graph
Reads a .mairagraph file back in. If it is a graph you do not have yet, it is simply added to your custom graphs.
If it is a graph you already have — someone sending you their tuning of a built-in graph, for instance — MAIRA asks what to do with the values in the file:
- Update <car / track> settings — apply them to the context you are in right now, leaving everything else alone.
- Update baseline (default) settings — apply them to the default tuning profile, so they become the starting point everywhere that has nothing of its own.
- Update <car / track> and baseline settings — both of the above.
- Update settings everywhere this graph is selected — apply them to every saved context that uses this graph.
- Import as a new copy — leave your version untouched and add the file as a separate custom graph.
The two current-context choices only appear while the simulator is running with a car and track loaded. Without one there is no context to write to, and updating “the current car” would be the same as updating the baseline.
Reset graph
Only shown while a built-in graph is selected. Puts that graph back to the values it shipped with, throwing away your changes to it.
Description
Underneath the selector is the graph’s description — what it is for and how it is meant to be used. Built-in graphs come with theirs written and translated. On a custom graph the pencil button beside it opens an editor so you can write your own, which is worth doing if you plan to share it.
FFB graph settings (the quick controls)
This section is the everyday face of the FFB graph. Rather than showing you every knob in the graph, it shows only the pinned ones — the handful the graph’s author thinks you will actually want to reach for — grouped by the module they belong to, three across, with the module’s name and description above each group.
The built-in graphs ship with a curated set pinned: the one or two knobs that shape their character, the output soft limiter, then wheel centering, wheel velocity, LFE and soft lock, crash protection, the understeer / oversteer / seat-of-pants forces and vibrations, the ABS, gear change, shift RPM, engine RPM, road texture and slip texture vibrations, and torque dither. Every group leads with the module’s on/off switch, so this section doubles as the master list of which effects you have running.
A control here is the very same control as in the node editor’s settings column — change it in one place and the other follows.
Show pinned settings
Hides or shows the quick controls. Turn it off if you work entirely in the node graph and want the page shorter.
Default: ON
Pinning your own settings
On a custom graph, a small pin icon sits next to every setting’s name in the node editor’s settings column, and next to the module’s name for its on/off switch. Gray means unpinned, orange means pinned. Click it to add or remove that setting from the quick controls.
The pins are deliberately not shown in the quick controls themselves, so a control cannot be accidentally unpinned from the one place where you would then have no way to get it back.
To reorder the groups, select the module in the node editor and use the pair of up / down arrows at the bottom of its settings card — they move that module’s whole pinned group up or down the list.
Pinning is stored in the graph itself, so it travels with an export and a shared graph arrives with its author’s choices already made.
The node graph
Show node graph
The switch in the top left corner of the editor block reveals the node graph and the module settings column beside it. Leave it off and you still get the preview graph and the track map, driven by the quick controls above; turn it on to see and change the signal chain itself.
Default: OFF
Nodes and wires
Every module is a box. Its name is on top and a live summary of its settings (“1.50x”, “one pole, 12.5 Hz”) underneath, so you can read the state of a whole graph at a glance. Hovering a node shows its description.
The dots on a node’s edges are its connectors: an output on the right, and one or two inputs on the left. A module with two inputs shows input A in the upper left and input B in the lower left. Drag from any connector dot to a compatible dot on another node to re-wire; a dashed line follows the mouse while you do. Vibration modules have no connectors at all — they do not sit in the chain, they feed the vibration bus directly.
The border colors tell you what kind of module you are looking at:
- Green — a source: something that reads the car or the wheel.
- Purple — the output module at the end of the chain.
- Blue — a vibration module.
- Gray — an ordinary processing module.
- Orange — the node you have selected.
- Highlighted — the node the preview is locked to.
A node that is switched off is dimmed, as is a steering effect module whose effect is turned off over on the Steering Effects page — its settings card says so in orange as well, because the module can do nothing until that effect is enabled again.
Getting around
- Left-click a node to select it. The settings column beside the graph and the preview graph below both follow the selection.
- Right-click a node to lock the preview to it without moving the selection — so you can turn one module’s knobs while watching what a different module downstream is doing. Left-clicking any node hands the preview back to the selection.
- Drag a node to move it. Positions are saved with the graph.
- Drag empty space to pan the view.
- Ctrl + mouse wheel zooms. The wheel pushes the graph away from you, so wheel up zooms out and wheel down zooms in.
Two grab handles resize the editor. The small pill on the seam between the node graph and the preview drags the node graph taller or shorter; the pill on the vertical seam moves the split between the graph and the settings column. Both are remembered.
The canvas tools
Four buttons sit in the top right corner of the node graph.
- Add module (+) — opens a picker listing every module type, grouped into sources, generic DSP, mixers, effects and vibration effects. Click one and it is added straight away.
- Remove module (-) — removes the selected module. Disabled when nothing is selected, and always disabled for the output module, which is fixed.
- Snap to grid — toggles snapping. Turning it on pulls every node onto the grid at once, and faint dots appear behind the graph.
- Auto layout — re-arranges the whole graph into tidy columns following the signal flow, and returns the view to the top left.
Add module and auto layout are disabled on a built-in graph, and so is removing anything — built-in graphs are structurally locked.
Adding and removing modules
A new module is spliced into the wire coming out of the module you have selected: it takes the selected module as its input, and everything that used to read the selected module now reads the new one instead. In practice that means selecting the point in the chain you want to insert at and clicking add — you rarely have to re-wire anything by hand.
Source modules are one per graph, so a source you already have is not offered again. Vibration modules are not wired at all; they are simply parked below the rest of the graph.
Removing a module splices it back out the same way: anything that was reading it falls back to whatever that module was reading, so the chain stays connected and the signal keeps flowing.
The module settings column
To the right of the node graph are the settings of whichever module is selected. At the top sits the module’s on/off switch and its name; at the bottom, its description (with a pencil to rewrite it on a custom graph). Between them are the module’s own controls.
Every module has an on/off switch. Switching a module off makes it inert without removing it from the graph: a module in the chain passes its input straight through, and a source or a vibration goes silent. It is the fastest way to hear what one module is contributing.
Effect and vibration modules also carry a small test button beside their name. Pressing it forces that effect on so you can feel it (or watch it in the preview) without having to provoke it on track. It is a session-only toggle — it is never saved, and it clears itself when you switch graphs or restart. Vibration tests shake the physical wheel, so they gray out while you are off track, where the wheel’s force feedback has faded out.
Module knobs, switches and dropdowns behave like the rest of MAIRA’s controls: right-click a knob to map buttons that step it up and down, and right-click a switch to map a button that flips it. See Common Controls. Module values do not carry their own context switches — they all follow the scope set on the Graph selector, which is per car by default.
The modules
Everything below is one entry per module type, in the same order and the same groups as the add-module picker. Each entry lists the module’s own settings with their range and the value a newly added module starts at. The built-in graphs ship with their own tuned values, so what you see in a built-in graph will often differ from the defaults listed here — that is normal.
On top of what is listed, every module also has the Enabled switch described above.
A note on units. The main chain carries force in Nm all the way to the output module, which is the only place it becomes wheel output. Anything measured in Nm — thresholds, limits, strengths — is therefore an honest torque figure you can reason about against your Max force. Effect and vibration strengths are Nm at the wheel, measured against your Wheel force, so they feel the same however you have scaled the car’s force.
Sources
Sources are where signal comes from. They have no inputs, and there can only be one of each in a graph. The two torque sources are the car’s force feedback; the rest are extra forces you mix in with an add module.
60 Hz source
iRacing’s native 60 Hz force feedback signal, exactly as the simulator sends it. No settings.
360 Hz source
iRacing’s high-rate force feedback signal — six samples per 60 Hz frame, with the most detail. No settings.
LFE source
The simulator’s low-frequency effects audio, turned into wheel force. Mix it in with an add module. You need to enable bass shaker LFE in iRacing and route it through VB-CABLE for this to do anything — see Wheel LFE below.
- Strength — 0% to 100%, OFF at 0%. Default: 35%
Soft lock source
Pushes back hard when the wheel is turned past the car’s steering lock, like a physical end stop.
- Strength — 0% to 100%, OFF at 0%. Default: 25%
Wheel velocity source
A force that opposes how fast the wheel is being turned — mix it in for damping. In the built-in graphs it is used to stop the wheel oscillating while you are crawling or parked.
- Strength — 0% to 100%, OFF at 0%. Default: 100%
Friction source
True dry friction: the wheel holds where you leave it, with constant sliding drag past the stick region. This is the same model wheel firmwares use for their own friction effect, so it feels like mechanical stiction rather than damping.
- Strength — 0.0 to 10.0 Nm, OFF at 0. The breakaway / sliding friction torque. Default: 1.0 Nm
- Stick region — 0.5° to 60.0° of wheel rotation. How far the wheel moves before it breaks away. Larger feels softer and springier, smaller feels crisper. Default: 25.0°
All four built-in graphs feed the friction source and the wheel velocity source into an A/B switch, so you can pick which of the two you want with one flip: input A is wheel velocity, input B is friction.
Wheel centering source
A spring force that pulls the wheel back toward center. Route it through a speed gain module to keep it parked-only — which is exactly what the built-in graphs do, and what replaced the old separate “center while racing” and “center while parked” switches.
- Strength — 0% to 100%, OFF at 0%. Default: 50%
Generic DSP
The signal processing blocks. Each one takes a single input and hands on a single output.
Gain
Scales the signal by a fixed multiplier — use a negative gain to invert it. In the flagship built-in graph this is the single knob that sets how much road and tire detail you feel.
- Gain — -5.00x to 5.00x. Default: 1.25x
Compressor
Squeezes the signal above a threshold, keeping peaks under control without hard clipping. Force below the threshold passes through exactly as it was.
- Threshold — 0.0 to 50.0 Nm. Where the squeeze starts. Default: 30.0 Nm
- Knee — 0.0 to 20.0 Nm. How wide the soft corner around the threshold is. Default: 5.0 Nm
- Ratio — 1.0:1 to 20.0:1. How hard it squeezes above the threshold; 1.0:1 does nothing. Default: 4.0:1
High-pass filter
Removes the slow body of the signal and keeps only the fast detail above the cutoff. Pair it with a gain module to boost the detail you extracted.
- Slope — One pole (gentler, least possible lag) or Two pole (steeper, cleaner separation). Default: Two pole
- Cutoff — 0.0 to 180.0 Hz, OFF at 0 (everything passes). 180 Hz is the highest frequency a 360 Hz signal can carry. Default: 8.0 Hz
Low-pass filter
Keeps the slow body of the signal and smooths away everything faster than the cutoff. With the same cutoff and slope, a low-pass and a high-pass split a signal into body and detail that add back up to the original.
- Slope — One pole or Two pole. Default: Two pole
- Cutoff — 0.0 to 180.0 Hz. At 0 Hz the output is blocked entirely. Default: 8.0 Hz
Slew compressor
Squeezes fast signal changes instead of hard-limiting them — slow movement passes untouched. Where the compressor works on how strong the force is, this works on how quickly it changes, which is what takes the sting out of sharp hits.
- Threshold — 0 to 1000 Nm/s. Rates of change below this pass through untouched. Default: 75 Nm/s
- Knee — 0 to 200 Nm/s. Width of the soft corner. Default: 30 Nm/s
- Ratio — 1.0:1 to 20.0:1. Default: 3.0:1
- Peak mode — instead of slowing the rise, it eases the force back down after a spike. Default: OFF
Slew limiter
Caps how fast the signal can change — anything under the limit passes untouched, faster movement is slowed down. A hard version of the slew compressor. Nothing is lost, only delayed.
- Limit — 1 to 1500 Nm/s. Default: 360 Nm/s
Adaptive smoother
One-knob smoother that adapts to the signal — strong smoothing when quiet, minimal lag on fast transients. Use it to kill hash and jitter without the mush a plain low-pass would add.
- Amount — 0% to 100%, OFF at 0%. The value shows the cutoff it works out to, for example 50% (13.4 Hz). Default: OFF
Transient enhancer
Extracts the fast detail and emphasizes attacks — bumps and curbs pop without boosting the decay. It outputs only the enhanced detail, so add it back onto the body of the signal with an add module.
- Cutoff — 0.0 to 180.0 Hz. Where it splits detail from body. Default: 7.2 Hz
- Gain — 0.00x to 5.00x. How much the attacks are emphasized; 1.00x leaves them at their original strength. Default: 1.00x
60 Hz interpolator
Removes the staircase steps from a 60 Hz signal by ramping smoothly across each frame, at the cost of one frame of latency. Put it on branches that carry 60 Hz values; on a real 360 Hz signal it would throw the detail away. No settings.
360 Hz prediction
Shifts a 360 Hz signal into the future to counteract latency — an adaptive filter that learns each car as you drive, from the torque history plus your steering and the car’s motion. It takes a few seconds on track to settle, and then keeps tracking. Place it directly on the 360 Hz source and do any smoothing after it.
- Horizon — how far ahead it aims, shown in milliseconds, OFF at 0. It steps in 360 Hz samples of about 2.8 ms each, up to 12. Default: 6 samples (16.7 ms — one simulator frame)
- Correction limit — 0.25 to 10.00 Nm. Caps how much force the prediction is allowed to add or remove. Raising it buys more shift on heavy cars but can overshoot on light ones. Default: 5.00 Nm
- Strength — 0% to 200%, OFF at 0%. Re-expands the prediction, which is naturally shy. 200% buys a little more shift at the cost of more high-frequency noise. Default: 150%
60 Hz prediction
The same idea for a graph built on the 60 Hz source: shifts the 60 Hz signal into the future to counteract latency, learning from your steering and the car’s motion as you drive.
- Horizon — whole 60 Hz frames, up to 4, shown in milliseconds (16.7, 33.3, 50.0 …), OFF at 0. Default: 2 frames (33.3 ms)
- Correction limit — 0.25 to 10.00 Nm. Default: 5.00 Nm
- Strength — 0% to 200%, OFF at 0%. Unlike the 360 Hz module, going above 100% here tends to make things worse. Default: 100%
Mixers
The two-input modules. Each one takes an input A and an input B and combines them.
Add
Adds two signals together. This is how the extra force sources — LFE, soft lock, friction, centering — get into the chain. No settings.
Subtract
Subtracts input B from input A — for example, subtracting a low-pass copy of a signal leaves just the detail. No settings.
Blend
Crossfades between two signals.
- Mix — 0% to 100%. 0% is all input A, 100% is all input B. Default: 50%
A/B switch
Passes either input A or input B straight through, chosen by the switch — flip it to compare two signal paths instantly. Pin the switch, or map it to a button, and you can A/B two versions of your tuning without leaving the car.
- Use input B — Default: OFF (input A)
Adaptive blend
Follows the detail of input A while being pulled toward input B — the pull relaxes at each peak so transients ride through. This is the heart of the hybrid built-in graph: input A is the 360 Hz detail, input B is the smooth 60 Hz anchor.
- Cutoff — 0.0 to 180.0 Hz. How strongly the anchor pulls normally. Default: 20.0 Hz
- Peak cutoff — 0.0 to 180.0 Hz. The relaxed pull used right after a peak. Default: 6.0 Hz
- Hold — 0 to 100 ms. How long it takes to ease back to the normal pull. Default: 28 ms
Effects
Effects sit in the chain like a processing module, but what they do depends on what the car is doing. The three protection and speed modules carry a test button; the steering-effect forces follow their effect over on the Steering Effects page and go inert if it is switched off there.
Speed gain
Scales the signal with car speed — fade forces in or out as the car speeds up. This is what makes wheel centering and friction parked-only in the built-in graphs, and it is the replacement for the old parked effects settings.
- Minimum speed — 0 to 50 m/s. The bottom of the ramp. Default: 0 m/s
- Maximum speed — 0 to 100 m/s. The top of the ramp. Default: 30 m/s
- Gain at min speed — 0.00x to 2.00x. Default: 1.00x
- Gain at max speed — 0.00x to 2.00x. Default: 1.00x
The test button pins the preview to the minimum speed end of the ramp, so you can inspect the parked behaviour whatever speed the recording was made at.
Torque dither
Adds a tiny alternating dither below a threshold to keep the wheel mechanism live and reveal faint detail. Useful on a low powered or gear driven wheel such as a Logitech G29, where small forces otherwise disappear into the gearbox. This is the modern replacement for the old output minimum setting — rather than forcing weak signals up to a floor, it keeps the mechanism moving underneath it.
- Strength — 0.00 to 1.00 Nm, OFF at 0. Default: 0.10 Nm
- Threshold — 0% to 100%. Above this the signal passes through untouched. Default: 10%
Crash protection
Fades the force way down when a crash is detected, then ramps back smoothly — so a big impact cannot yank the wheel out of your hands. It watches the car’s G forces itself, so several crash protection modules in one graph can trigger on different thresholds independently.
- Longitudinal G force — 2.0 to 20.0 g. Threshold for front / rear impacts. Default: 8.0 g
- Lateral G force — 2.0 to 20.0 g. Threshold for side impacts. Default: 8.0 g
- Duration — 0.00 to 10.00 sec, OFF at 0. How long the force stays reduced. It re-arms for as long as the impact continues, so a long shunt is held at full reduction. Default: 0.20 sec
- Force reduction — 0% to 100%, OFF at 0%. How much force is taken away. Default: 95%
- Recovery time — 0.00 to 5.00 sec, OFF at 0. How long it takes to ramp back to full afterwards; 0 snaps straight back. Default: 0.20 sec
Curb protection
Reduces force during hard curb strikes, then ramps back smoothly. It watches the suspension’s shock velocity itself, the same way crash protection watches G forces.
- Shock velocity — 0.00 to 2.00 m/s. How violent a hit has to be to count. Default: 0.50 m/s
- Duration — 0.00 to 2.00 sec, OFF at 0. Default: 0.10 sec
- Force reduction — 0% to 100%, OFF at 0%. Default: 75%
- Recovery time — 0.00 to 2.00 sec, OFF at 0. Default: 0.10 sec
Understeer force
A steering force driven by the understeer effect, so you can feel the front tires losing grip.
- Direction — None, Decrease force (the wheel goes light as the front washes out) or Increase force (a push you have to hold against). Default: Decrease force
- Strength — 0.0 to 10.0 Nm at the wheel, OFF at 0. Default: 1.0 Nm
- Curve — -100% to 100%, OFF at 0%. Bends the response: positive holds the effect back until the slide is well established, negative brings it on early. Default: OFF
Oversteer force
A steering force driven by the oversteer effect, so you can feel the rear of the car stepping out. Same settings as understeer force.
- Direction — Default: Increase force
- Strength — 0.0 to 10.0 Nm, OFF at 0. Default: 1.0 Nm
- Curve — -100% to 100%, OFF at 0%. Default: OFF
Seat-of-pants force
A steering force driven by the seat-of-pants effect — the feel of the chassis loading up.
- Direction — Default: Increase force
- Strength — 0.0 to 10.0 Nm, OFF at 0. Default: 1.0 Nm
- Curve — -100% to 100%, OFF at 0%. Default: OFF
Vibration effects
Vibration modules are standalone nodes with no wires. They do not join the main chain; they add straight onto the wheel on top of everything else, which is why they are not affected by the output curve. Every one of them has a test button, which shakes the wheel for real and is therefore only available while you are on track.
The first three follow the steering effects and share a common set of controls:
- Pattern — None, Sine wave, Square wave, Triangle wave, Sawtooth wave (in) or Sawtooth wave (out). The shape of the buzz.
- Strength — 0.0 to 10.0 Nm at the wheel, OFF at 0.
- Frequency — 1 to 100 Hz. How fast it buzzes.
- Curve — -100% to 100%, OFF at 0%. Bends how the vibration builds as the effect grows.
Understeer vibration
Vibrates the wheel when the front tires start to slide.
Default: Sawtooth wave (in), 1.0 Nm, 25 Hz, curve OFF
Oversteer vibration
Vibrates the wheel when the rear tires start to slide.
Default: Square wave, 0.5 Nm, 20 Hz, curve OFF
Seat-of-pants vibration
Vibrates the wheel with the chassis motion — weight transfer you can feel.
Default: Triangle wave, 0.7 Nm, 25 Hz, curve OFF
ABS vibration
Pulses the wheel while the brakes’ ABS is active.
- Strength — 0.0 to 10.0 Nm, OFF at 0. Default: 1.0 Nm
- Frequency — 5 to 120 Hz. Default: 50 Hz
- Pulse duration — 10 to 500 ms. How long each on / off pulse lasts. Default: 85 ms
Gear change vibration
A short vibration burst on every gear change.
- Strength — 0.0 to 10.0 Nm, OFF at 0. Default: 0.5 Nm
- Frequency — 5 to 120 Hz. Default: 30 Hz
Shift RPM vibration
Buzzes the wheel in pulses when the engine reaches the shift point, nudging you to upshift.
- Strength — 0.0 to 10.0 Nm, OFF at 0. Default: 0.5 Nm
- Frequency — 5 to 120 Hz. Default: 60 Hz
- Pulse duration — 10 to 500 ms. Default: 80 ms
Engine RPM vibration
A rumble that tracks the engine speed, voiced like a V8 — silent while the engine is off. Rather than a pure tone, each cycle is treated as a firing event, with harmonics, a little randomness and a repeating unevenness that gives it the lope of a real engine.
- Strength — 0.0 to 10.0 Nm, OFF at 0. Default: 0.1 Nm
- Frequency at redline RPM — 10 to 120 Hz. The rumble ramps up to this at the car’s redline, and keeps climbing if you over-rev. Default: 72 Hz
- Roughness — 0% to 100%, OFF at 0%. 0% is a plain sine, 100% is the full V8 voice. Default: 100%
Road texture
A rumble that speeds up with the car, like road surface texture — silent when parked.
- Strength — 0.0 to 10.0 Nm, OFF at 0. Default: 0.1 Nm
- Frequency — 5 to 120 Hz. The rate reached at about 180 MPH. Default: 120 Hz
Slip texture
A rumble that appears whenever either end of the car is sliding, driven by the understeer and oversteer effects. It goes quiet if both of those effects are switched off on the steering effects page.
- Strength — 0.0 to 10.0 Nm, OFF at 0. Default: 0.5 Nm
- Frequency — 5 to 120 Hz. Default: 80 Hz
Output
Output
The end of the chain — converts the signal to wheel output, with an optional response curve and soft limiter. Every graph has exactly one, it is always there, and it cannot be removed. This is the point where Nm become what the wheel plays, using your Max force, so the two shapers here work on the final result rather than on some Nm figure part way down the chain.
- Curve — -100% to 100%, OFF at 0%. Positive values emphasize larger forces (more dramatic build-up), negative values emphasize smaller forces (more “alive” near center). The knob draws the curve so you can see the shape. Default: OFF
- Soft limiter — eases the signal into full scale instead of letting it hit a brick wall, so it keeps some detail where it would otherwise flatten out. Default: ON
- Threshold — 0% to 100% of full scale. Below this, output passes through untouched. Default: 90%
- Knee — 0% to 100%. Width of the soft corner around the threshold. Default: 30%
- Ratio — 1.0:1 to 20.0:1. How hard the excess above the threshold is squeezed. Default: 6.0:1
The preview graph
Underneath the node graph is a preview of your graph running over a recorded lap. It is not a live meter — the live one lives on the Graph page. This one replays a recording through a second copy of your FFB graph, so you can stop, scrub, zoom in on one bump, turn a knob and watch what changes. Everything a module needs is replayed with it, so effects, protections and vibrations behave exactly as they did in the car.
What the traces mean
The preview follows whichever module you have selected in the node graph (or right-clicked to lock it to).
- The white line is that module’s output.
- The red filled area is its input A.
- The green filled area is its input B, on modules that have two inputs.
With the output module selected — which is where the preview sits when nothing else is chosen — the red area is the raw 360 Hz signal straight from the simulator and the white line is the final result your wheel plays, vibrations included. That is the comparison most people want: before and after, in one picture.
A source or a vibration module has no inputs, so only its own waveform is drawn.
The background flashes colour to mark events, exactly like the live graph does: yellow while curb protection is cutting force, orange while crash protection is, and red where the output is clipping. The protection colours are re-derived from the recorded telemetry against your current module thresholds, so tightening a threshold changes where they appear.
Reading the recording
- Hover the graph to get a magnified square of the trace under the cursor, and beside it a card of the recorded telemetry at that exact sample — time and track position, the 60 Hz and 360 Hz torque, LFE, speed, RPM and gear, steering angle and velocity, wheel position and velocity, ABS, lateral and longitudinal G, shock velocity, and the understeer, oversteer, seat-of-pants and skid/slip values.
- Drag left or right to scroll, or use the scroll bar underneath.
- Ctrl + mouse wheel zooms horizontally, from every sample drawn down to one in twenty. Wheel up zooms out, wheel down zooms in, and the sample under the cursor stays put. Only the number of drawn points changes — the graph engine still runs every sample, so filters and predictions stay accurate at any zoom.
The track map
The panel to the right of the preview draws the piece of track the recording covers, fitted to the panel with north up. A green dot marks where the recording started and a red dot where it ended, and the stretch currently visible in the preview is highlighted in orange — so as you scroll along the trace you can see exactly which corner you are looking at.
Record
The record button floats over the top right corner of the preview. Press it once to start recording and again to stop and save; it blinks while a recording is running. It only works while you are on track, and it can be mapped to a button on your wheel or button box so you can start one without leaving the car. MAIRA beeps when a recording starts and stops (both beeps can be turned off on the Sounds page).
A recording also stops by itself when any of these happen:
- You come back around to where you started it — a complete lap.
- You leave the track.
- Five minutes go by, which is as much as it can hold.
Whatever was captured up to that point is kept. Recordings are saved into Documents\MAIRA\Recordings, named after the game, car, track and length, and the new one is selected for the preview automatically. Everything is captured at the full 360 Hz, along with the telemetry the modules need to replay properly.
Recordings made by older versions of MAIRA do not carry all of that telemetry and are ignored — record a fresh lap.
Choose recording
The button beside record opens the list of saved recordings. Click one and it loads straight away. If the list is empty it says so.
Wheel LFE
Wheel LFE feeds the simulator’s low-frequency effects audio into your wheel as force. You will need to download and install a utility called VB-CABLE for it to work, and to turn on bass shaker LFE inside iRacing. More information on that can be found here – VB-CABLE Setup
This section only picks the device to listen to. How much of it reaches the wheel is the Strength setting on the LFE source module in your FFB graph — it is one of the pinned quick controls in all four built-in graphs, so you will find it in the FFB graph settings section above.
LFE recording device
Select which audio capture device MAIRA listens to for LFE magnitude. Leave it on the disabled entry if you are not using this feature.
Logitech RPM lights
Logitech TrueForce wheels (G PRO Racing Wheel, RS50, G923) have a strip of RPM lights on the rim that normally only the game can light up. MAIRA drives these lights for you, using the simulator’s own per-car shift light ranges, so the strip fills as the engine approaches the shift point. This section only appears when one of these wheels is selected as your steering device, and it names the wheel it found.
While the RPM lights are enabled, MAIRA sends its force feedback to the wheel through the TrueForce channel instead of DirectInput – this is required for the lights and force feedback to coexist, and the force itself is unchanged. If that channel cannot be opened, force falls back to DirectInput and the lights stay off rather than cutting the force out. The wheel is released whenever the simulator is not running, so other games can use TrueForce normally while MAIRA is open. The PlayStation G923 is the exception: its lights do not compete with force feedback, so it keeps the normal DirectInput path.
Light up the RPM lights on the wheel
Turns the RPM lights on or off.
Default: on (turns itself on the first time a supported wheel is selected)
Flash the lights once past the shift point
Flashes the whole strip once the revs pass the car’s blink point, instead of holding a full bar – much easier to catch out of the corner of your eye.
Default: on
Private messages
These control MAIRA sending private chat messages to the driver (useful confirmations and event notifications).
Send private chat messages to the driver
Master enable for all MAIRA private messages.
Default: ON
Enable input mapped setting update messages
When enabled, MAIRA can send confirmation messages when certain settings are changed via button mappings.
Default: ON
Enable crash protection messages
Sends a message when a crash protection module in your graph triggers.
Default: OFF
Enable curb protection messages
Sends a message when a curb protection module in your graph triggers.
Default: OFF
Switches
Fade force feedback when entering or exiting car
Smooth fade-in/out of steering torque as the simulator transitions on/off track.
Default: ON
Allow up to 200% strength (potentially dangerous)
Allows Strength to go above 100% (up to 200%).
Use with caution: this can produce very high forces depending on your Wheel force and Max force.
Default: OFF
Enable FFB even if iRacing simulator FFB is on
Normally MAIRA suspends itself when iRacing FFB is enabled (to prevent fighting signals).
Default: OFF
Enable this only if you know what you’re doing (and ideally keep iRacing FFB off).
Upgrading from MAIRA 2.0
If you are coming from 2.0, the first launch converts your force feedback settings for you. There is nothing to do by hand and nothing is lost.
- Whichever algorithm you had chosen becomes the built-in graph that replaces it. The detail booster and delta limiter families (and Native 360 Hz) land on Low latency 360 Hz detail booster & limiter, Native 60 Hz on Low latency 60 Hz detail booster & limiter, Slew and total compression on 360 Hz slew & total compression, and the Multi adjustment toolkit on Hybrid multi adjustment toolkit. That happens for every car and track you had tuned, not just the one you were last in.
- Your tuned values are translated into module values in those graphs. Algorithm knobs go into the matching graph’s modules; the effects that were page settings in 2.0 — soft lock, wheel centering, crash and curb protection, the steering effect forces and vibrations, and the ABS, gear change and shift RPM vibrations — are written into all four built-in graphs, so switching graphs later keeps them.
- Percentage strengths become Nm at the wheel using the wheel force of each tuning profile, and the compression thresholds become Nm and Nm/s using your max force.
- A setting you never touched in 2.0 is left alone, so it picks up the retuned 2.1 default rather than dragging an old value forward.
The conversion runs once, on the first launch that sees a 2.0 settings file. After that your graphs are yours, and nothing from 2.0 is written again.
Previous page: App Manager
Next page: Steering Effects
