DYI: using Thrustmaster wheels with QR and working buttons on DD wheelbase like VRS DirectForce Pro / MiGE 130ST

Combined.jpg


I’m using Thrustmaster wheels for years. Until recently on a T300 wheelbase, but now I have moved on to a Virtual Racing School DirectForce Pro direct drive wheelbase. A direct drive wheelbase is quite an expense, I did not want to buy new wheels as well. Since I had already added a quick release to my Thrustmaster wheels I was looking for a way to reuse these on the VRS DirectForce Pro, with working buttons. A few guys figured out parts of my project:

I have done the last bit:
  • Figuring out how to connect the Sparkfun Pro Micro to a female 6 pin mini-DIN connector.
  • Enhanced Noel’s Arduino code by adding support for hot plugging Thrustmaster R383, F1 and Ferrari 599xx Evo wheels. It detects which wheel is plugged in and maps the corresponding buttons.
  • Added support for the Thrustmaster F1 wheel. This took me a few days since I had a lot of timing issues with this wheel. Maybe Thrustmaster is using different chips inside the wheel, I don’t know, but I managed to solve it in the end.
  • Converting all button numbers on these wheels to the standard Thrustmaster button numbering, this makes swapping wheels easier. All buttons are working on the wheels mentioned.
Attached you will find the Sparkfun Pro Micro code and a construction manual to make it all work.

Rename TMwheels.ino.txt to TMwheels.ino.

March 21 2022: manual updated to version 1.1, see first post below.

June 2022: addendum - alternative to the 3D printed steering shaft, see post #3 below.

October 2022: tiny bug fixed in the Arduino code, 'button pressed' was sent continuously over USB as long as a button was pressed (sending 'button pressed' once is enough).

November 2023: if you experience a bit of play in the wheel or hear clicks while turning the wheel at high FFB forces, see this post how to fix that.

Have fun!

Insert Coin
 

Attachments

  • TM wheels with QR on DD VRS DFP.pdf
    1.7 MB · Views: 45
  • TMwheels.ino.txt
    10.9 KB · Views: 28
Last edited:
Manual updated to version 1.1

Improved the design of the adapter:
1. 5 bolts instead of 3. The original design didn’t have a bolt at one side. I have managed to squeeze in 2 more bolts, which wasn’t easy: I had to prevent loss of material. It won’t win a beauty contest, but the two adapters are now firmly attached to each other.
2. Added an interlock to the design of the adapters. Previously the adapters were pushed together on a flat surface, which, after some time of use, started to shift and due to the movement between the two adapters it caused the bolts to loosen. The interlock prevents this from happening.
3. Larger tolerances for the shaft, keyway and nuts.
4. Removed the unused holes in the QD JA adapter.
Use of other PLA filament: 3DJake ecoPLA is much stronger (70 MPa) than Extrudr NX-2 (47 MPa). I didn’t have broken parts though, but 3DJake ecoPLA is a better choice for this.
 
Addendum for those of you who do not trust a fully 3D printed shaft and want a metal solution instead of the 3D printed steering shaft.

20220604_164348.jpg


20220604_160616.jpg

20220604_162412.jpg


20220604_160538.jpg


The steering shaft is made of metal parts, with 3D printed parts ‘sandwiched’ between metal parts. A 3D printed inner shaft is made for the coiled cable + plug which rests on the SRC quick release and is mounted with bolts between de Chinese quick release and the hollow spacer. The metal parts carry all the load, the 3D printed inner shaft is only to support the Thrustmaster QR plug.

See the attached manual.
 

Attachments

  • Metal shaft with Quick Release for Thrustmaster wheels.pdf
    2.5 MB · Views: 19
I have found a tiny bug in the Arduino code: 'button pressed' was sent continuously over USB as long as a button was pressed. Sending 'button pressed' once is enough.

I have uploaded version 1.01 of the Arduino code in the first post. Only the part under " // deal with the buttons first" has changed.
 
