Skip to content
Menu
İlge İpek
İlge İpek
Featured Video Play Icon

900 Degrees DIY Steering Wheel for Sim Racing

Posted on October 4, 2022October 25, 2022

Hey maker! In todays blog post, we will be building one of the most crucial parts of a sim racing setup, a DIY Steering Wheel. The sim racing steering wheel we are going to build will be able to move 900 degrees and will be compatible with many driving games like iRacing, Dirt Rally, Asetto Corsa, Euro Truck Simulator 2 and more! So without losing anymore time, lets start building our own racing wheel.

Here is the video, you can watch now!

DIY Steering Wheel

Materials and Tools for Making DIY Steering Wheel

You can get materials for this project from my product lists on amazon: DIY steering wheel materials.

Electronics

  • Arduino Leonardo
  • 10K Potantiometer
  • Micro USB Cable
  • Copper Cable

Hardware

  • 2 x (150×300 mm) 4 mm Thick Plexiglass
  • 2 x Ball Bearing
  • 4 x 11 cm M8 Shear Connector
  • 1 x 15 cm M8 Shear Connector
  • 9 x M8 Fiber Nut
  • 22 x M8 Nut
  • 19 x M8 Washer
  • 4 x M5x16 mm Hex Socket Head Bolt
  • 4 x M5 Fiber Nut
  • 8 x M3x6 mm Bolt
  • 4 x 10 mm Female-Female Spacer
  • 2 x M4x20 mm Hex Socket Head Bolt
  • 2 x M4 Nut
  • Steering Wheel
  • 3D Parts: https://bit.ly/2Tsj9gd

Software

The software part of this project is not that hard, thanks to the software called MMJoy. MMJoy is a software designed for hobbyists and sim racing enthusiast. It lets our steering wheel interface with the driving games without much configuration and effort. Thus, you don’t need much coding and software knowledge to build this project.

Let’s start by downloading MMJoy and extracting the .zip file to our computer from the link below.

https://github.com/MMjoy/mmjoy_en

MMJoy Software GitHub Page

The necessary software is inside the “firmware and software release” file. Extract the “MMJoy2” file to your computer. This file includes all the necessary files like firmwares, images, softwares.

To proceed with the setup, launch the MMJoySetup application which is inside the “MMJoy2” file.

Launching the MMJoy Software

The first step is uploading the firmware to our Arduino Leonardo card. We will do the configuration from the section indicated by the red rectangle.

Choosing the Necessary COnfiguraitons in the MMJoy Software

In the “Firmware file” part, we are going to choose the firmware we will upload. The file we need to choose is inside the “MMJoy2/Firmware” file. There are 3 .hex files. We need to choose the one with the “ATMEGA32U4”, since we are using Arduino Leonardo.

Picking the Right Firmware File

After choosing the firmware file, we need to choose “atmega32u4” for the “Chip, “Arduino” for the “Bootloader Type”.

Settings for the Firmware Section

In the port selection part, you will encounter different ports after you click “COM ports list” button, but we are not going to choose one yet. Here is why:

In order to upload firmware to our Arduino Leonardo, we need to force it to ”bootloader” mode. When the board is in bootloader mode, the port changes. Thus, we need to determine the port the board is connected to, when it is bootloader mode.

In the MMJoy2 software, click on “Device Management and choose “Ports” on the opened window. Next, press the button on the Arduino Leonardo board twice to force the board to “bootloader” mode. Then, device manager will reload and we will be able to the port of our Arduino Leonardo board under the “Ports” section.

Now that we know which COM port our board is connected to, we can type it to the “Port” field in the MMJoy2 software. For instance, if you see COM6 on device manager, type COM6 in the “Ports” field.

Now it is time to upload the bootloader to our board. Again, double click the button on Arduino Leonardo and press “Upload Firmware” button on MMJoy2. Keep in mind that Arduino Leonarda stays in bootloader mode for 8 seconds and you should do the upload in that time gap.

Uploading the Firmware

If you see an upload screen like the one below, it means that the upload is successfully done. It is time to do the necessary configurations for the potentiometers.

Success Message After Upload

MMJoy lets us play with many hardware components and configure them as we like. In our project we only use a single potentiometer so the set up process will be quiet straightforward.

After you upload the firmware, you’ll see that the device list on the top left will change and from now on our computer will see the Arduino Leonardo board as a joystick. We need to choose it from the device list.

Selecting the Right Device from Device List

Then, we need to visit the “Joystick Axes” section and do some settings on the areas indicated in the image below.

Configuring the Device

Our potantiometer is connected to the A0 pin on our Arduino Leonardo and A0 pin is connected to the PF7 of the MCU. Therefore, we pick F7 for the “MCU port”. For the “Source”, we pick “IntSensor” and for the “Assignment” we pick “X”. We pick 10 as the “Precision” setting because Arduino Leonardo has a 10-bit Analog Digital Converter (ADC). Finally, we press “Save sets to device” to upload the settings to our board.

Saving the Configuration

After all these configurations, our hardware is ready to be used as a DIY Steering Wheel.

Schematics

The electronic circuit of this project is very simple. We are using a potentiometer in order to transfer turning angle into electrical signal. In addition, our Arduino Leonardo board will read these signals and communicate with our PC over USB. You can check the schematic below while building it yourself.

DIY Steering Wheel Circuit Schematic

Making the Mechanic Parts

Now that the electrical and software side of the project is ready, it is time to complete the mechanical build and finalize our DIY steering wheel.

3D Files

To build this project, we need several 3D printed parts. To download them, you can visit this GitHub repo which has the necessary 3D parts. You can either print them on your own machines or use online services to have them printed for you.

Assemble

Here are several pictures that will guide in the assembly projects. If you need more visuals while building you own steering wheel, you can check out the 900 Degrees DIY Steering Wheel video which shows the whole building process.

Assembly of the Steering Wheel
Assembly of the Back Panel
Assembly of the Gears

After the mechanical assembly process, you very own DIY Steering Wheel is ready! You can now enjoy it in games like iRacing, Dirt Rally, Asetto Corsa, Euro Truck Simulator 2 and more. Don’t forget to share your thaughts about this project in the comments section.

DIY Sim Racing Pedals

In this blog post, we learned how to build our own steering wheel which is a very crucial part of a sim racing setup. Next up, you can check out this DIY Sim Racing Pedals video to add pedals to your system and make it better.

FAQ

Why is Arduino Leonardo being used in Sim Racing System instead of Arduino Uno?

Arduino Leonardo has Atmega32u4 chip while Arduino Uno uses Atmega328. This creates an important difference between these boards since Atmega32u4 based boards can communicate with computers natively just like a keyboard/mouse. Thanks to this functionality, Arduino Leonardo is a common choice for projects like sim racing systems. However, you can use other boards which feature the same chip (Atmega32u4) like Arduino Micro.

What is MMJoy?

MMJoy is a piece of software spesifically designed for creation or modification of game controllers. It lets you build your own game controllers that can communicate with your PC without worrying about coding and complicated configurations. It is commonly used by sim racing hobbyist and enthusiast since it makes building simulation hardware easier.

Post Views: 5,317

Leave a Reply Cancel reply

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

What I Make?

I make electronic DIY things. I’m content creator about all DIY projects. Sim racing equipments, steering wheel, pedals, handbrake, RC cars, boats, drones and more. Follow me on that platforms.

  • YouTube
  • Amazon
  • TikTok
  • Instagram
  • Pinterest

For Collaborations

contact@ilgeipek.com

  • YouTube
  • Amazon
  • TikTok
  • Instagram
  • Pinterest
©2023 İlge İpek | Powered by SuperbThemes & WordPress