0

HOW TO – Make a USB Game pad with tilt-accelerometer mouse


Adxlstick
This project tutorial will show you how you can convert a console game pad into a USB keyboard mouse for playing games on your PC. The USB game pad can be used with nearly any software, such as a MAME emulator, game, simulation software, or for custom user interfaces. We’ll start by turning the buttons of the game pad into keyboard buttons, so that pressing ‘up’ is converted into the ‘U’ key, for example. The firmware is easily adaptable, so you can adjust it for whatever software it will be used with. Then we’ll make the project more interesting by adding an accelerometer. This will allow the game pad to be used as a mouse by tilting it! This tutorial including the original code and Portal video is by Devlin Thyne! Rock!

You’ll need the following in order to build the project:

  • Game pad – We’ll be using an SNES controller
  • Teensy – This is a very small microcontroller board that can act as a keyboard/mouse
  • Triple-axis accellerometer – We’ll be using the nice ADXL335 on a breakout board. You can skip this if you’re not planning to add in the mouse capability
  • USB cable with mini-b connector – to attach to the Teensy for plugging into a computer!
  • Ribbon cable – for all the soldering connections. Rainbow cable is the easiest to work with as its color coded

Pt 2788
If you want to build the entire project, we have a project pack in the shop with all the parts listed above!

You’ll also need some basic hand tools such as screwdrivers, wire strippers, soldering iron, solder, diagonal cutters, vise or third hand tool, etc.

All the code is on GitHub, including some extra sketches we’ve written so be sure to look there!

Read the entire tutorial here!


Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.

Join 7,500+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython in 2018 – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/


Maker Business — Electronics manufacturing is a burger of complexity

Wearables — Battery wash cycle

Electronics — How to make your own magnetic field probe!

Biohacking — The State of DNA Analysis in Three Mindmaps

Python for Microcontrollers — Getting Started with Adafruit Circuit Playground Express

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



5 Comments

  1. this is rad. i’ve been looking for a simple usb keyboard/mouse emulator for a while. nice for installations… looking forward to picking up a teensy.

  2. Yeah this is really cool! I like that you’re using an existing controller and enclosure.

    I’ve been working on similar designs but they are based on PIC controller, and I didn’t settle for any enclosure yet 🙂
    For anyone interested have a look at related the links below:

    http://starlino.com/usb_gamepad.html
    http://starlino.com/usb_thumb_imu.html
    http://starlino.com/usb_gamepad_gyro.html

  3. What a coincidence – I just finished my MAME arcade controller and the heart is a Teensy. I changed my code, because yours was a little better.

    Check out http://make.larsi.org/interfaces/MAME/ for the build log. I will add some more pictures if the final wiring soon.

  4. In the tutorial it says:
    The ADXL335 requires 5V power, so don’t connect it to VCC (5V) instead
    Shouldn’t that be:
    The ADXL335 cannot handle 5V power, so don’t connect it to VCC (5V) instead

  5. typo! fixed 🙂

Sorry, the comment form is closed at this time.