Alternative Wii Controller

About the project

Mario Kart Wii is a great game, but the controls are awkward. So, I built an alternative controller to play the game with a D-pad.

Project info

Difficulty: Moderate

Platforms: AdafruitArduinoDigilentSparkFun

Estimated time: 1 day

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

SG90 Micro-servo motor SG90 Micro-servo motor x 2
Digilent Stepper Motor Digilent Stepper Motor x 1
SparkFun Stepper motor driver board A4988 SparkFun Stepper motor driver board A4988 x 1
Arduino UNO Arduino UNO x 1

Story

Mario Kart Wii is a great game, but the controls are awkward. So, I built an alternative controller to play the game with a D-pad.

How It Works

A Lego base with a rotating platform was built. The Wiimote sits on the rotating platform and is turned by a stepper motor via a pair of gears that reduce the load on the motor. A 3D-printed adapter was created to attach the keyed shaft of the stepper to a Lego axle. Two servo motors are attached to the Wiimote such that they can press the accleration and use item buttons on command.

A lightweight frame was built around the Wiimote with wooden dowels to give more surface area for the servos to attach to the controller. The batteries were removed from the Wiimote and wires were attached to the contacts such that the batteries can be positioned in the base to reduce the load on the stepper.

An Adafruit METRO 328 (Arduino Uno clone) takes inputs from a simple D-pad that I built from push buttons and perfboard (sketch here). The left and right buttons turn the stepper motor to tilt the Wiimote and trigger a turn in the game. The other buttons trigger the accelerate and use item buttons via servo movements.

Media

Finally, a D-pad!

The stepper tilts the Wiimote for steering. The servos press the accelerator and use item buttons:

The batteries are heavy, so I moved them outside of the Wiimote to take the load off of the stepper:

The control system:

A 3D-printed adapter to go from keyed stepper shaft to a Lego axle:

Bill of Materials
  • 1 x Arduino Uno or compatible (Adafruit METRO 328 in this case)
  • 1 x High-torque stepper motor, Nema 17, holding torque 42Ncm
  • 2 x TowerPro SG92R micro servos
  • 1 x A4988 stepper motor driver
  • 4 x Push buttons
  • 1 x 3D-printed adapter - from keyed stepper shaft to Lego axle
  • 1 x Perfboard sheet
  • 1 x 12V power supply
  • 1 x 5V power supply
  • 1 x Wiimote
  • Assorted Lego bricks and Technic gears
  • Miscellaneous wires
  • Hot glue
  • Wooden dowels

About the Author

Nick A. Bild,

Credits

Photo of nickbild

nickbild

R&D, creativity, and building the next big thing you never knew you wanted are my specialties.

   

Leave your feedback...