Not long into my new hobby as a volunteer for Tetra Society of North America (an organization that creates customized assistive devices for people with disabilities), I fell into a doozy of a project.
The client has C4/C5 quadriplegia with limited hand movement. He has an amazing, high-end, electronically adjustable bed, but can’t operate the buttons of the hand-held remote control. He wanted to be able to operate the bed independently. I went in thinking the solution would be the relatively easy task of making an apparatus, with some oversize levers added to the controller, that would mechanically press the buttons so it could be operated with palms/arm movement.
No dice — his arms are too weak and he needed it adapted with a sip-puff interface instead (a method used to send signals to a device using air pressure by “sipping” and “puffing” on an accessory called a “straw” or “wand”). I wasn’t prepared for this, as I had no experience with sip-puff technology and electronics isn’t my main thing. But in the end, it took a while but I made it work — here is the blow by blow, complete with many pictures …
Below is the Volker bed — this is a thing of beauty from an industrial and mechanical design viewpoint. Looks amazing for this type of product, flawless adjustability, silent operation, typical German attention to detail.
Unfortunately, this is all it has for controls:
Not too useful for people with limited hand-movement.
So, I decided the logical thing to do would be to use sip and puff actions to control a computer via a simple visual menu, and the computer would, in turn, control the bed. I wondered if the bed could be controlled by computer directly (via. serial or USB or whatever) so that the remote control could be bypassed altogether. Unfortunately, Volker didn’t respond to my inquiries, and without that specific info, I was left with figuring out how to ‘remote control the remote.’
First I picked up another remote control from Hertz Supply in the US. I also got a splitter from them so the original hand-held remote could still be used to operate the bed by others, when needed.
Then I got this 8 channel USB relay board from Robotshop.ca.
Then, I tore apart the Volker remote, and soldered leads directly onto the switch contacts, and connected them each to the relay board. Everything was zap-strapped/screwed to an ABS base and wound up looking like this:
I then sealed the whole thing in a stock electronic enclosure ‘black box’ I got from Mcmaster-Carr:
That’s it for the remote interface — moving on to the computer interface, I picked up this USB sip-puff switch and gooseneck-hose kit from Orin Instruments:
The above package is great — the supplied USB switch simply emulates mouse buttons (‘sip’ and ‘puff’ for left and right mouse buttons, respectively). No messing with hardware drivers or cryptic serial commands. And the gooseneck is plenty long, easily clamps to the arm of the bed, and looks good.
For the computer and screen, went with a basic Dell Mini10 netbook, running winXP:
The sip-puff switch and the 8-channel-relay board each connect to it via USB. For software, I chose to go with Java– mainly for development portability since I commonly switch between Mac, Linux and XP/Win7. Also, earlier on I wasn’t sure if the netbook would be running Linux or XP.
Using the open-source Netbeans IDE I developed a simple Java/Swing application:
You ‘puff’ to toggle through the menu items, and ‘sip’ to activate and/or open up a sub-menu. I used photos of the buttons on the actual remote and dropped them into the app.
Another screenshot, with a sub-menu open:
I even added a ‘settings’ popup, where you can customize a few things:
A few safety features were added (one must be mindful of liability)… the software automatically turns OFF the switch after a pre-defined delay, so that it doesn’t inadvertently raise/lower something forever and cause a horrible accident. Also an ‘emergency call’ feature was added: if you sip&puff 3 times fast, at any point within the menu, the system automatically places a skype call (the client commonly uses skype already to ask for assistance from others in his house).
A link to the netbeans project files with source code is here.
In the end it all came together and works pretty slick! The client is stoked and has had no issues so far.
Update Nov 19/2010:
This project was awarded Tetra’s prestigeous 2010 ‘Most Innovative’ Gizmo Award and written up in the North Shore News!
NS News link here
Photo from the story below, courtesy of Tetra Society: