The P1 belt tensioner allows you to feel positive and/or negative Gs in sim racing. It works with FlyPT. It’s a DIY project !
Want to support this project ? https://www.paypal.me/leboisVR?locale.x=en
Summary:
- Presentation
- Caracteristics
- Shopping list
- 3D files
- Wiring
- Driver settings
- Arduino code and FlyPT profile
- Assembly
- Additional adjustements
1) Presentation
What is surprising is the absence of latency and the strength, we even feel the kerbs!
The harness tensioner consists of a harness (4 or 5 points), an servo motor, and an arduino board connected to FlyPT.
The system is precise and reactive, it engages immediately, and we feel the difference of braking between a F1 and a basic car, we also feel the activation of the ABS. It’s the most satisfying solution to feel the G forces in Sim Racing.
This system may not allow to adjust the braking. However, we feel a direct link between the pressure applied on the pedal and the tightening of the belt.
2) Caracteristics
The motor pulls on a cable that wraps around a reel. The cable pulls the belt backwards, which gives the impression of being thrown forward.
There is a casing that is mounted around the reel for safety.
3) Shopping list
Industry&CNC offer a kit (fast shipping, slow shipping) that includes :
- 1 x 80st-M02430 servo motor with a AASD15a driver and shielded cables
- 1 x 80st mounting bracket
- 1 x GX12 4 pin connector
- 1 x Câble 4 fils, 22AWG
- 1 x Shaft coupler
- 1 x bicycle brake cable
It remains then to order :
- Arduino Due (Amazon, I haven’t tested a clone).
- A 4 points seat belt (I tested 5 points, but as a man, I didn’t find it pleasant, you know what I mean?) (Aliexpress).
- 0.1kg of pla to print the drum.
- 4 x DIN912 M3x5mm
- 4 x DIN912 M6x20mm with nuts
- 2 x DIN912 M6x25mm
- 2 x DIN7991 M5x25mm
- 1 x DIN7991 M5x40mm
4) 3D Files
All the 3D files are available on Thingiverse :
The control box for the Arduino Due (if you need other mounting solution, please contact me). The Smart Control Box documentation is available here.
The rollers (this system depends a lot on the seat you have, so for the moment, I don’t include the components in the shopping list of this project).
5) Wiring
NOTE: The harness tensioner can be dangerous. At full power, it is used a lot around the collarbones. Therefore, an emergency stop button should be provided.
Make all connections without power.
Perform all tests without any parts on the motor shaft.
Once the tests are done, and the belt is installed, perform the tests in 10% power increments, always being able to cut the power.
The arduino is connected to the motor driver via the 22AWG cable. The control box contains the arduino and a GX12 aviation connector.
Arduino | DB25 connector |
5V | 9 |
GND (ground) | 10/13 |
A0 | 6 |
DAC2 | 25 |


6) Driver settings
Drivers similar to AASD have 200 parameters, fortunately you don’t need to change them all.
The drivers manual is available here. This video shows how to set the parameters.
I highly recommend testing the engine operation via flypt with the engine disassembled!
Parameter | Value | Explanation | Comment |
Pn001 | 4 | Select the right motor, in this case an 80st-M02430 | No need to use a more powerful engine |
Pn002 | 0 | Motor control mode | 0 : torque mode : we send a torque command |
Pn003 | 0 | Activate/deactivate the driver | 0: the driver is turned on by the arduino. 1: the driver is always on |
Pn189 | 30 | Gain: the force of the motor | You can increase the value once the installation is fully functional. |
Pn190 | -600 | Offset : allows to immobilize the motor on the value 0. This value must be calibrated on your installation, my value may not be the right one for you | This parameter also allows to add a small preload. |
Pn191 | 0 | Allows to reverse the direction of rotation | 0 : When facing the engine, counterclockwise |
The last three parameters are taken into account by the driver without restarting.
7) Arduino code and FLYPT profile
You will need to add the library to manage the Arduino due: Tools > Board type > Board manager > type Due in the search bar and install the “Arduino SAM Boards” package. Then restart the IDE.

Before using the seat belt tensioner, the offset (Pn190) must be calibrated. Flash this test code with Arduino Due (Native USB port) selected: the driver should normally be active (it emits a very slight high pitched noise). If the motor is running by itself, change the parameter Pn190 until the motor is not running anymore, or just pulling very very very lightly on the belt (in my case, I am at -1600).
You can now flash the final code available here, still selecting Arduino Due (Native USB port).
Open the FlyPT profile. Click on Output::Serial > Update Ports, then select the Arduino port. Click on “connect” to connect the Arduino
Then if no source is connected, you can act directly on the slider (blue in this case) in “Simple Direct” to test the tensioner.
Once everything is in place, click on any source, and connect it. For some sources, you will need to make some modifications to the game. More details on the FlyPT website.
To adjust the force, you can act directly on the Pn189 parameter. The smart control box also allows to adjust the gain on the fly !
8) Assembly
The step file is available on Thingiverse if you want to check the full assembly. In the following video we are going to see how to assemble step by step the seat belt tensioner.
9) Additionnal adjustements
A mistake in the settings can cause the system to fail and therefore be dangerous. Until you are used to it, always be careful, able to turn off the power or assisted by another person.
There are three “simple direct”: Accel, Brake, Both. Depending on what you want to choose, change the code in the “ouput string” field of the connect window:



In each “simple direct”, you can adjust the gain, and the filtering:
The higher the Emalp value, the smoother it is (it filters details). I recommend values between 10 and 100.

The higher the gain, the stronger the tensioner serves. I obviously recommend to start with a low gain. Recommended value: between 10 and 20.

Hello Lebois, can you tell if the motor is 220v if so can it be switched to 120v which is what we have here in Canada. I really like the seat belt tensioner kit but if it is only available in 220v that would be a deal breaker, let me know thanks.
Tony
Hi, well those drivers aren’t made to be driven at 110V in theory. You can use a very expensive 110v to 220v converter, or try at your own risk the following solutions here : https://www.racedepartment.com/threads/thanos-amc-aasd15a-6axis-servo-motion-controller.168360/page-12#post-3020752
Hi. What is the benefit compared to the original one with DC motor and PWM board?
It is explained in the vidéo 🙂
It is mostly more reliable.
Hi Lebois, I want try to integrate it in a esp32, just for se if I can add wifi or bt settings. can I ask you .ino file, or at least a part of general code?
here : https://lebois-racing.fr/srt-p1-seat-belt-tensioner#arduino-flypt