Although you are probably able to make a nice button plate like I did. This is not a finished project. There are still some small design flaws and things that I would do differently if I would make a new design. I just shared the design in the hope it would be useful to others. When there are question I will always try to answer them in the comments. But just realize I made this in my free time and shared it with the community as is.
The button plate is designed to be compatible with a (specific) 320mm wheel which I bought on Aliexpress. But it might fit other wheels as well of course. I made this design to use the wheel on a
Thrustmaster T300 base OSW direct drive base for simracing, but you could probably (with some modifications) use it on another base or even a real car.
This thing only includes the button plate itself. To make a fully functional wheel including magnetic paddle shifters and Thrustmaster adapter you need the following things as well:
Magnetic Paddleshift shifters for simracing (logitech)
Thrustmaster T500, TX, T300 Wheeladapter
Update September 2018
In the meantime I moved from the Trustmaster base to a OSW base. So instead of the Trustmaster adapter I'm using a quick release system now. Furthermore I have added two adapters to create a bit more room between the steering wheel and the button plate, as well as cover the horn. I also bought a new steering wheel with a flat bottom, I can confirm that the button plate also fits this steering wheel.
Update February 2019
I get a lot of question regarding the electronics. As of present I don't have a complete guide on how to do everything. All the available information is the the two included Arduino projects:
- For Thrustmaster builds see: t300_f1_wheel_emulator_v1.ino
- For USB builds see:
For the Thrustmaster builds, a good source is http://rr-m.org/blog/. For general USB HID builds the Arduino Joystick library can be really helpfull: https://github.com/MHeironimus/ArduinoJoystickLibrary. There are of course also many tutorial on this library.
In a perfect world with infinite amounts of free time I would write a nice how to guide. In reality I'm not sure if this is going to happen anytime soon.
Update June 2019
Upon many request I (tried) to make a wiring scheme for the electronics. Let me know if that helps and if things are unclear or if I made a mistake somewhere.
Update October 2019
I see many people struggling with connecting the SS pin when using an Arduino Pro Micro. I have not tested this myself, but I guess its much easier to use an Arduino Nano when you're not planning on converting your button plate to USB HID later on.
This work is licenced using the CC Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) licence which restrictes commercial use. With the only exception that I gave https://simracerspics.com permission to manufacture and sell the buttonplate to a small group of simracers. I believe this is not actual commercial use since they only sell to there members with no real profit margin. I just wanted to make this clear since I got some questions regarding this issue.
I used black PETG, but PLA or other material is probably fine as well.
- 1x Arduino
- Pro Micro (I used a 16MHz 5V version, but a 3.3V would be better)
- Nano can be used for Thrustmaster base (I have not tested this)
- 12x 12mm momentary push button
- 4x Rotatory encoder EC11 20mm shaft length
- 1x Black carbon fiber vinyl wrap
- 6x 3.5x13mm screws (back of button plate)
- Soldering iron
- small files
Since the design is still a work in progress I did not think through the scenario where you want a direct USB connection (instead of a connection to the Thrustmaster base). I did leave a hole at the bottom, but the hole was too small for any plug I could think of. What I did myself is; enlarge the hole to 12mm using a drill and use a GX12 4 pin aviation plug. Next I cut a coiled USB cable and fitted the female end of the GX12 plug.
Arduino Pro Micro
12mm momentary push button
Rotatory encoder EC11 20mm shaft length