Build & Setup Guide

Build your belt tensioner

Everything you need to build, wire, flash and tune the BeltTentioner (BBT) — a DIY haptic device that pulls and releases your seat-belt shoulder straps to mimic G-forces while you race.

~$200£150 · €170
56 kgpeak pull (both sides)
iRacing+ SimHub games

01Overview

The Belt Tensioner App (written by Matthew Brittle) drives two servo motors that pull and release your seat-belt shoulder straps to simulate G-forces in racing games and flight sims. It reads telemetry directly from iRacing, or from any title through SimHub.

Expect roughly 28 kg of force per side — about 56 kg total with both belts engaged. A complete build costs around $200 USD / £150 / €170.

02What you'll need

Purchased parts:

PartQtyApprox.
DS51150 150KG digital servo motors2~$37 ea
12 VDC 20A 240W power supply1~$16
Arduino Nano V31~$9
40mm 12 VDC cooling fan1~$10
Shoulder straps, webbing & connectorsvaries
Fasteners — M6, M5, M3 screws, nuts & washersvaries

033D printed parts

Print in PLA. Use 5 walls on all belt-load-bearing parts, 20–30% infill, and a standard 0.2 mm layer height.

ModelQty
Motor mount2
Motor covers3 pieces
Pulleys6 (variations)

04Flash the firmware

The Nano needs the BeltTentioner firmware before the app can talk to it. The easiest route is the app's built-in flasher.

Easiest — built-in flasher

  1. Download and install the Belt Tensioner app from the releases page.
  2. Plug the Arduino Nano into your PC via USB.
  3. Open the Flash Nano tool, pick the Nano's COM port (hit Refresh if it's not listed), leave Bootloader on Auto, and click Flash.
Flash Nano dialog with COM port selection, bootloader and output log
The built-in Flash Nano tool — no Arduino IDE required.

Alternative — Arduino IDE

  1. Install the Arduino IDE from arduino.cc.
  2. Open belt-tensioner.ino, connect the Nano and select its COM port.
  3. Search for “Arduino Nano” in the board selector, then click Upload.
  4. If upload fails, set Tools > Processor > ATmega328P (Old Bootloader) and try again.
Side note — MAIRA compatible This belt-tensioner hardware is also compatible with MAIRA (by Marvin) — just flash Marvin's MAIRA firmware to the same Nano to run it with his app instead.

05SimHub plugin

  1. Download the SimHub plugin and extract the ZIP.
  2. Copy both files into your SimHub root folder — typically C:\Program Files (x86)\SimHub.
  3. Launch SimHub and enable the plugin when it's detected.
  4. In the Belt Tensioner app, turn on Use SimHub Telemetry.
Note Only one telemetry source runs at a time — either SimHub or iRacing, not both simultaneously.

06Wiring

Motor wires (180° servos)

  • Brown — Negative / Ground
  • Red — Positive
  • Yellow — Signal (PWM)

Arduino Nano pins

PinConnects to
D10Left motor signal
D9Right motor signal
D3 GNDMotor ground
Critical Double-check polarity before powering on. Reversed positive/ground can damage the motors.

07Assembly

  1. Mount each servo motor into its motor mount.
  2. Attach the bottom cover panel to both mounts.
  3. Install the Nano and expansion board into the cover's mounting tabs.
  4. Install the wire connector into the cover tabs.
  5. Connect the power cord wires to the power supply — do not plug in yet.
  6. Run the 14-gauge wires from the power supply to the enclosure connector.
  7. Remove the motor connectors; attach the motors and cooling fan to the enclosure connector.
  8. Wire the ground from the connector to the Nano's D3 GND.
  9. Connect the motor signal wires (yellow/white) to D10 and D9.

08Install on your rig

  1. Mount the servo arms on the motors.
  2. Install the printed pulleys onto the servo arms.
  3. Attach the webbing / belts to the pulleys.
  4. Install the complete motor assembly onto your rig's seat mounts.
  5. Connect the Nano to your PC via USB.
  6. Open the app and verify the startup (home) position.
  7. Fit the servo arms with pulleys once the motors are homed.
  8. Test with a 1G force setting to confirm the rotation direction is correct.
Before switching apps Remove the servo arms & pulleys before switching between belt-tensioner apps (e.g. BBT and MAIRA) — they use different home positions, so leaving the arms on can bind the belts.

09App configuration

Each car has its own profile. The main panel sets how hard and how far each effect pulls, with a live preview line for every parameter.

BBT control panel: car settings, braking surge, cornering sway, vertical heave and gravity tilt
Per-car settings, with braking (surge), cornering (sway), vertical (heave) and gravity (tilt).
  • Max Output (%) — maximum belt force (red preview line).
  • Resting Point — the pulley's idle position, allowing negative travel (cyan line).
  • Braking curve / strength — deceleration force profile (blue line).
  • Cornering curve / strength — turning force profile (green line).
  • Vertical strength — bumps and elevation changes (yellow line).

Wind effect

A speed-based load layered on top of telemetry. Set resting power, min speed, min power, power and a shaping curve, and enable it per car. The graph previews power against speed.

Wind tab: resting power, min speed, min power, power, curve and a power-vs-speed graph
Wind tuning — enable per car and shape the power-vs-speed curve.

10G-force directions

  • Surge (front–back) — decelerating tightens both belts; accelerating loosens both.
  • Sway (left–right) — a left turn tightens the right belt; a right turn tightens the left.
  • Heave (up–down) — downward motion tightens both; upward loosens both.

11Motor calibration

  • Start Angle — the zero-G-force position (degrees).
  • End Angle — the maximum-G-force position; 80–100° works well.
  • Inverted — reverses the motor's rotation direction.
  • Test Force — applies a set G-force so you can check the feel.

Use the Testing & Telemetry window to sweep each effect and watch live motor output and left/right belt force before you drive.

Testing and Telemetry window: effect sweeps, motor output graph and live left/right belt force
Sweep surge, sway and heave, and watch live left/right output. ABS-aware.

12Sample settings (Mazda MX-5)

SettingValue
Max G-force multiplier2.0
Max power100%
Braking curve0.95 (near-linear)
Cornering strength10.7
Vertical strength1
ABS strength23 (enabled)

Treat these as a starting point and tune to taste for each car.

13Notes & safety

  • Some motor noise is normal for gear-driven servos.
  • Motor voltage is adjustable via the power-supply potentiometer (roughly 11–13V).
  • Keep the power-supply switch within the driver's reach for an emergency cut-off.
Safety This device applies real force across your body. Make sure you can quickly release or power it down, and start testing at low force settings.