Introduction: The Easiest Cardboard USB Steering Wheel

About: I'm a 14 year old who loves experimenting with Arduino!

Since it's quarantine and we are stuck at home, we tend to play a lot of video games. Racing games are one of the best games ever, but using keyboard gets boring and it's much harder to use than your Xbox or PS controller. This is why I decided to make this hybrid between a steering wheel and a Xbox controller ONLY OUT OF CARDBOARD!

(NOTE: this wheel may not work with some games, especially Asphalt 8)

Lets get straight to this project...


Here's what you need in order to make this USB steering wheel:

  • Arduino Leonardo (or any other Arduino that uses the ATmega32u4 chip, but I recommend that you use this Arduino and please do not use an Arduino UNO!)
  • A Joystick
  • MPU6050 Gyroscope Sensor
  • 5 small pushbuttons
  • A USB cable
  • A load of cardboard
  • Male to female wires
  • Male to male wires
  • A small breadboard

Here are all the tools...

  • Hot glue gun (or soldering iron)
  • A computer
  • Wire strippers (I didn't have one so I used scissors :| )
  • An Exacto knife
  • tape
  • Compass
  • scissors

Step 1: Cut Out All the Cardboard Pieces

All you have to do is to cut out all the pieces (shown above) on cardboard. Patience is key.

Step 2: Cardboard Assembly

Follow the instructions above and refer to the completed project in Step 6 if you are stuck.

(If you were wondering why I put drawings instead of pics, it is because I made this Instructable after completing my own steering. I apologize if my drawings are messy :P )

Feel free to customize your steering wheel once done.

BTW: I didn't even solder, I used hot glue ;)

Step 3: Arduino Assembly

If you followed all the instructions correctly, you should have the shell of the steering wheel. Now its time to put the engine inside that wheel. Refer to the pictures above if you want an idea of how to mount the Arduino. Also, remember to make a hole for the USB cable and make sure that the Gyroscope sensor is level and mounted firmly.


Gyroscope (This one's EZ)

  • VCC - 5v
  • GND - GND
  • SCL - SCL
  • SDA - SDA


  • SW - D0
  • Vry - A1
  • Vrx - A0
  • 5v - 5v
  • GND - GND

Buttons (color coded wires can help a lot)

  • Center Button - D1
  • Left - D6
  • Right - D7
  • Up - D4
  • Down - D5

PRO TIP: Tape down the wires to prevent loose connections.

Step 4: Coding

Here's the code:

NOTE: You must download the joystick library in order for this code to work. For more information about this library, click here.

Step 5: Testing

DO NOT JUMP INTO YOUR RACING GAME YET. There is testing to do. Its simple and quick, so don't worry.

Follow the steps above again >:)

Step 6: Finished Product

Here's the finished product. Now you can finally use it to play any racing game of you choice. The controls are listed above as usual.

This took me a long time to make. Hope you enjoyed this tutorial :)

If you make one, post pictures of it and feel free to ask any questions and comment down below!

Arduino Contest 2020

Participated in the
Arduino Contest 2020