srt p1 seat belt tensioner cover

Sim Racing SRT P1 Seat Belt Tensioner

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:

  1. Presentation
  2. Caracteristics
  3. Shopping list
  4. Control Box
  5. 3D files
  6. Wiring
  7. Driver settings
  8. Arduino code and FlyPT profile
  9. Assembly
  10. 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. 1 x 80st-M02430 servo motor with a AASD15a driver and shielded cables
  2. 1 x 80st mounting bracket
  3. 1 x GX12 4 pin connector
  4. 1 x Câble 4 fils, 22AWG
  5. 1 x Shaft coupler
  6. 1 x bicycle brake cable

It remains then to order :

  1. Arduino Due (Amazon, I haven’t tested a clone).
  2. 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).
  3. 0.1kg of pla to print the drum.
  4. 4 x DIN912 M3x5mm
  5. 4 x DIN912 M6x20mm with nuts
  6. 2 x DIN912 M6x25mm
  7. 2 x DIN7991 M6x25mm
  8. 1 x DIN7991 M5x40mm

4) Control box

Standard Control Box Due
Smart Control Box Due
(exclusivité Patreon)
Smart Control Box Uno
(exclusivité Patreon)
Arduino DueArduino DueArduino Uno R3
FlyPTFlyPTSimhub
– Preloading adjustement
– Gain adjustement
– Switch Power
– Switch Accel
– Switch frein
– Preloading adjustement
– Gain adjustement
– Switch Power
– Switch Accel
– Switch frein
3D filesComplete documentationBêta

5) 3D Files

All the 3D files are available on the download page. 3D prints can be ordered from the Etsy shop.

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).

6) 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.

ArduinoDB25 connector
5V9
GND (ground)10/13
A06
DAC225
Created with GIMP
wiring db25 connector

7) 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!

ParameterValueExplanationComment
Pn0014Select the right motor, in this case an 80st-M02430No need to use a more powerful engine
Pn0020Motor control mode0 : torque mode : we send a torque command
Pn0030Activate/deactivate the driver0: the driver is turned on by the arduino. 1: the driver is always on
Pn18930Gain: the force of the motorYou can increase the value once the installation is fully functional.
Pn190-600Offset : 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 youThis parameter also allows to add a small preload.
Pn1910Allows to reverse the direction of rotation0 : When facing the engine, counterclockwise

The last three parameters are taken into account by the driver without restarting.

8) 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.

install the library

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 !

9) 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.

10) 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.

filter on flypt

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

gain in flypt
I've been passionate about cars since I was a kid! I learned the multiple variations of the Skyline R34 through the Gran Tursimo series, until I discovered GTR2 at the wheel of a keyboard. A few years later, I plunged back into Sim Racing with a G27 which made me enter the DIY world. Always looking for an immersion out of reach in reality, I develop projects that I take care to make accessible to any 3D printer owner!
Posts created 102

17 thoughts on “Sim Racing SRT P1 Seat Belt Tensioner

  1. 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

  2. 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?

      1. Hi there, great project! I’m running a rig with GT7 on a PS5 with simhub for wind and shakers. Can I integrate this tensioner with my setup?
        Thanks

  3. That would be great! Another thought: to increase the safety of the system (eg if children or others who are unfaniliar want to use it) it might make sense to replace the current bike wire with a strong spring pulling down and have the the motor and cable pulling up instead of down on the belt attachment. That way one could set the max bearable (and therefore safe) tension by tightening the belts as much as you want when you get into the rig. The servo would then relieve tension instead of add it (ie the input signal to the motor would be reversed to increase force when decreasing G load).

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top