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
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)
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
Downloads
CAD
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
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
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
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
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
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