At SparkFun, there's a good deal of discussion about assistive technologies and how we as a company can contribute to the design and advancement of these devices. With the proliferation of 3D printers and other mechanical rapid prototyping tools, assistive technology is moving more and more into the DIY realm. There are hundreds of groups and companies already working on the varied and complex problems solved by assisted technologies (and you can help!), but there is always room for design improvement of any solution. The more iterations and thought put into a solution, the better the it will be. For this reason, we decided to try our hand at designing a DIY solution to one particular problem: the control of a computer mouse by someone who doesn't have the use of their hands.
One of the existing solutions (among many) to this challenge is a technology called Sip-and-Puff. We used this as the inspiration for our design.
The user controls the device by blowing or sucking air through a tube at specific intervals and forces, which trigger actions. This solution has proven successful, but expensive. A DIY solution is cheaper, and replicable by anyone with a soldering iron and a computer.
As I said before, this is just a design iteration to see what we could do. SparkFun doesn't currently have any plans to start producing and selling assistive devices as such, but if some of our products are well-suited for use in an assistive solution, we want to explore that so we can possibly help others who are planning on producing them. If nothing else, we will have taken a shot at designing another iteration, seeing what works and what doesn't, and learning from it. That being said, here's what we've done so far:
This is our rapid-prototyped, off-the-shelf, super-inexpensive version of the sip-and-puff mouse. It is connected to a computer over USB and registers itself as a mouse. The cursor is controlled by moving the joystick (pen tube) in the direction of the desired motion, and it registers a click when air is blown through the tube. It's not pretty, but it's functional and surprisingly easy to use with a little practice.
The idea is to build something that could potentially have the same functionality as the commercial sip-and-puff controllers, but be totally DIY and cheaper than existing solutions. Manufacturers of assistive technologies are beholden to a lot of red tape: medical-grade components, certifications, testing, etc. DIY'ers can skip that and save a lot of money. Our design constraints for this device were:
The guts of our box contain a Teensy 2.0, running the code to register as an HID mouse, an Analog Joystick Breakout, and a BMP180 Pressure Sensor Breakout. The user actuates the joystick to move the mouse, and a click is registered by a change in the air pressure inside the box, detected by the BMP180. As a device, it functions well, but obviously parts of the design need improvement. Specifically:
This is our first bit of exploration. How could we further improve this design, while still adhering to our original constraints? This design rings up to a total of about $35, an order of magnitude cheaper than most off-the-shelf devices with similar functionality. It can be assembled and programmed by a beginner with nothing more specialized than a soldering iron. Are there any ways that we could make this even cheaper and easier?
I love it. A mouse that can also hold your lunch at the same time. That's my kind of assistance! ;) Great job!
I badly want to make this. Have purchased all parts necessary (exactly as in guide with exception of buying a teensy 3.2 instead). I have exactly zero experience with programming a teensy. Is there a professional service I could pay for to get a loader to program the teensy to register as HID mouse?
Maybe its just me being cheap but I do believe a sensortag from TI could do everything listed below (accelerometer, gyroscope, pressure sensor, humidity) and you get a magnometer, thermopile, temperature sensor in one battery operated package with BLE communication for $25. That plus a high quality sealed enclosure and filtered straw wouldnt put you a drop over $75 with shipping.
The sip and puff operations don't have to allow air flow to work. It can just be a closed-ended tube that senses pressure change. Plug the open end with an absorbent filter and you've eliminated a lot of the issues with moisture. Also the 'tube' (doesn't have to be a tube) could be completely sealed, with a small durable bladder of air and the user can gently bite to interact. Both could be used at the same time for different functions.
"Analog joystick breakout" link seems to go to the wrong product. Judging by the photo, should go to 9110 instead?
Nice catch. Fixed. Thanks!
For right-click functions take a lesson from Win8 touchscreens, a click is left click, a click nd hold for 2 seconds brings up a right click drop down box. As far as "humidity issues" utilize the sealed barometric pressure sensor. Other functions can be added that are completely pressure controlled for those that don't have the ability to use the joystick; different mounts of pressure (soft puff, heavy puff, soft sip, heavy sip) could be differentiated for axis and direction responses, possibly a tactile pressure sensor for a biting action could be left click while bite and hold for right click function. These all depend of course on the capabilities of the person operating it, but if you are building it at home from spare parts then you can design it to the specific user and their capabilities.
I get the using the air pressure to click the buttons, but how do you move the pen to work the joystick?
I'd like to see just a "straw" with a 9DOF attached. That way just put the straw in your mouth and move it around (X and Z axis). Clicking can be done with moving in Y direction, blowing, or even just tapping with your tongue. The 9DOF should be able to detect all of that. Add HID Bluetooth module and make it tiny enough to just be slid on the end of a standard pen or straw. Admittedly this is a big more expensive but can still be done under $100. Now to find a way to keep it charged...
Why not move that pressure sensor to a mount directly in front of the mouth? Have you seen the birthday cards that use these as a "blow" sensor? Same idea. Granted you lose the suck part then, but you could use 2 sensors placed side by side and twist your lips to produce both left and right clicks, with practice. with clever design, you could possibly make a crosspad of sorts. vary where you blow and how hard to move the cursor, with acceleration similar to a traditional mouse, plus mouse clicks by blowing onto different areas. This would allow for more complex set ups with both left and right clicks, as well as additional special purpose buttons(maybe scrolling wheel emulation?)
A crosspad design could be 3D printed to house the individual sensors, and act as a baffle to help improve acurracy. I would have the sensors mounted to hang below a set of glass frames, with the electronics mounted to the sides. Maybe a head band for the back of the earpieces to help make it steady. Integrate a set of earphones, and maybe a battery for wireless operation via bluetooth. If anyone could design a custom board based on an Arduino for this, it's you guys.
Edit: Blow mouse part list... hell the basic parts are cheap enough...$50 for the basics. figure another $20 in misc connectors and such, and $20-50 in 3D printed parts(costs would get lower based on production runs...)... so $70-120 ish for a polished product.
Cool work.
You could just use an accelerometer and move it with your tounge, no spit required. XY and bump z for click or if head movement is OK, XY by turning the head and a twitch or bump (depends on where it was mounted, mouth, head, ear, etc.) If it was just an earpiece, maybe a probe (or a few) on the outside of the cheek for a tounge bump of a mechanical switch. Bonus, a good time to add audio and a microphone if you have stuff hanging on the ear anyway.
I've made accessible controls before. :)
If you want to stick with the straw, a simple trap jar inline, or a diaphram.