Plea for Near Future Assistive Technology Help

Image of a scanned eye, linked to an appeal for MND AT support.

"I have Motor Neuron Disease and my arms are paralysed. I use computers via my eye gaze system and foot switches. However, since MND is a progressive condition, I need to look forward to when I may be reduced to using only my eyes or even brain waves. Therefore I need a way to interface my computer to things like my wheelchair, which are controlled by switches.

I was wondering if it would be possible for something like an arduino to emulate a switch. That is, to connect up a suitable jack plug and have the arduino send the appropriate electrical signals to emulate button click or hold. The arduino in turn could be controlled by programs running on a PC. I have a software background so could manage the programming, but I am pretty ignorant when it comes to electronics."

This plea above was e-mailed to me from Steve Thomas (who writes a number of blogs including the mighty-fine l337 epic blog with a MMORPG focus). Something like that might be so useful for so many reasons, perhaps Raspberry Pi or Arduino powered. Perhaps a little like the iOS Switchamajig. Perhaps taking a lead from BLEduino. If anyone can help, please get in touch.

5 Responses to 'Plea for Near Future Assistive Technology Help'

  1. # Blogger Unknown

    It's very easy to mimic a switch with an Arduino (or any other microcontroller). You just use an output port to control the flow of current through a transistor. I have controlled Invacare, Pride/Quantum, Quickie, and Permobil chairs, as well as other switch controlled devices, with an Arduino this way.

    Each "switch" (or direction for a wheelchair) requires a single pin of an output port, a transistor (NPN 2N 3904 BJT is what I used), and a 4.7K resistor. Here's an ugly sketch of the circuit:

    If you want to use individual 3.5mm switch plugs, rather than the 9-pin dsub of a wheelchair, you just connect the two ends of the transistor to the two connections of the plug.

    The programming is as simple as turning that output pin on/off as desired.

    I connected a BlueSmirf Bluetooth module to my Arduino, and programmed it to turn each pin on/off when it received a particular letter or command over Bluetooth. Then I used a simple serial terminal (Putty) to send those commands from my tablet, and I could drive the wheelchair wirelessly from across the room.

    Unfortunately, I've been busy and haven't updated the associated page on my website, but until I do, I am happy to share information, code, etc. and answer questions for people working on similar projects.

    My contact information is at:  

  2. # Blogger Unknown

    Also, after my years of work developing an eye controlled wheelchair, I think the best solution would be the combination of a computer with an eye tracker (or a communication device like a Tobii, Dynavox Eyemax, etc.), and that Arduino-based interface.

    You could mount the tablet or monitor in front of the user's face, mount a webcam on the back of the tablet/monitor facing forward, and display the feed from that camera on the screen. That way, all of the functionality of the eye tracker, including calibration, would stay the same.

    The last part to be figured out is some sort of overlay/GUI on the screen, which would allow the user to enter/exit "driving mode", control speed, and steer with eye movements. This overlay would send the aforementioned commands via Bluetooth (possibly using something like Putty) to the Arduino, and you're done.

    For most wheelchair brands (but not Invacare), you can even draw power for the Arduino from the 9-pin dsub plug, if you go that route. No separate battery would be necessary.  

  3. # Blogger

    Huge thanks for this Gavin. I've forwarded this on directly to Steve. Inspiring stuff!  

  4. # Blogger Sacerdoteuk

    Thanks Gavin. That is exactly what I was hoping for. I thought that it couldn't be too difficult as switches are pretty simple devices but I couldn't find any information about it. I obviously need to brush up on my google-fu. Would there be any problems using this method to control a Control Dynamics DX bus?

    Also the eye gaze wheelchair you describe is exactly what I have been thinking about. With the interface via the arduino, it would be straightforward to use something like the Emotiv Epoc to control the wheelchair with your mind as well.  

  5. # Blogger Unknown

    If my memory is correct, I have used my controlled with Quickie and/or Permobil chairs that have Control Dynamics DX electronics. If there is a 9-pin dsub input, it should work fine. The connections in such a plug are almost the same across the wheelchair brands that I have tested. (The voltage on the control/power lines varies between 3, 5, and 12 volts, but it doesn't matter, as you are just connecting two pins together, and most Arduinos regulate their own power inputs.)

    Those connections are actually the same as old Atari joysticks. You can actually plug one into a chair, and it should work (and the fire button will probably work as the "mode" or "reset" button).

    The pins (at least for non-proportional control) for all four current U.S. brands (Invacare, Quantum/Pride, Quickie, and Permobil) are:
    1 Forward
    2 Reverse
    3 Left
    4 Right
    6 "Fire" (aka reset, emergency stop, I did not connect this)
    7 Power (+5v on the ones I have tested, which you can draw from the chair to power the Arduino, except with an Invacare chair)
    8 Ground (aka common)

    If you connect the forward pin to the ground pin, it drives forward, and so on.

    If your chair has individual 3.5mm jacks for switch inputs, you can wire it for that instead.

    On the topic of brain control, you are exactly correct. Once you have a computer controlling a chair, you could conceivably rig any computer input to control the chair, with changes in only software.

    Brain-computer interfaces are a far more complicated topic (and I'm actually working on my PhD in EEG based BCIs right now). You could certainly experiment with an Emotiv Epoc (or their new "Insight"). Something like P300 or SSVEP (looking at particular symbols/letters as they flicker) would be easiest, though not very intuitive for steering a chair. Motor imagery techniques (imagining moving your body) like mu rhythms would be more intuitive, but are more complicated, and difficult to get with something like the Epoc.

    As always, I'm happy to discuss and answer questions. I'd love to see what you come up with!  

Post a Comment



Click to view my TWITTER feed.

Google Language Translation