View attachment 1114198

I’m using Thrustmaster wheels for years. Until recently on a T300 wheelbase, but now I have moved on to a Virtual Racing School DirectForce Pro direct drive wheelbase. A direct drive wheelbase is quite an expense, I did not want to buy new wheels as well. Since I had already added a quick release to my Thrustmaster wheels I was looking for a way to reuse these on the VRS DirectForce Pro, with working buttons. A few guys figured out parts of my project:

I have done the last bit:
  • Figuring out how to connect the Sparkfun Pro Micro to a female 6 pin mini-DIN connector.
  • Enhanced Noel’s Arduino code by adding support for hot plugging Thrustmaster R383, F1 and Ferrari 599xx Evo wheels. It detects which wheel is plugged in and maps the corresponding buttons.
  • Added support for the Thrustmaster F1 wheel. This took me a few days since I had a lot of timing issues with this wheel. Maybe Thrustmaster is using different chips inside the wheel, I don’t know, but I managed to solve it in the end.
  • Converting all button numbers on these wheels to the standard Thrustmaster button numbering, this makes swapping wheels easier. All buttons are working on the wheels mentioned.
Attached you will find the Sparkfun Pro Micro code and a construction manual to make it all work.

Rename TMwheels.ino.txt to TMwheels.ino.

March 21 2022: manual updated to version 1.1, see first post below.

June 2022: addendum - alternative to the 3D printed steering shaft, see post #3 below.

October 2022: tiny bug fixed in the Arduino code, 'button pressed' was sent continuously over USB as long as a button was pressed (sending 'button pressed' once is enough).

Have fun!

Insert Coin
would you be able to code in sf1000? omg that would be amazing even with no screen just for buttons
 
would it gelp if i took it appart and sent pics? :) would be crazy to add SF100 to all those who switched to DD :) i havent moded my other TM wheels but i cant wait to use your guide , thank you so much
A picture doesn't help, I definitely need the wheel itself to test which bit is flipped when a button is pressed.
 
Everything works great sorry I mixed up wires lol I’m not using same board I’m using regular cheap arduino micro and all the rims work , haven’t tried sf1000 but so far sparco p310 , 599fxx work like a dream , might make them Bluetooth :) is there a way to learn how to check pins and stuff or is it way way complicated , would be sick to get sf1000 working also new 488 wheel coming out :)
 
Wiring should be the same for the SF1000.

Change the debugging flag in the code from false to true (line 90). Connect a terminal program (Putty or TeraTerm for example) to the COM-port of the Sparkfun Pro Micro and you should see the bits flying by. Set the window width (no. of characters) high enough so you can see all characters on one line, that makes it easier to read.
And FYI: https://www.racedepartment.com/thre...irectforce-pro-mige-130st.220278/post-3648157
 
Thank you , that worker , now i need to understand the bits and what to change per wheel , is there a good read i can study from? THANK YOU!!!!!
 
F1 works but the two side rotary diles pickup only when you spin them fast lol , anything i can do to make the register each click?
 
F1 works but the two side rotary diles pickup only when you spin them fast lol , anything i can do to make the register each click?
The rotary encoders send very short pulses and some of them get lost, it's a known issue. It is a timing problem and a tradeoff between reliable button presses and fast rotary response: I rather have reliable buttons.
 
If you experience a bit of play when turning the wheel and/or hear 'clicks' in the wheel at high FFB forces, there is a great chance the wheel hub inside the wheel is 'wiggling'. It took me a long time to find out where this problem came from. It is relatively easily fixed. Remove the quick release from the wheel and check if you can move this round part a bit left and right:
wiggle.png


If this is the case, the poles on the hub are a bit too thin. The diameter of the poles should match the holes exactly:
poles and holes.png


Just put some tape on the poles until you can just put the hub back in. It should be a tight fit.
tape.png


Reassemble the wheel and the problem is gone.
 
Back