MouthBrain is a collaborative project by Zach Hoeken and Justin Day. The result is a low-cost, open source, experimental electronic device for receiving input from your tongue as well as delivering output to the tongue. The design itself is fairly straightforward: there is an array of electrodes that is placed on the surface of the tongue. This electrode array is connected to an Arduino shield that contains the control electronics. The brains of the system is provided by the Arduino MEGA.
What Does That Mean?
If you put the MouthBrain on your tongue, you can do 2 things: input and output. In input mode, the computer can detect where your tongue is positioned on the grid, which allows you to do things like emulate a mouse, play games, or otherwise control your computer. In output mode, the computer can selectively activate individual electrodes which stimulate your tongue in a pattern that your brain can recognize.
How Does it Work?
MouthBrain consists of 2 major parts: the MouthBrain and the BrainBoard. The MouthBrain is the part that you would stick in your mouth, and it is connected to the BrainBoard which is an Arduino MEGA shield and provides all the processing and circuitry to control the MouthBrain as well as interpret the data coming from it.
Yeah, seriously! Your brain is a remarkable thing, and this project takes advantage of 3 very cool things about you:
Your brain is malleable and adaptable. It has evolved over millions of years to be able to filter and make sense of the massive amount of sensory data that you are bombarded with every second of the day. It turns out that it doesn't really matter where this information comes from: if it is possible to make sense of it, your brain will make it happen. Even if that sensory information happens to be coming through your tongue!
What are commonly referred to as taste buds are actually modified nerve endings. These nerve endings are wired directly to your brain, and are the most electrically accessible nerves in your entire body! Because of the nature of your tongue, you can stimulate these nerves with very low voltage/current in a non-invasive way. Stimulating the other neurons in your body requires either high voltages (dangerous) or surgery (holes in your head). Using the tongue as a brain-machine interface is a pretty righteous hack!
Fine Motor Control
Another interesting quirk of the human body is that most people have very fine motor control over their tongues. The amount of control nerves devoted to the tongue compared to its size is similar to that devoted to the hands, face, and feet. Without this fine motor control, things like speech and eating would be much more difficult or impossible. It also means that your tongue makes a great input device, since you can easily control it exactly how you want. Your tongue is also a very strong muscle that can be used for hours without getting tired.
The MouthBrain project takes advantage of all 3 of these interesting aspects of your tongue.
Using the MouthBrain in input mode, the raw output is a 16x16 array of 8-bit (0-255) intensity values. This data can be post-processed to get very precise positioning data that can be used as a 'touchpad' to control a computer. This data could also directly be accessed to make games, custom applications, and many other uses. The input data can be accessed through a simple function call in a Processing sketch.
Using the MouthBrain in output mode, the application can control the 16x16 array with 8-bits (0-255 levels) of intensity. This output determines the activation strength of the individual electrodes which directly maps to the location and intensity of feeling on the tongue. This output can be controlled by the computer with a simple function call from the Processing sketch.
Applications for the output mode are almost limitless. Using the simple Processing environment, you can 'see' with your tongue by re-routing the webcam output to your tongue, or you can attach a compass model to physically sense the location of north. With enough training, it should be possible to recognize morse code, shapes, letters, numbers, and other complicated pseudo-visual input.
More whimsical applications are a tongue based Mandelbrot viewer, the ability to experience randomness with your tongue, and even makeout-over-ip.
The MouthBrain Board
The MouthBrain board works on the exact same principle that allows you to test a 9V battery by placing it on your tongue. We've refined it and added a microcontroller so that we can precisely control the activation of every electrode in the grid.
Under the hood, the MouthBrain board is a 16x16 matrix of electrodes (256 total) with connections for the analog measurement circuitry. The electrodes themselves are very simple: they are gold plated pads on the PCB itself with a gap between them. When your tongue touches two of these pads, there is a potential route for the electricity to travel through. When the electrode is activated, current passes through the positive (anode) side of the electrode, through your tongue, to the negative (cathode) side of the electrode. As the current passes through your tongue, you feel a tingling. This is called 'electrotactile stimulation'.
One of the interesting features of the MouthBrain board is a connector row immediately after the current limiting resistors. The current limiting resistors are there to reduce the current flow to a comfortable level. That works in our favor, because when your tongue closes the electrode circuit, it also has its own resistance. This resistance varies based on how hard you are pressing on the electrode grid. Press down hard, and the resistance lowers. Press down lightly, and the resistance increases. Don't press at all, and the resistance goes to infinity (actually, it goes to the natural resistance of your saliva)
What this all means is that we're able to use the static current limiting resistor and your tongue as a voltage divider. The output of this voltage divider is then routed to the analog input of the Arduino MEGA. We can then measure the voltage coming from these pins. The voltage correlates with how strongly your tongue is pressed against the board. If we scan all the electrodes, we can build up a picture of where on the grid your tongue is placed.
The BrianBoard in its initial configuration is a simple shield for the Arduino MEGA. The very first BrainBoard has only one function: it routes the input and output signals to the appropriate pins on the Arduino board. Since the current required to drive each electrode is extremely small (less than 3mA) they can be driven by the Arduino pins directly! Likewise, the outputs from the voltage dividers can be directly routed to the ADC inputs.
The connection between the MouthBrain and the BrainBoard is a 34 pin IDC connector. These ribbon cable style connectors are very hacker friendly and are easy to make with no special tools beyond a vise required. The .100" pitch also makes them very simple to integrate into standard prototyping tools like perfboard.
Future iterations of the BrainBoard will hopefully include adjustable intensity control for the BrainBoard and possibly a reduction in the number of cables required to connect to the MouthBrain by moving the current limiting resistors to the BrainBoard itself.
This is very much a first-iteration on the idea of using the tongue as an I/O device and brain machine interface (BMI). It's extremely rough and there is plenty of room for improvement. Here is a quick list of ideas that would be cool to try:
Instead of a hard PCB, a flexible PCB would allow the MouthBrain to better conform to your mouth and be more comfortable. Flexible PCBs can be fairly low cost and accessible through services like Gold Phoenix. As always, ROHS compliant electronics are critical.
The BrainBoard is very simplistic and lacking in many ways. Tongue sensitivity varies from person to person, and can also vary between sessions as the chemistry (and conductivity) of your mouth changes. Allowing the user to adjust this would drastically improve the experience.
Currently, MouthBrain contains absolutely no safety circuitry beyond current limiting resistors. Adding things like zener diodes, fuses, and other devices to prevent any possible injury to the user is a very good idea. Mouthbrain should not be used unless you know the risks and what you're getting yourself into.
Currently, using MouthBrain requires you to have wires dangling from your mouth which is awkward and distracting. With some sort of wireless connectivity, the MouthBrain could communicate with the computer wirelessly and make the whole experience much better. Potential candidates are bluetooth, magnetic coupling, near field communications, or zigbee.
The MouthBrain has great potential as a mouse replacement. However, there is not yet any software written to allow transparent mouse emulation. Adding this functionality would make MouthBrain into a practical, usable device.
Electrode Matrix Layout
The nerve distribution on your tongue is not uniform, and is concentrated on the outer ring. Modifying the electrode matrix so that it reflects the physiological nature of the tongue could result in a better or more precise experience. As it stands, the 'back' of the electrode matrix is difficult to feel, whereas the front and sides of the matrix can be a little too intense at times.
It may be possible to move the current limiting resistors to the mainboard which would reduce the number of wires required from n*3 to n*2 where N is the size of the square electrode grid. For the current iteration of MouthBrain, that would mean only needing 32 wires instead of 48!
The MouthBrain project is 100% open source under the GPL license. The source for both the software and the hardware are freely available under GPLv3.
The MouthBrain project is the result of a series of experiments by Zach Hoeken into alternative input devices for a computer. It is also based on the groundbreaking work of Paul Back-y-Rita and the company he founded called Wicab. Without the excellent publications of these great minds, this project would not have been possible. Also, big thanks to William Gibson of Neuromancer fame for sparking my imagination as a child.
MouthBrain is an experimental project and should be treated as such. If you decide to replicate the results of our research, you do so at your own risk. None of the creators of this design shall be held liable for its use or misuse for any reason at any time. Putting electronics in your mouth is a potentially dangerous activity that should be done with great caution. This is not a medical device and it is not intended to diagnose, treat, cure, or prevent any disease.
TLDR: Please don't sue me! I'm just trying to share interesting and potentially useful things with the world.