• Thu. May 1st, 2025

DIY Game Controllers

Homemade hardware to take your gaming experience to the next level!

My DIY Direct Drive Steering Wheel.
My 3/4 finished Direct Drive Steering wheel.

Introduction

In this post I’m going to attempt to walk you through creating your very own DIY direct drive steering wheel.

If you have been sim racing for any amount of time, I’m sure you have heard of Direct Drive steering wheels. They are all the rage as they are supposed to enhance the driving experience by transferring forces instantaneously from the sim to you without the loss of fidelity one incurs when using a wheel that is either belt driven or geared.

If you know one other thing about direct drive wheels, I’m sure you know is that they are expensive. A “cheap” wheelbase is going to set you back $350 minimum. That is just the base with no rim, pedals, or anything else to make it functional. In all likelihood you are looking at $650+ just to get your foot in the door with a functional unit from a company that probably will still be around in a couple years if you need service or wish to purchase addons.

I’m going to walk you through getting started with a DIY direct drive racing wheel which I constructed from nothing for under $100! That’s under a hundred dollars in 2025 money! Sound good? Let’s get started!

Materials

Here is what you are going to need:

  1. Old hoverboard $5
  2. XDESC v4.2 24V Single drive BLDC Motor Controller $30
  3. AB Two Phase Rotary Encoder (preferably 1000p/r) $13
  4. Go Kart Steering Wheel $15
  5. 12V 20A Power Supply $10
  6. FFBeast Firmware $0 ($10 to unlock full functionality)

That is $78 for a functional DIY direct drive steering wheel. In my case I’m currently using a lower amperage power supply I had laying around and I scavenged the wheel from my old TSW2 (I know sacrilege!) so my build at present has set me back a whole $48!

Getting Started Tear Down Hoverboard

Removing the outer shell.

Hoverboard before disassembly.

Removing the circuit board and hub motor.

The first thing we are going to have to do is to remove the brushless hub motor from this hoverboard. On the backside there are a number of Phillips screws. Remove all of them and the two halves of the hoverboard shell should separate exposing the motor and controller board.

Inside of a hoverboard before disassembly.

Go ahead and remove all of the wires from the circuit board, being careful not to damage or clip the 3 large wires coming from the hub motor. We will want them to be as long as possible for later. Once you have done that go ahead and remove the screws holding the circuit board inside of the housing, then remove and discard the circuit board.

There have been some attempts to reflash the microcontroller on the hoverboard control/driver boards. Consensus seems to be that they lack the precision measurement capabilities for our application. What position the wheel is in is irrelevant to the operation of a hoverboard where things like speed and RPM are of importance.

The hoverboards control board,

The wires you want to keep intact have the red arrows pointing towards them in the image above.

Remove the tire and the stator from hub motor.

Once you have the control board for the hoverboard removed, the next thing you’ll want to do is remove the tire off of the hub motor then pull the stator out from the hub motor. You’re going to want the whole thing including the wires and the half axle that the wires run through.

Hub motor with back removed,

When you have removed the complete hub motor unit from the hoverboard go ahead and remove the rear cover off of the hub motor. There should be a number of small phillips screws around the outer edge holding it to the rest of the motor. The cover is shown removed above on the right.

With the stator exposed as shown on the left in the picture above you are going to want to secure the outer motor casing somehow, then with both hands grab the half axle coming out the middle of the stator and pull it straight up. It probably won’t come easy the first time, and the half axle may be pressed into a bearing on the backside of the unit. Give it a good pull and it should come free.

This type of motor is what's known as an "outrunner" meaning that the whole outside of the motor is the part that rotates and inner part (the stator) where the axle and windings are at is the part that remains stationary.  It's the exact opposite of most brushed motors that you may be used to dealing with.

Preparing the stator and half axle

Once you have the stator removed go ahead and clip the zip tie bundling the wires together near the base of the half axle, as well as the small wires going to the circuit board. Not the larger wires! Pull the small group of wires up out of the center of the axle and discard them. Next carefully remove any other wires attaching the small circuit board to the stator, it should now be free. This circuit board works with the hall effect sensors embedded in the stator and is used to determine the speed and direction the motor is turning for the hoverboard. Neither of those functions is useful for our application and thus this board can be discarded.

