3D Printed DIY Video Game Racing Set Up

by Hamza Bandarkar in Workshop > 3D Printing

2836 Views, 23 Favorites, 0 Comments

3D Printed DIY Video Game Racing Set Up

IMG-4189.jpg

While racing games are fun, they become at least triple the fun when you have a steering wheel instead of a mouse and keyboard! We built a DIY steering wheel that can be used for your favorite racing sims. In our case, you'll watch as we make a steering wheel and pedals set up for my personal favorite racing simulator, Asseto Corsa!

Our names are Hamza Bandarkar and Vikram Kanthadai and we're both seniors who go to Irvington High School. We built this project for our Principles of Engineering class led by Ms. Berbawy. Vikram is a big F1 racing fan, and we decided that making a controller would be a fun and challenging project.

One thing to mention is that while this setup utilizes both a steering wheel and pedals if you're only looking for a steering wheel controller, you don't need the pedals and can bind the throttle and the brakes to the wheel itself. The pedals are our personal preference and we recommend them because they work really well with the whole setup.

Supplies

20mm Pillow Block Bearing (x6)

Rotary Encoder (x5)

Arduino Leonardo

M8 Nuts

M8 Screws

M3 Nut/Screw/Washer Pack

Suction Cups (x4)

Wires

Electrical Tape

Heat Shrink

PLA filament

PETG filament

Buttons (x8)

Spring Damper System

M20 Threaded Rod

M20 Hex Nuts

Limit Switch

Soldering Tools

Prusa Mini

Prusa Mk3s+

LulzBot Cura

CAD

Screenshot 2022-05-11 120237.png
axle.png
3d print wheel.png
wheel base.png
stationary_wheel.png
encoderholder.png
wheelbottom.png
Screenshot 2022-05-11 161007.png

This design will consist of two main assemblies: the Steering Wheel and the Pedal Base. All assemblies were created in Fusion 360.

The wooden parts and the 3d printed parts have been distinguished clearly when designing, and have labels that will help with the identification of the parts, as some of them look quite similar.

The following parts have been created in CAD and added to their respective assemblies:

Steering Wheel:

Steering Wheel Handles

Steering Wheel Brackets

Steering Wheel Body

Axle

Potentiometer Holder

The top cover of the steering wheel

Support walls for the steering wheel (2 total)

Pedals + Pedal Base

Pedals

Throttle Base

Brake Base

Potentiometer Holder

Throttle and Brake Holder

Rod Holder

The base for both the brake and the throttle.

The brake and the throttle (4 parts total)

The linkage pieces for the brake and throttle to the potentiometers (2 total)


Various other parts such as the potentiometers, buttons, and bearings have also been modeled to assist with the creation of the design.

3D Printing

IMG_4610.png
doneIMG-4034.jpg
IMG-4040.jpg
IMG-4611 (1).jpg
IMG-4327.jpg
Screenshot 2022-03-15 125217.png
pedalholder.jpg
Screenshot 2022-03-15 123203.png
IMG_4466.jpg

One thing to mention is that while this setup utilizes both a steering wheel and pedals if you're looking for a steering wheel controller only, you don't need the pedals, especially if you already have pre-bought ones from Fanatec. The pedals we're going to make use of the same principles they do. The pedals we make are our personal preference and we recommend them because they work really well with the whole setup.


The first step in this entire process is to 3D print the necessary parts. The parts we will be printing include:

Steering Wheel:

Steering Wheel Handles

Steering Wheel Brackets

Steering Wheel Body

Axle

Potentiometer Holder

Pedals + Pedal Base

Pedals

Throttle Base

Brake Base

Potentiometer Holder

Throttle and Brake Holder

Rod Holder

While it may seem like a lot, many of these parts are very small and take up a little printing material only. All these parts are printed in PETG, with a few exceptions. We recommend printing your test prints in PLA and your final prints in PETG. You can print these parts in the color of your choice, and make them as aesthetically pleasing as you like!


Here's a brief explanation of what each part will be used for.

Steering Wheel Prints

Steering Wheel Handles - These will attach to the top of the steering wheel body with a screw.

Steering Wheel Brackets - These brackets will be used to hold the two pieces of wood that hold the steering wheel up. For now, you can keep these aside.

Steering Wheel Body - The body will contain the two limit switches that will be used as shifters for our wheel. It will also be used to attach the handles and the wood covering with the buttons.

Axle - The axle will be connected to our potentiometer and will help relay the input to the Arduino.

Potentiometer Holder - This will hold the potentiometer in place and will relay the input of the turning wheel.

Pedal Prints

We suggest completing the assembly of the wheel before you start the assembly of the pedals and pedal base.

Pedals - These two rectangular 3d prints will be attached to your wood supports. This allows you more space for your foot to rest on and press down on.

Throttle and Brake Base - These will be attached to the base of your racing set-up and will hold the potentiometers and spring systems in place.

Potentiometer Holders - These will hold the potentiometers inside to ensure their stability and security.

