Earfingers: Hear with your hands using Arduino
First and foremost, I must acknowledge that I am standing on the shoulders of giants, and that every giant is standing on the shoulders of giants (such as all contributors to instructables). If it weren’t for the unknowably many people who had the mindfulness to freely share information, this would have been utterly impossible; I reckon the same if even a handful of these people chose otherwise. So, if you like this, don’t just thank me, thank a history of humans and the tremendous power of the freedom of information.
Are you bored of sensing things in the same way they’ve been sensed for the history of humanity? Have the known forms of interacting with computers lost their flair? Is an insufficient auditory neurosystem bogging you down? Then I think I have the project for you. Why not give your ears a rest, and let your fingers do the listening for a change!
Let’s prepare ourselves with some background information. Human hearing relies on a bunch of sensors in a structure called the cochlea, which, by way of a very remarkable structure, converts variations of air pressure into neural impulses. In mathematical terms, the cochlea decomposes a waveform into a finite number of dimensions, about 3600 per ear. Have you ever wondered what the sampling frequency of the ear is? It’s not a very well-formed question, so to give a not very well-formed answer: from 50 to 250 Hz. Another interesting fact is that the high limit of reasonably good hearing is 20,000 Hz. Together, this means that a sensor at maximum speed is only detecting 1 out of every 80 wavelengths. This is peculiar. It would be like looking at a screen and only being able to see 1 circle every second when 80 circles are shown, and being able to tell anyway that there are actually 80 circles. How can we experience something faster than that which defines our experience? And how can we experience it as continuous when the signal keeps cutting out? With mathemagic. The cochlea’s very special coiled construction is a physical, mechanical implementation of a process called the wavelet transformation, which really might as well be magic; conceptually, it’s like using part of a torn picture to reconstruct the lost part.
Another key piece of this project is the tactile sensory system. It is an interesting fact that touch sensors also operate in the range of 50-250 Hz. Actually, throughout the body neurons behave in the exact same way. You can move a whole chunk of brain to a completely different spot and have it function as the piece it replaced–scientists have actually done this! As such, it is reasonable to suspect that touch receptors can convey the same information as the cochlea and in the same way, just to different places. Furthermore, some research has indicated that touch does activate some of the auditory processing part of the brain, and one of the best known properties of the brain is that it is extraordinarily adaptable. Thus, we have reason to suspect that you might actually be able to hear through touch! That is, to not just feel the vibration of sounds, like touching a speaker, but to feel sound .
With the idea in place, the rest is simple, right? All we need to do is build a vibrotactile human/computer interface and write some code to send wavelets of sound to the fingertips. The brain will never see it coming! Clearly not, because we’re not working with sight (yet); the real question is, will the brain feel it coming, or will the brain hear it coming?
Step 1: Building tactors
Plenty of research has been done into tactile interfaces. Because of this, there is a fancy scientific name for the critical components here: tactors, which I suspect is a portmanteau of tactile and motor. You could also call them solenoids, linear actuators, moving magnet voice coils, vibrotactile transducers, etc. The specific requirements of their construction requires that they be built by hand, exciting!
You will need:
tiny powerful cylindrical magnets, I used 1/8″ diameter with 1/8″ height to keep the scale workable, and added a 1/8″x1/16″ for more height/mass/magnetic force and to mark the pole
thin walled non-ferrous tubing with an inner diameter that matches the outer diameter of the magnets (ie K&S stock #103, can be found at hardware or hobby/craft stores)
plastic washers that can be press fit onto the tubing
dowel that can be put into the tubing (paper, cut down toothpicks, erasers, etc could also work)
a flexible membrane (latex glove, balloon, etc.)
small rubber bands or heatshrink tubing
some motor winding wire, I used 34 gauge
a lighter and sandpaper
a long bolt with nut to pass through the cut down tubing
a few washers to pass over the tubing
an electric drill with continuously variable speed (most of them)
We are building a bunch of small solenoids that will push the magnets against the skin with just the right amount of force. This will require building a spool, winding that spool, inserting the magnets, and covering the assembly so the magnet can’t escape. Note that you can get away with a fair degree of ingenuity here; I made quite a few prototypes leading up to this using things I had laying about.
1. Cut the tubing: Ideally this is done with a tube cutter, because the tube needs to stay round enough that the magnet can move through it. I made the tubes a bit longer than necessary, 3/4″, to make them easy to mount later on, just by drilling holes in some wood and pressing in the spare end. Round and ream the tube as needed, a good way to do this is with a drill bit that matches the inner diameter of the tube.
2. Press on the plastic washers: Unless you have an amazing supply at hand, you will probably have to find some with a smaller inner diameter and drill those out. The only way I know how to do this is with some pliers and a hand drill–please, find a better way (and let me know!) or be very careful. We need a strong fit because these will support the coil, and later on, fingers. The outer diameter of the washers and the space between them is going to determine how much wire you can wind and how much power will be needed. You want to keep the power requirements low but still be able to move the magnet well enough; I determined this experimentally, and came up with between 2.5 and 3 spans across a half an inch.
3. Conjure a winding clamp. Use washers to fill the extra tube and to grip the end of the winding wire. Clamp the bobbin with the nut and bolt, there needs to be enough force to stop the tube from rotating while getting a good, tight coil. Be sure to leave enough spare to reach the terminating points later.
4. Wind the winding wire. Clamp the tail or nut of the bolt in the drill and start winding. The wire must be tight and even to achieve the optimum magnetic field. This is probably the most challenging part of the build, so be patient and take your time. Each solenoid should have about the same number of windings in order to make them all produce a similar force; I did this by placing the plastic washers the same distance apart, then spanning that distance the same number of times (2.5 to 3) since that’s much easier to keep track of. You can mark the leads and wrap according to the right hand rule, or just change the polarities around later on. This would be a good time to test the continuity and resistance of the solenoid; most of my solenoids came out with a resistance of 2 ohms, which was from around 2.5 spans.
5. When you’re done winding, you’ll want to secure all that hard work from coming uncoiled. I like to hold it with a little bit of electrical tape first, then put heatshrink over that. Be completely certain that you’ve removed the insulation from the ends of the wire by burning it off and then taking off what remains with sandpaper.
6. Finishing touches. Put a 1/2″ long piece of dowel in the tube so that the magnet rests above the halfway point of the coil and so that it can only go one way, then add the membrane to cover the top so the magnet can only go so far in that direction. Latex gloves will work, but they tend to break down quickly, so a cut up balloon will probably do better. This can be held on with anything non-ferrous , solid aluminum or copper wire works well. Typically the magnet would be secured to the membrane, but there was no obvious way of doing that on this scale. You can test them by rubbing the leads on a battery; these are fundamentally similar to small speakers, so with the right polarity you will hear the scraping of the leads just as you would testing any other speaker.
7. Mount them. I really want this to be attached to a glove or something neat like that, but for a proof of concept a piece of wood will do. I traced my fingers and drilled holes to fit the spare end of the tube where my fingertips would go.
For more detail: Earfingers: Hear with your hands using Arduino