VAMS Keyboard Stand – Tetra Project

Another Tetra project! This is a motorized, adjustable music keyboard stand, to go in the studio of the Vancouver Adaptive Music Society (VAMS). This is to replace an existing wall mounted stand, that IS adjustable, but the adjusting process is difficult. The goal was to create something with wider range of adjustability, and make it easy to adjust.

Here’s the initial sketch (click pics to open full size):

The idea is that vertical adjust is achieved by a 12″ stroke screw-drive linear actuator (this one, bought new from Robotshop), and the in-out and tilt adjustability is provided by easily moving the keyboard manually, then locking into position using the brake assemblies I designed and machined from aluminum. Here’s a CAD rendering of one of the brake assemblies:

The servo (on left, in black) turns a cam 90 degrees, which opens the spring-loaded brake, which allows a flat aluminum bar to slide freely thru the rubber grips. Here’s a pic of it completed and mounted:

The main sub-frame is fabricated from various aluminum profiles, and fastened with good ol’ self drilling #8 screws. Standard drawer glides are used as linear guides. I got them from Mcmaster-Carr. Here’s a shot of the completed frame, with glides mounted:

The servos are controlled by an Arduino (what else?) and the vertical linear actuator is controlled by supplying 12V DC power and reversing polarity to go up/down, using this 3-position toggle switch. The arduino senses voltage going thru either pole of the switch, and illuminates an indicator LED when the linear actuator is in motion. Here’s a shot of the arduino and perfboard daughter-board ready to mount:

I soldered the perfboard late at night after not much sleep during the preceding days… I accidentally shorted +V to ground, failed to double check, and promptly fried a brand new arduino and power supply when I hooked it up.  Ugh.
Oh well, components replaced, and mounted to the stand, here’s how it looks from underneath:

And the (almost) completed stand, temporarily mounted to my NC mill:

And a video of it in action!

This thing has been a whopping 1.5 years in the making–sorry for the wait VAMS! Unfortunately I’ve had zero spare time lately, primarily because I’ve been slave to this startup I began about the same time this project started.

Things left to do:
-cover circuit boards
-zap tie wiring & secure to underside
-get a decent 120V AC > 12V DC power suppply (using and old ATX power supply for now)
-stiffen back plate with thicker plywood, and gusset linear actuator mount to take out some wobble
-put labels on the switches
-see if VAMS still needs this after 1.5 years in the making… if so mount it in the studio

..Hand Rehab device: the details

An unfinished Tetra project — reaching out for help from someone with a fresh brain. I’ve been looking at this for too long.

OK , some background — this device is supposed to be a tool, to be used primarily at GF Strong rehab center, for people requiring hand-motor-rehab. They will come in, get some instruction, do some kind of repeated motions while wearing this for an hour,  for example.

The device is supposed to provide resistance in both directions (opening and closing the hand/fingers), with variable resitance for each finger, since the type of injury can vary a lot.

I first came up with this idea (click pics to open full size):

But, while it made for a cool rendering, it was too complicated, and probably difficult to put on for someone with barely any hand movement.

So then I came up with this idea:

and eventually made this:

another view:

This device has an ABS plastic frame, ABS push-rods mounted to each finger, with spring-loaded UHMW mini-vices providing independently adjustable tension. Fingers still have a wide range of motion.

But this frame was unsupported (required the other hand to hold the frame while using) and flexy.  But worse, the glove was too hard to put on.  Also, the rods are attached to the glove with little flat head/countersunk screws, into hard-plastic hinge-plates, which cause annoying pressure points when you open your hand.

So, I came up with a stiffer frame that you fasten to your forearm with a velcro strap, so you can use it one-handed.  It also has a cropped glove so it’s easier to put on:

another view:

This frame is nice and stiff, good.  Glove is easier to put on, solved that. BUT it still has those annoying screw heads.  Some padding has to go between the finger and the screw heads.

I tested this concept out, thinking it could have 5  padded finger tip things like this, instead of a glove:

BUT the tip slides off super-easily when you open your hand.  They need to be tied together somehow, like a glove.

Here is where I am now, STALLED.  The problem still to be solved is how to pad the fingers from the push-rod attachment, in a way that is durable, and still easy to put on.



…Several weeks later, screwed  the rods to nylon webbing loops, and GLUED those to each of the fingertips, with silicone-based glue (ie., ‘Household GOOP’).  Then I pulled out the ‘ol needle and thread and stiched up the loose seams on the cropped glove, and sealed the stiching with the glue, as well.

Much more comfortable now, known problems solved, time for some real-world testing.

The Sip and Puff Bed Controller – a Tetra Project

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 …

The Bed

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

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:

John Ramsden, Colin Adamson