Help Hackaday Build A Custom Gaming Controller For A Good Cause

jstick-R-1

We are going to make a custom gaming controller for a child with Muscular Dystrophy. His name is Thomas and he loves minecraft. This is a project that I have been wanting to do for years.  I’m just beginning now, and you can join in on the project and offer your thoughts in our forums.  We’re starting with Thomas, but ultimately, we’d like to develop a collection of fairly simple to construct open source game controllers.

For people who have a physical disability, gaming can have a profound psychological impact. Sometimes it is the only place where they can go and be on a level playing ground with their peers.  Often custom gaming controllers are quite expensive, especially when you start to leave the standard xbox/playstation form factor.

Now, with 3d printer in hand, I’m able to kick out prototypes much faster and easier than I had ever imagined. I can design something in a matter of minutes, then print it out to see how it feels.  Once I get something nailed down, I can refine the design to be easier to assemble, and to fit stock parts you could harvest from an xbox controller (they have an official windows driver, which is nice).

Here’s a quick video of me playing with a prototype idea. You can see I start by laying out all the standard game inputs from the controller, then I toss a slab of imaginary plastic on there and start sculpting.  You would want to put velcro on the bottom of this so it would stay in place on a lap board at the perfect comfortable angle.

This is, in no way, a finished prototype. It was just a quick sculpt to get my idea down. Though I only constructed one half of the controller, you can imagine how easily you could position two units like this so that your hands could rest on top of them.

Join in on the forums and help me come up with some more designs that might help!

46 thoughts on “Help Hackaday Build A Custom Gaming Controller For A Good Cause

  1. Caleb, this is *awesome*

    Rather than cannibalizing an existing controller, why not use one of the arduino-brethren which is able to present to the host OS as USB HID? In that way, you can build entirely custom controls, limited only by what’s available in the HID spec, rather than what’s in an XBox controller.

    For Minecraft in particular, which runs best on a PC, this may be really useful.

    Of course, your gamer friend may be playing on an XBox, which reigns us back into that realm.

    Anyway, this is awesome.

    1. It is tempting and since the HID would be useful, I might toss that into another model. For now though, the driver supplied for the Xbox controller will make it easy for non-tech people to just plug it in and use it, both on the PC and the X-box.

      Minecraft specifically presents an issue. I’m using a sixaxis(ps3) to keyboard translater currently.

          1. I understand but accelerometers or gyroscopes could be use for more deeper analysis like maybe tremors or shaking detection, the controller is upside down, or any other “in situation” options like that. Just saying, I prefer arduino anyways :P

            MikE

  2. I would look at the ms Trackball explorer for ideas. I have been using them for years and when Microsoft stopped selling them a lot of disabled people where very disappointed since it is much easier to use than a mouse for people with mobility issues.

  3. I never played minecraft but this bow seems like a lot of fun: http://www.adafruit.com/blog/2013/02/11/minecraft-with-makey-makey-makeymakey-makeymakeymonday/

    A post showing an alternative circuit for makey-makey: http://hackaday.com/2013/02/06/fruit-piano-uses-a-different-circuit-than-the-makey-makey/

    And here a guy that made gloves with flex sensors: http://hackaday.com/2013/02/02/music-challenge-has-you-flapping-your-wrist-to-make-sounds

    Voice control with arduino is also possible: http://hackaday.com/2012/09/22/speech-recognition-on-an-arduino/ (not sure but a sanguino might give better results).

    Ps any atmega/ATtiny capable of running vusb can be a USB HID: http://www.obdev.at/products/vusb/index.html

    Good luck, and have fun,

    Klaas

  4. How possible would a trackball be? And would it be possible to use a standard higher-end Logitech laser and drivers? Hmm… maybe I should just head over to TX/RX and see if I can design an effective housing.

      1. You could use trackball as an absolute positioning stick – emulate stick with a ball (give the ball virtual boundaries) I think Iv seen HTPC keyboard with a thumbstick that emulated touchscreen and worked like that.
        make it sense if its connected to pc or console and swap modes automagically between emulation and mouse mode..

  5. Having a brother with MD, that loved to play games this project is awesome!!

    I suggest controls that require as little motion as possible. Trackballs are better than mice. Sticks are better than 4 way pads. Buttons should be very easy to press and should not require a ‘click’ at the bottom.

    Also from the pictures it looks as if the controllers are designed with the palm facing down, parallel with the table. Most people with MD end up with the hand muscles shortening, making it hard to lay the hand out flat. The controller should be tipped outward so the hand/wrist/elbow don’t have to bend away from the natural resting position.

    Just my two cents.

    Erik G

      1. Definitely! It’s certainly different from one person to another. But that design would be much easier for my brother to use.

        Maybe even add the ability to change the tilt. The top and guts could be mounted to the bottom on a door hinge with some way to tighten it or lock it in place. Then it would be adjustable from user to user.

          1. You could also use an LCD support arm (easily avaiblable and affordable) to position the control at almost any angle and distance from the users’ table/bed/wheelchair. Once the ideal position is determined, it can be locked by tightening a few allen screws.

        1. Good call, I was thinking the same thing. Mounting the controls on a two axis pivot ( up/down and left/right ) could really help the person place the controls most naturally.

          Caleb, I love this. I would be more than happy to donate to this project/initiative. I’ve talked about doing something like with my brothers for a long time… I just haven’t used my time to do so. I am very happy that you have picked up the ball.

  6. With due respect to everyone, but hackaday isn’t the best place you are going to find those who will give the most ideas suggestions to consider for using as the physical interface for Thomas, for Thomas and yourself to consider. I’d recommend speaking with any occupational therapists, who may be able to point you to local support groups who may have members who solved similar problems for themselves. Be aware if other groups learn that you are doing something interesting you could be in demand to present a program for other local groups :)No doubt there are email list server and other internet forums as well. Good luck with the project

    1. I’ve been researching for quite some time. I’ve been lurking on the ablegamers.com forums for a while and, from my experience, have more knowledge of this tiny aspect than many of the people in my area who are helping these kids. Many of the people in the industry see little value in gaming, or think the only assistive technology is that which is available for high prices.

      While I agree that people here may lack experience in the specific needs of these people, they can help come up with methods of construction and things of that nature that don’t require knowledge of special needs.

  7. This is fantastic, I’ve been trying to get something off th ground ( design wise ) for a friend who’s an amputee. The real challenge with either Xbox or ps3 type controllers is trying to fit all of the usable buttons / joysticks to a single handed configuration that’s actually usable – so would be good to see what you end up with here even if it’s a different idea. I also found suction cups (salvage car phone holders) with clips work really well for attaching to flat surfaces – their inherent slight flexibility is also quite a nice damper etc… Keep up the good work!!!

  8. Adding some sort of strap to hold the users hand in place adds to people with all different disabilities being able to use is as some have violent shakes and i have seen a house go flying due to this and a nise rubber bottom to keep it in place and help in case it is picked up and slammed down. in one of my classes i had to improve on an allready existing item for people with disabilites and i added a strap to a mouse and took first place simple but really makes a big differance.

      1. Actually, ‘House’ was completely understood. Although it usually FEELS like the house gets thrown across the room.

        Been wishing somebody would come up with something like this for years. Many years.
        None of the major HID companies seemed to be willing to work on anything like this.
        Something you might consider; I have more fine-motor control on my left side while more strength on my right; so something completely ambidextrous would be great.

        Great idea! Keep working… And have fun with it!

  9. Awesome, seams pretty straight forward. Take Ben Hecks xbox controller mod where he breaks out the controller buttons to a pin header and make it so you can plug in the new controller.

    Build the new controller body using vacuum forming.

    For a pc controller you could use the same vacuum formed controller and pin cable plugged into a modified keyboard.

    May not be the smoothest hack, but would be a quick way to prototype it out without having to spend any money on hardware aside from maybe the pin headers.

    Can’t wait to see what you guys decide to finally do.

  10. God to see some progress on your original idea. Im saving up to get a 3d printer and this will help me to decide which one. I want to make a brace for my left foot as I have a congenital club foot and would like to walk unaided by my cane for the first time in 6 years…. keep up the great work.

  11. I tried to build a controller for a guy with MD who’s across the country, and it was quite apparent that communication about my capabilities and his needs was difficult. I don’t know about the OP’s experience, but I’d suggest starting with one-off prototyles for locals, just to get a sense of what’s needed.

    On the list of stuff that you can look into: PS/2 and USB hosting isn’t that hard in embedded settings – that means you can run a lot of off-the-shelf stuff. The Wiimote camera is apparently an I2C device – which may be an easier interface than the bluetooth connection people normally use.

  12. is there a way to easily repurpose a nes controller using an arduino or maybe a standalone AVR /arduino leonardo? i wouldnt break the controller, just rig the internals to run on usb via the keyboard input. or would this be pointless?

  13. Stumbled upon this lately, GlovePIE 0.45 free, Ive been trying to get my wiimote to work for FPS pc games!
    http://glovepie.org/glovepie_download.php
    and basicly pair the wiimote by pressing 1 and 2, “Add device” in Win7 and “pair without code” and hit “Run” in GlovePIE after loading the script wanted. Lednerg has done some good scripts for a Gyro Mouse, look it up on google or here:
    http://glovepie.org/forum/viewtopic.php?f=6&t=542

    MikE

  14. Hi, I read trough all the suggestions so far and came up with a few ideas. I was born with cp, so I am familiar with coordination difficulties. Tremors and spasticity.
    Everything sugested below depends on his particular limitations of motion.

    Motion detection would be the least restrictive, such as detecting motion of a glove.
    Both the wiimote and theremin come to mind.

    If using a standard joystick is difficult because of range of angular motion, try lengthening the shaft or put a handrest on top.

    Some CAD systems use an inductive mouse on a special tablet. It’s position is constantly relative to the tablet. Unlike a ball mouse that has tracking errors.
    If you can put a tilt top on a CAD mouse, it would have joystick functionality as well.

    Or try putting a wiimote on some kind sled. Try gluing 3 or 4 old ball mice to something that would act as a cradle. The mice only act as rollers for moving the sled inside a serving tray.Or put teflon on the bottom of an air hockey type of hand piece.

    The simplest would be to wear a wiimote like a wrist watch and have the buttons in the finger actions of a glove.

  15. More thoughts on non-restrictive motion detection.

    I’ve seen other projects here, where computer screens were being controlled by hand gestures, kinda like the tv weatherman..

    If you can find some reflective material like you see on running shoes or sportswear. Cut out some strips or dots and sew them onto light weight black gloves. Light enough he won’t overheat in the summer. Or webbed gloves for full ventilation.

    Get a cheap CCD webcam and some IR LEDS. CCD cameras can see in the IR range of the light spectrum. Make a spotlight with enough LEDs to light up the area the camera is pointed at. I have seen LEDs like this already mounted on a ring shaped PCB so that the cam lens would be looking through the hole.

    Next you would need software that can track hand motion and if the hand is open or closed. Then translate the motions into corresponding joystick commands.

    With the right software you might be able to program a custom set of hand gestures, a type of vocabulary, similar to sign language. I am saying custom set of gestures, because you need to work within his physical limits.

    I can also see this being used to help develop hand dexterity exercises. Everytime they achieve a certain hand position, they get a point. or even feedback for learning sign language..

    PS. There is something similar to this idea designed for disabled persons, that scans or tracks eye movement and can tell what part of the screen you are looking at… Blinking your eyes act as mouse clicks..

Leave a Reply to Caleb KraftCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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