Now you should have the stator with three thick wires running up the axle. One at a time pull them down and out of the half axle and move them out of the way. Be careful not to bend them back and forth too many times! At some point the magnet wire that they are attached to the stator with will break. If this happens this motor will be unusable, and you’ll have to try again with the other motor or search for a new donor hoverboard.

Stator with half axle drilled.

With the stator removed from the rest of the motor and three remaining wires secured out of the way you are going to have to drill a hole in the backside of the half axle. This hole needs to be large enough to fit the knob end of the encoder you purchased. This hole is where the encoder will be seated later on. If the hole is too large of off of center like mine would up, you can wrap some double-sided tape around the encoder shaft before seating it later.

Preparing the wheel hub.

Wheel hub with encoder hole drilled.

Set the stator aside for now and pick up the motor housing/wheel hub. This is the part that actually moves and should be lined on the inside with permanent magnets. Take care not to let any metal filings or anything small and magnetic get near the inside of the hub. If you do these will have to be cleared before reassembly! My hub as shown above had some sort of logo or raised design on the outside of the hub. This has to be removed and made flat to provide a good level seat for the encoder.

Before you start drilling in the next section take a few minutes and clean your drill bits and drill press of any loose bits of metal that may be floating around.  If you don't, they are going to find their way inside the hub and mated to the permanent magnets inside.  If this happens it is critical that they all are removed before reassembly!

When the outside of the hub has been prepped go ahead and flip it over and drill a hole from the inside out right in the center of the hub. Next flip the hub over, take a larger or stepped drill bit and starting from the outside now enlarge the hole until you can see a bit of the inner race of the bearing on the inside of the hub as pictured above.

You may also want to drill 2 holes which you will later use to attach a mount for your steering wheel. This depends entirely upon what kind of mounting points you chosen wheel has and may be unnecessary.

Take a moment to count how many "pole pairs" your motor has.  To do this merely count how many magnets are inside of your wheel hub and divide by 2.  Make a note of this somewhere you won't lose it, this will be important later.
Inside of wheel hub with encoder shaft protruding through.
This motor has 15 pole pairs which is pretty standard for hoverboard motors.

Mounting the encoder.

With all of the holes drilled in the hub go ahead and test fit your encoder. Make sure that the shaft comes directly down the center of the hub as pictured above. Also ensure that the hole you drilled in the half axle is deep enough for all of the encoder shaft to enter.

If you’d like to you can use a mild adhesive to glue your encoder in place at this time. I elected not to do so at this time because I knew I would wind up removing it a few more times before the build was done. If you do decide to affix your encoder at this junction be sure to use something relatively weak like hot glue. I don’t think I actually had to remove my encoder after this, but retaining the ability to did make a few of the following steps easier/less of a hassle.

Test fitting the encoder in the wheel hub.

When this step is complete it will look something like this.

Mounting the ODrive.

Mounting the controller board securely inside the case.

Next, we are going to take whichever side of the hoverboard outer shell looks like it well be easier and a safer place to mount the ODrive control board. I mounted mine as seen in the image above, make sure to leave enough room to safely mount your “brake resistor” and also no route your black and red power wires outside of the shell for easy attachment to a power source later on. Now is also a very good time to figure out how you intend to mount this direct drive wheel to your desk of sim rig. I bolted mine to my rig, so I drilled holes for the bolts to pass through.

It’s a good idea to have your mounting hardware as far away from the sensitive electronics as possible. I had a very hairy moment when I cross threaded a bolt right next my controller board and had to wind up using my angle grinder to cut the bolt off on the other side of the shell. The bolt and nut very nearly damaged my ODrive controller spinning and flopping around right next to it.