Rod Holder - You will use your m20 threaded rod here to attach both the throttle and brakes together. The rod will function as the axis for your pedals and this 3d print is designed to keep it in place.

Woodworking

248152183_2843207095978417_8727561239423863905_n.png
272197612_3151401375128113_7875890533044957154_n.jpg
doneIMG-4038.jpg
IMG_4245.png
IMG_4243.png
IMG_4405.png

This project also includes some woodworking. The required materials are:


Birch Plywood (12 x 24 inches) (1/4 inch thick)

Laser Cutter

*While a laser cutter is not required, we used one to cut our wood precisely without much waste. A circular saw and drill can still get the job done.


We will use the laser cutter to cut the following parts out of wood:


The base for both the brake and the throttle.

The top cover of the steering wheel.

The brake and the throttle (4 parts total)

The connectors for the brake and throttle to the potentiometers (2 total)

Support walls for the steering wheel (2 total)


We customized our wheels with logos that we designed in Adoble Illustrator. We also attached the settings for our laser cutter above.

Assembly

IMG_4252.png
IMG-4370.jpg
IMG-4371.jpg
IMG_4474.jpg

Now that all the parts are printed and laser-cut, it's time for my favorite part, the assembly. We're going to start with assembling the steering wheel. You will need your M8 screws and a screwdriver is recommended.


Steering Wheel

First, screw the two limit switches into the rectangular intrusions made inside the steering wheel box.


Then, attach the steering wheel top to the steering wheel box. The holes in the wood should line up with the holes on the box. Add the handles on top of the wood using the shape of the laser cut as your guide. Screw it until it's secure, but be sure not to overdo it or the filament can crack.


Next, screw the pillow block bearings on the insides of the front and back walls. The axle will go through here. Screw the base of the axle onto the back of the steering wheel box.

NOTE: The axle must be screwed in a way that the flat side at the end of the axle is the one on the bottom. This is to ensure that it lines up with the potentiometer.


Screw the two limit switches into the rectangular intrusions made inside the steering wheel box. Attach the Arduino to the back of the front wall. You do NOT need a Breadboard for this project.


Lastly, screw the potentiometer holder onto the back steering wheel wall. Place the potentiometer inside and make sure the hole is lined up with the axle. The potentiometer must start at the center position at rest, or else the steering wheel's inputs will be all off.


Pedals

Because this project is essentially a two-part project, the pedals and pedal base will be assembled separately from the wheel.

First, screw on the throttle and brake holder to the top of the base. Attach the arms of the pedals together with the pedals themselves. Place them both in the pedal holders and thread the M20 rod through them.

Next, screw on the brake and throttle bases to the wood base across from their respective pedals. Screw on the potentiometer holder and attach the potentiometer. Connect the potentiometers to the pedals using the long and thin support arms. Screw them on tightly.

Wiring + Software

279602652_1418125792025118_4260001873321111466_n.png
IMG-4625.jpg
IMG-4624.jpg
IMG-4614 (1).jpg
IMG-4620 (1).jpg
IMG_4718.jpg


We recommend using an Arduino Leonardo for this project. When trying with other Arduinos like an Arduino Mega and Arduino Micro and we weren't getting proper inputs. Arduino Leonardo also has the clearest headers as well as USB connections. You CAN use other boards though, refer to the wiki for more information.

It's time to wire your project! With the help of a soldering iron connect all the buttons in the steering wheel together into one circuit. You can then connect each end to the Arduino. Then, solder the wiring onto the shifters inside the wheel and connect that to the Arduino as well. The last part of the wiring for the wheel is just attaching the cables to the potentiometer at the end of the axle and then connecting that to the Arduino as well.

For the pedal base, use stranded wires on both potentiometers. From there, you can connect the wires together and then connect them to the Arduino.


Now, for the software.

Download the MMjoy software. We recommend using the 2016 version as older versions sometimes have an error with inverting controls. Connect your set up to a Laptop/PC through USB. Following the pin setup given to you on the wiki, connect your buttons and axis to the MMjoy. I recommend watching this 20-minute video for more detailed and visual instructions. We will attach our layout below for your personal reference.

Start Racing

Screenshot 2022-05-06 092732.png
Screenshot 2022-05-06 092858.png
Assets Corsa Race
IMG-4778.jpg
IMG-4776.jpg
IMG-4774.jpg
IMG-4775.jpg

Go to your Windows settings and select "Set up USB game controllers" to double-check that the input is being received. Once you're done this, open up your game and connect your controller.


For Assetto Corsa, specifically, we loaded the game through the Content Manager and selected all the bindings as the ones on our setup. If it is configured properly, this step takes only a minute or two. Each game will have different methods of connecting the controller, so what we did in this step may not apply to you.


Once your settings are finalized, take your car out for a test run! If something needs fixing, you can always recalibrate it in the settings. After adjusting them until they're perfect, you're ready to start!


3..2..1..GO!



Check out our video (also above) on YouTube