OpenBCI: Control An Air Shark With Your Mind

Plug yourself into your devices with a brain-computer interface board

Advertisement

Let’s be clear: This is a parlor trick, not neuroscience. Nonetheless, with the help of some friends, I was able to make a toy shark fly through the air using brain waves. So even if it’s a parlor trick, it’s a trick worth doing!

First things first. When attempting to make something fly using your mind, it is important to choose a target object that compels attention. It’s also important that the object have the power to move itself in some way. This project uses brain waves to control an object’s movements; we cannot move the object directly with our minds. This is not the Force, after all.

So I chose to use an Air Swimmers toy: a remote-controlled helium balloon that’s shaped like a shark. When you press some buttons on a remote control, the shark swishes its tail and “swims” through the air with a mesmerizing motion. I started by modifying the remote control. Some friends and I opened up the remote and soldered wires to the connections of the various push buttons. We then attached the wires to the pins on an Arduino microcontroller. By sending commands from a PC to the Arduino, I could pull the voltage of the pins high or low, making the shark respond as if I had pressed the corresponding button on the remote.

Now I had to feed the PC information from my brain. The key piece of hardware needed for mind control is an electroencephalograph system. EEG systems use electrodes placed on the scalp to pick up electrical signals produced by brain activity. Usually, they are bulky and expensive. A while back, however, I had a hand in helping my friends at OpenBCI develop a low-cost, open-source EEG system that can be easily hooked up to a computer.

The current version of OpenBCI’s kit is a US $450 board built around a 32-bit PIC microcontroller. The 6- by 6-centimeter board can record up to eight EEG channels at once. Microvolt-level signals from the electrodes are amplified and fed into a 24-bit, low-noise, analog-to-digital converter chip. EEG data can be stored locally on an SD memory card or transmitted in real time via a Bluetooth connection.

The hardest part of this mind control project was figuring out how to interpret the data streaming in from the board. EEG interpretation is not easy because, to be technical, EEG signals are a crazy mess. EEG recordings are a jumble of the signatures of many brain processes. Detecting conscious thoughts like “Shark, please swim forward” is way beyond even state-of-the-art equipment. The electrical signature of a single thought is lost in the furious chatter of 100 billion neurons.

To accommodate this limitation, I chose to alter my expectations for how the system would work. Instead of looking for specific thoughts, I looked for an EEG signature that would be naturally easy to detect and that I could use to signal intent. The easiest such signal occurs whenever you close your eyes: For most people, when the eyes are closed, a strong 10-hertz brain wave begins across the back of the head, where the brain’s visual processing centers are located. The 10-Hz brain wave is such an obvious feature that it was one of the first signals identified when the EEG was initially developed (which is why waves with a similar frequency are called alpha waves). So to control my shark, I decided to focus on the brain signature of closing my eyes.

I pulled out my OpenBCI EEG kit and connected two electrodes to it. I placed one EEG electrode on the back of my head and then the other on a neutral location (my earlobe) to provide a reference signal. On my computer, I used software developed by OpenBCI to receive the data and to convert the raw time-varying signal data into the frequency domain, which made it much easier to look for peaks of activity at specific frequencies. I modified the software to look for a peak at 10 Hz and, if detected, to send a shark command out to the Arduino. As a result, whenever I closed my eyes, the shark swam forward.

While this worked great for commanding a single action, the shark is capable of five different motions: forward, left, right, up, down. One way to take advantage of this might be to map five distinct brain signals to the five different shark actions. The brain is not so easily read, however. I could not find five distinct yet easy-to-detect signals. As before, the solution was to alter my expectations. Rather than control the shark by myself, I decided it would be more fun to control it as a group. So I enlisted four friends.

Connecting five people at once to a traditional EEG is not really possible: Traditional systems permit only a single reference electrode against which all other channels are measured. But OpenBCI is built to be flexible, and each of its eight EEG channels can have its own reference electrode. Connecting five people to one OpenBCI board is not a problem.

With all five people hooked up, the computer looked for eyes-closed alpha waves in each person’s data stream. I modified the software to associate each data stream with one specific shark command. So, depending upon which shark motion we wanted, the correct person simply had to close his eyes.

As you can imagine, our coordination was poor. It was like those three-legged races, but with five people instead of two, and with our brains tied together instead of our legs. The outcome of this near-chaos was hilarity as the shark lurched through the air. But we did it. Five-person mind control! One heck of a parlor trick.

This article originally appeared in print as “Mind Control.”

Advertisement