Controlling Robot Over Bluetooth Using Xbox Steering Wheel




So I’m guessing that I’m like a large amount of people on this site that are low key hoarders, keeping anything they could turn into a project or salvage for parts and this is an example of that. I have this old Mad Catz Steering wheel for the Xbox 360 and now that I have an Xbox one I don’t really have any use for it anymore so decided to use it to control a toy car through Bluetooth. I would’ve liked to connect the USB to a Raspberry Pi but wasn’t sure how to process the information from the USB so I just took it apart, identified the components I could use and designed my own circuit which would be controlled by an Arduino Uno. So in this post, I’ll go through the steps on how I made this project. This is my first project on this site so forgive any mistakes.

Step 1: Components Used

Controlling Robot Over Bluetooth Using Xbox Steering Wheel




1x Console Steering Wheel

1x Arduino Uno

1x Arduino Nano

1x Toy Car/Build a Robot

2x HM10/CC41-A Bluetooth Modules

1x 2n2551 NPN Transistor

2x 220 Resistors

2x 2.2k Resistors

4x 1K Resistors

1x 220uF Electrolytic Capacitor

1x H-Bridge Chip

1x Switch

2x 9V Battery

Copper Stripboard

Male Headers

Female Headers

Bare Copper Connecting Wire

Assorted Cables

The Steering Wheel doesn’t have to be Mad Catz just any console steering wheel should work. For the toy car I had an old robot I used for a Robosumo competition and I’ll be going through the circuitry and programming for it but not how to build it, in the competition my team mate was in charge of the physical build and details on this can be found at https://davidgreenan.wordpress.com/ I was in charge of circuitry and programming and if you’re interested my OLD blog(current one found here) for the competition can be found here http://www.ronanbyrnesumo.wordpress.com. You could also use one of the many posts on this site to help you build a robot or you could use an old toy car and use that instead of building your own robot, it’s up to you.

READ  Bluetooth LE Go-Anywhere Sensor Pack

Step 2: Open Up the Wheel

Show All Items

Most Likely on the underside of the wheel you’ll find the screws to open the wheel, remove them and make sure to not to lose them because we’ll be closing it up later. When you open it up you’ll see a whole mess of wires connected to a PCB, hopefully you’ll be lucky like me and the board will have all of the wires labelled like in the pictures above. So because there was so many wires going to different parts of the board I grouped each set of wires by putting tape around them and then if I cut the wires from the jumpers so I could match the group of wires to the jumpers. I’d suggest leaving the jumpers in their socket so it’s easy to match the wire to its use.

Once you’ve done that you can trace the wires from the wheel and the pedals, both use potentiometers, these wire just soldered to the board instead of being on a jumper cable but were still labelled for me. The wiper pin of the steering wheel and pedals were marked as follows: Steering Wheel LX, Right Pedal RTR and Left Pedal LTR. The pedals wire can be found on Jumper 6(J6) and the steering wheel isn’t labelled with a jumper but we’ll call it J7. On both jumpers, the positive and negative aren’t labelled but they can be identified by the shape of the solder pad, square for positive and round for negative, for potentiometers the positive and negative don’t really matter. After you identified the wires, make note and unsolder both sets of wires. For this project I only used one button and one LED so that is all I’m going to include in my circuit and code but feel free that add more buttons or LEDs if you want, I used the Xbox Button marked XE on (J4) and the player 2 LED mark LED2 on J5(the player 1 LED was blown). Below I’m going to list the buttons/LEDs going to the steering wheel.

READ  Obstacle avoidance Arduino robot – build your own larryBot

J3:

  • Right Bumper = RB
  • Left Bumper = LB
  • Left Stick Button(LSB) = LT
  • Back Button = BA
  • Start Button = ST
  • D-Pad Right =DR
  • Right Stick Button(RSB) = RT
  • 3.3V = 3.3V

J4:

  • Y Button = Y
  • X Button = X
  • B button = B
  • A Button = A
  • Xbox Button = XE
  • D-Pad Up = UP
  • D-Pad Left = DL
  • D-Pad Down = DN for some reason?
  • Ground = GND

J5:

  • Unknown = MR
  • Unknown = ML
  • Vcc = Unconnected
  • Player 4 LED =LED4
  • Player 3 LED = LED3
  • Player 2 LED = LED2
  • Player 1 LED = LED1

J6:

  • Positive = (square pad)
  • Left Pedal = LTR
  • Right Pedal = RTR
  • Ground = (round pad)

J7(This isn’t marked as J7 but anyway):

  • Negative = (round pad)
  • Steering Wheel = LX
  • Positive = (square pad)

Your labels and layout may differ but hopefully there’re some things in common. I couldn’t figure out what MR or ML were so if you know feel free to comment below. The two other jumpers (J1 and J2) on the board are for the USB and mic but I’m not using them in this project.

Step 3: Build Test Circuit and CodeSchematic Controlling Robot Over Bluetooth Using Xbox Steering Wheel

From testing with my multimeter I found that the switches and buttons are connected to ground when pressed and that the LED wires are connected to the negative of the LEDs and the positive is connected to 3.3V on J3. From this I designed this circuit shown above, this is just the test circuit so I didn’t include the Bluetooth module at this stage. The steering wheel ran of 3.3V but to to use the full resolution of the Arduinos ADC I powered the circuit using 5V.

For more detail: Controlling Robot Over Bluetooth Using Xbox Steering Wheel

READ  Web-controlled Twittering Roomba using an Arduino

JLCPCB – Prototype 10 PCBs for $2 + 2 days Lead Time
China’s Largest PCB Prototype Enterprise, 300,000+ Customers & 10,000+ Online Orders Per Day
Inside a huge PCB factory: https://www.youtube.com/watch?v=_XCznQFV-Mw




Leave a Comment

*
= 4 + 0

(Spamcheck Enabled)

Read previous post:
Macbook charger teardown
Macbook charger teardown

Have you ever wondered what's inside your Macbook's charger? There's a lot more circuitry crammed into the compact power adapter...

Close
Scroll to top