Uh-Oh my Spidey Sense is tingling! With the research work I've been doing for e-NABLE, you can add Spidey Sensing to an Assistive Device Hand (it is not a Prosthetic Hand). This project documents the research phase of my project, so the parts are not miniaturized and for to the hand itself just yet. That's coming soon! For now I will discuss what the project is about, document a working prototype, and provide both software and a list of materials.
Step 1: What Are E-NABLE Spidey Sensors?
In the journey of my relationship with e-NABLE, I have reached the point of understanding that the hands and arms fitted (mostly) to kids with birth differences may be functional for a short or long time, but their main purpose is to improve the child's self image. Kids born without fingers on one or (sometimes) both hands are more frequent in the population than I ever imagined, as are kids with partial limbs. This population is maligned by teasing and functional challenges to the point of making the children self-conscious and shy, learning to hide their hand and limb differences in a failed attempt to fit in with the crowd.
e-NABLE changes all that - it makes these kids shine bright and strong! When a child is given an e-NABLE hand, suddenly all the other kids are curious about this "Super Hero" attachment that they are now sporting. Is this an Iron Man hand? Bat Man? Captain America? Spider Man? What can it do? What does it look like? Now the child who could not pick up a soda can can do just that and more with a plastic assistive device from e-NABLE.
Obviously this works wonders for the recipient's self-esteem, so folks at e-NABLE have worked hard to modify the appearance and in some imaginative ways the functionality of these hands to be more like the hands of a super hero. So I was thinking one day about the whole amazing parade that I had become a part of and it occurred to me that we at e-NABLE come from every walk of life - brainy professors, skilled laypeople, talented programmers, and creative hobbyists like myself - so shouldn't we be able to not only make these hands look like superhero hands and also make them function like superhero hands?
The answer was a resounding yes! Led by creators like Aaron Brown who has done both appearance and functional mods and a host of people working on mods for everything from picking up items to flexing the fingers better and making the hands fit better, I joined the fray of e-NABLE hand modification. I said to the research team that I would like to work on adding electronics to the hands in the form of sensors, and dreamed up the name of "Spidey Sensors" to describe them.
Everyone was cool with that so I proceeded to make the first circuit which was enhanced hearing, complete with high gain mic and directional parabolic dish. Upon noticing this, our founder Jon Schull suggested to me that he'd like to see me work on touch and temperature sensing, which made perfect sense so i called the project "TnT" for touch and temperature and got to work.
The result of the research phase of this project is documented in this Instructable. Next up is the miniaturization step where the goal is to outfit a test hand with the electronics and show that it works. For now, you'll see a full sized Arduino powered by a computer's USB jack, not very portable, just rest assured that I've designed with miniaturization in mind and even kept an eye to fairly low cost. So read on and enjoy, the day (or night) is young!
Step 2: Temperature Sensing
Tasked by Jon with the work of creating touch and temperature sensors, I tackled the easier one first which was temperature. Adafruit had a 10k Ohm thermistor on a long lead and dipped in epoxy for durability for a low price, so I bought one of those and put it on a small breadboard with a pair of NeoPixel LEDs and an ATTiny85 processor. This minimal cost approach, shown in the purple looking photo, was mounted on an Adafruit Screw Shield atop an Arduino UNO R3 board for programming purposes.
The notion was that the ATtiny chip, being very low in cost (about $2.00 in quantity 10 from Jameco) was just enough and a bit more than necessary to do the job, low in size and power, and could fit on the back of the gauntlet of the hand (the forearm bracer part) behind the tensioner. I designed the circuit and programmed the chip with a sigmoidal temperature mapping function (S-shaped input voltage to color brightness transfer function) so that the offset and range could be easily and smoothly adjusted.
Then I took the number generated by the sigmoid and used it to create red/blue colors with (255 - sigmoid value) going to the red component of the NeoPixel and (sigmoid) itself going into the blue - green set to zero (0). This made the LED glow blue in ice water, purple at room temperature, and red in hot coffee or hot water from the sink. In the photo you see the sensor at room temperature, with purple reflecting off the white breadboard.
The Arduino Code for this step is attached here for your convenience.
Step 3: Touch Sensing
The jury is still out on how to do touch sensing on an e-NABLE hand. There are various approaches, each with their own advantages and disadvantages; perhaps a combination approach will eventually prove best. I started with the notion of using Force Sensitive Resistors (FSRs) to do the job but they were far too delicate. Even when I thought of a way to strengthen them up significantly and protect them with careful hand design, and even went so far as to say this type of sensing is for delicate use and not your everyday play in the mud hand, FSRs fell short of the mark.
A few other promising technologies were discussed within the e-NABLE group feed and some of those look really good for future and not-so future (now or nearly now) use. I just didn't have access to the university research materials and technologies required to use them except one which I probably should look into soon, but I forget which one it was ("I am not a robot").
So I kind of wandered off for a while and got into my old music electronics making forum (www.electro-music.com) where I wandered around discussing 3D printed enclosures, music controller shapes, and eventually stumbled across Arduino based capacitive sensors as a way of controlling music. So I made one. It had two capacitive nodes and made a frequency modulated woo-woo sound (hey, some of the most famous names in electronic music history made woo-woo sounds :). Then this very morning at about 4am I had an epiphany, you know - the light bulb above my head went off!
I suddenly realized - and I think such sparks of imagination are Heaven sent, being divine inspiration by nature, but you may think otherwise and that's fine - that capacitive sensing could be used to add touch sensing in e-NABLE hands if only the finger tips were conductive. Well, thankfully conductive 3D printing filaments are available now from at least three manufacturers including ProtoPasta, which makes one that is affordable though somewhat higher in resistivity (15 Ohm-cm vs 1.0 Ohm-cm or 0.75 Ohm-cm in other brands). This resistivity is plenty low for the job.
So I spoke with my friend Matthew Gorton at www.printedsolid.com about buying some conductive filament and he said he would make an effort to get me a good deal because it's for e-NABLE. Maybe I should tell the car salesman about e-NABLE to get a discount? Stock Broker? Doctor or Dentist? OK, enough of that silliness. Matthew is a great guy and he will set me up no problem.
Then I plan to print a hand at 135% (of a standard hand which is 100% and really small - sub 100% hands also exist now) which is sort of a larger kid sized hand as I already have a 100% hand for testing sizes. I believe that 135% is our most commonly printed size. Also the kit of parts I have and my own familiarity are for the Raptor Reloaded design so I'll be using that one again.
The strings on the hand will be replaced with Adafruit stainless steel thread used for wearable electronics which should be strong and smooth enough plus also conduct electricity from the fingers to the processor. That's enough of a description of future plans to get you in the groove of where we're going with the capacitive touch sensing, so where are we now?
Well we have a working prototype that senses capacitance and detects human hands, conductors, and insulators if they are big enough or actually flex the probe of the capacitor. Basically how it works is the circuit has two nodes: ground and probe, and a capacitance created by the lines of electric flux that exist between the two nodes can be measured electronically with a resistor so that an RC circuit is formed. The Arduino digitally switches the input from low to high and measures the time it takes for the RC circuit to reach a high state, then it does it again from high to low. This provides a time which is reported as a long integer to the Arduino software.
An early test circuit is shown in this section's photo way up above all this typing, causing an LED to blink with frequency inversely proportional to capacitance.
I later wrote an extension to the code that sends data from two sensors over the serial port to a processing program which plays a frequency modulated sine wave sound which is quite interesting to vary by moving my hand near or in contact with the probe node. Capacitive sensing acts as a sensor of proximity as well as pressure since both actions distort the electric field.
It is important to note that objects which do not distort the electric field such as small nonconductive objects like a comb for example will not be detected. Also the motion of the fingers will vary the sensor output so it is uncertain just how useful capacitive sensing will be in the e-NABLE hand application. Perhaps it will be more useful for entertainment or artistic purposes when all is said and done, we cannot say for sure at this time.
Arduino and Processing code for the dual capacitive music sensor application are attached here.
Step 4: Conclusion and Future Work
What do you want to hear first, the good news or the good news? That's right, because there is no bad news! In this Intractable I have described my past research work on the e-NABLE Spidey Sensor TnT project. Note that schematics and details of that nature are not included as the circuits are so simple that I do not bother to draw schematics, though perhaps I should. At any rate the work has been described to the point that it can be reproduced by others, which was the goal.
As to future work I plan to combine the two projects into one in full sized Arduino format, miniaturize the electronics and install it into a hand with conductive finger tips, and change the speaker to a haptic vibration motor. That will complete the project from an e-NABLE standpoint and I'll then document it in another Intractable.
As a final note I'll mention that there's even more to the picture than providing hand functionality, even more than superhero appearance and sensing, and even more than boosting the morale of a bunch of wonderfully different kids here. You see, I'm planning to include in these Instructables everything the recipient needs to modify and expand their hand's electronics as well as print and outfit entirely new hands themselves. So now you understand that e-NABLE is helping kids in yet one more way: we're making Makers!
Step 5: Schematics Addendum
I was asked to provide schematics so that people could reproduce the work exactly, so here they are! I just, um, kinda drew them by hand and took photos of them. I know that is so uh, don't know the word for it - you fill in the blank, it's just that I'm not into circuit CAD these days anymore. I mean, if I had to do something complicated or make a circuit board sure, but really the simpler circuits that I work with these days I just do the drawing in my head. So this way is easier and perhaps more true to thineself, thine being me! So anyway, with those words of apology, here are the requested schematics! Enjoy!