Now seems a good time to describe what exactly the ODrive does.  For one it's a microcontroller pretty much like all others.  The second function is what makes it unique.  If you are at all familiar with RC vehicles, then you are aware that the high-end, capable models all come with brushless motors as well as an Electronic Speed Controller (ESC) to control each motor.  The ODrive is very similar to an ESC except for the fact that instead of controlling the RPM the motor spins at the ODrive controls the amount of torque a brushless motor attached to it will produce.  It's kind of Electronic Torque Controller (ETC).  Except no one calls them that and they will look at you funny if you start calling them that.

Programming the Microcontroller

The ODesc v4.2 single axis controller board

You are going to want to visit the page for the FFBeast Wheel firmware. The developer of the firmware has very detailed instructions on their site so I’m just going to briefly gloss over what I choose to do for my wheel. Just a quick note, the basic version of the firmware is free and is enough to create a usable basic steering wheel. To unlock the full functionality, axis for pedals, buttons and a shifter etc., you’ll need the full version which is a very reasonable $10 at the time of writing.

I choose the Single Axis ODesc 4.2 for the simple fact that it was by far the cheapest option available to me at the time I put my wheel together. After flashing the FFBeast firmware onto the controller I made the following attachments.

Power

Hoverboard Motor

The three power leads to the hoverboard motor were attached to the connections with the green, yellow, and dark blue arrows in the image above.

Encoder

The encoder is wired into the plug as shown above in purple. The board comes with male plugs to fit the female receptacles on the board but beware the colors are not going to match up so either repopulate the plug or be very careful when you wire it up.

Brake Resistor

The brake resistor is there to soak up power that you generate when turning your wheel against the force feedback. Without this your steering wheel would work just like a generator and feed power back into your power supply when you are turning your wheel. Just like how the controller feeds power into the wheel to turn it, the same happens in reverse when you overcome that force and turn the wheel against it.

PC Connection USB-C

The USB-C connection is used both to connect your wheel to the PC for use as well as to program the microcontroller, flash firmware, etc.

Assembly

Motor

If you haven’t already go ahead and feed the 3 wires that provide power to the motor back down the half axle and out the end. Next place the stator back in the wheel hub making sure that the inside is free from any foreign debris especially metal shavings from when you drilled the end of the half axle.

Mount Encoder and Route Wires Inside Shell.

This bit may vary from my build depending on how your steering wheel attaches to your hub. I also had to wrap the encoder shaft with a couple layers of double-sided tape to keep it stationary inside of the hole we previously drilled in the end of the half axle.

Next you have to figure out how you will run the wires from the encoder inside the shell to your control board? I choose to keep mine outside of the rotating assembly and connect via a telephone jack I wired into the side of shell as shown in the following photos.

outside of the RJ12 jack that connects the encoder to the controller board
An RJ12 jack used to connect the encoder to the control board inside the shell case.

Here is how it is wired on the inside. The white plug goes to the corresponding socket on the control board.

RJ12 jack for the encoder to controller connection

I have several unpopulated connections that I can use in the future for buttons or a sequential shifter.

Actually, mounting the encoder to the outside of the wheel hub was a little tricky in my case due to the wheel I am using. My solution was to make an arched mount that is bolted to the motor hub by some very short bolts with the nuts inside the hub yet far enough away from the stator not to rub.

The encoder securely mounted in place

The encoder wires go out the other side with an RJ12 male telephone line plug on the end which connects to the corresponding jack on the side of the shell. My hope is that if I ever wind up is a situation where my wheel starts spinning and wrapping the cord up it will simply pull the plug free from the jack without damaging anything else.

My wheel is attached to the arch that houses the encoder by 2 bolts as seen in the top of the image above.

Final Assembly

All that is left to do now is mount the wheel hub and axle securely back to the base, attach all of your plugs and wires and you’re ready to rock.

The guts of your DIY direct drive steering wheel
completed DIY direct drive steering wheel

Enjoy your DIY direct drive steering wheel.

Similar Posts

Sim Dashboard: Your Mobile as a Gaming Accessory Done Right.

Setup Bass Shakers for your Sim Rig pt1

Setup Bass Shakers for your Sim Rig pt2

Setup Triple Monitors using 3 TVs and Nvidia

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.