Gaming With Thoughts/Mindwaves (w/ Arduino)





Introduction: Gaming With Thoughts/Mindwaves (w/ Arduino)

Gaming Contest

Runner Up in the
Gaming Contest

Make it Move Contest 2016

Second Prize in the
Make it Move Contest 2016

What do you think why we like videogames? The answer isn't hard: the videogames shows us new, extremly good challanges. I play videogames rarely, but my favorites are car racing and open world games just like Need for Speed and Grand Theft Auto series. Yes, these games are intrerestings, but after one month I didn't played with them so much. So I needed something new in my gaming experience. And...

I created a tool that allows you to play any games only with the power of your mind. This device can emulate W, A, S and D to play any games on your computer... This device is like a game controller for the mind. You don't need to press any key only think on steering left, roght or forward. Join me and enjoy the ultimate gamer experience.

I already made a brainwave based project (you can find here), but I just realized that this is too complicated for a simple maker. So I made a second version and I have some good news: it is very simple to build if you have some experience in Arduino, and costs less than $90in total. After gathering parts you can start building and after one a day of working you can control PC games with your mind.

You can modify the code to any keyboard or mouse button to play with. I used WASD because in racing and open world games usually are used these.

The theory is easy, the homemade Bluetooth headset can recognise brainwaves and transmits these to the Arduino Leonardo that anayzes signals then controls the videogame, it's that simple. All these in less than one second. What are you waiting for? I think this is my coolest project that I've ever made. My childhood dream come true.

Read the instructions, buy the parts, hack things and enjoy...

Step 1: Watch the Test Video!

Of course you need to practice a lot to control the games. And as you can see on my video that I'm not a very good driver, but I was able to move my car with my mind. It's extremly fun to play with. At first time I blew up my car, this is the second test. (I played with the GTA 5)

In the video I tryed to control the car and went very well. I come down off the road, and crashed a few times... That's because it's hard to record the video and control the game in the same time, and the brain cannot concentrate on two things perfectly. The driving experience isn't so easy and smooth like the keyboard's but it's much more cooler.

Step 2: The Science Behind the Project

Electroencephalography (EEG) is an electrophysiological monitoring method to record electrical activity of the brain. It is typically noninvasive, with the electrodesplaced along the scalp, although invasive electrodes are sometimes used in specific applications. EEG measures voltage fluctuations resulting from ionic current within the neurons of the brain. Diagnostic applications generally focus on the spectral content of EEG, that is, the type of neural oscillations (popularly called "brain waves") that can be observed in EEG signals. (thank you Wikipedia) But we're going to use two very accurate values.

  • Alpha is the frequency range from 7 Hz to 14 Hz. It emerges with closing of the eyes and with relaxation, and attenuates with eye opening or mental exertion.
  • Beta is the frequency range from 15 Hz to about 30 Hz. Low amplitude beta with multiple and varying frequencies is often associated with active, busy or anxious thinking and active concentratiion.

Basically the device can detect your focus level, your meditation level and blinks. The more focused you are the higher the "attention" level becomes, the more relaxed you are, the higher the "meditation" level becomes.

Step 3: Games Made Directly for Mindwaves

This hacked Necomimi toy is compatible with every game/app that is made by NeuroSky. In the NeuroSky Store you can find many interesting adventure games. On the pictures you can see screenshots of a trackor racing game, brainwave visualizer and an app that is made for testing the headset.

The problem with these games was that they weren't enough interesting after a few hours, they become boring. So I started to build the project, I wanted to play real games with my thoughts.

Step 4: Tools and Materials

Click on the part to watch the purchase links. The parts are from the because of their very low prices. If you want to build the project don't hesitate buy the parts now. You don't need any special tools only simple workshop tools. The total cost is less than $100.


  • Glue Gun
  • Double Sided Tape
  • Soldering Iron
  • Solder




Parts for the Headset:

Parts for the Reciever:

Step 5: Configuring Bluetooth Modules

HC-06: First load up the sketch named “HC_06_Bluetooth” to an Arduino UNO then connect the Bluetooth module as the schematic shows. I found this schematic on Artronix team's website and seemed to be useful.


void setup() {
   // Start the hardware serial.
Serial.begin(9600);  // default HC-06 baud rate
Serial.print("AT+PIN"); // to remove password
Serial.print("AT+BAUD7"); // Set baudrate to 576000 - eg Necomimi dafault
Serial.begin(57600);    // 
void loop() {

Open your Serial Monitor in the Arduino IDE and wait until the Arduino configures the BT module. Now your Bluetooth module is set to 57600 baud rate. You can try out a lot BCI (Brain Computer Interface) apps, because this hacked bluetooth Necomimi toy will be compatible with every Neurosky apps. You can use these apps to learn to control your brainwaves and values, like attention or meditation. You can try a lot of cool games, but I recommend these apps (they are compatible with PC, iOS and Android):

HC-05: Then use the "HC_05_Bluetooth" and load up to your Arduino the same way like before. Connect "EN" pin of the HC-05 to the 3v3 of the Arduino. You should write the adress of your HC-06 module in the code. Check the adress of the BT module with an Android smartphone, like me. Replace ":" (double dottles) with "," commas in the code.


void setup() {
  // Start the hardware serial.
  Serial.begin(9600);  // default HC-05 baud rate
  Serial.println("AT+ROLE=1"); //set the HC-05 to master mode
  Serial.println(" AT+LINK="copy here your adress"); //now the module should connnect automatically
  Serial.print("AT+UART=57600,1,0"); // Set baudrate to 576000
   Serial.begin(57600);    //
void loop() {

Check the HC-06's adress with an Android phone (see on the picture). And you should change the adress in the code: 20:15:09:15:17:82 ==> 2015,09,151782 This way the HC-05 module can recognise the adress. So just leave some ":", because they aren't neccesary. From now your Bluetooth modules should connect to each other. If you still have probles read this article.

Step 6: Hacking the Necomimi Toy

I love hacking toys so I bought a brainwave sensing toy called Necomimi, that is able to move its ears depending on your brainwaves (attention, meditation). This is the most useless toy that I’ve ever saw, but there’s inside a small chip that reads brainwaves, filters noise and gives a very good signal. Works with UART (Serial) interface, so with some hacking we can use Arduinos to read brainwaves. The role of this headset is to transmit brainwaves wirelessly to the Arduino Leonardo. Nobody wants cables on his head so I created this comfortable and user friendly headset.

Go downer to see how to take apart and make a wireless Bluetooth headset out of it. Follow the pictures too:

We want to modify this EEG toy to transmit data via Bluetooth so first take apart the case. The screws are under the sticker. Remove the sticker and the back of the device and you’ll find inside a small circuit. The one that is under the main circuit is the Neurosky TGAM chip. This is connected with four header pins to the main microcontroller board so take a soldering iron and remove this circuit carefully. Now you can build in your own rechargeable power source. I used a 500mAh Li-Ion battery, a USB charger circuit, a 5v step up circuit and two resistors (100 ohm and 200 ohm) to ensure a perfect 3.4 volt power supply for the chip and for the Bluetooth module. Follow the schematic to build the circuit that is needed in the headset.

Step 7: The Rechargeable Power Source

Following the circuit schemantic create the circuit that will be placed in the headset. After removing batteries, circits and all unneded stuff from the original headset using some double sided tape mount everything on the headset's left side. First create the battery's circuit with charger circuit and with 5vstep up module. After this make a voltage divider with the 2 resistors for 3.3 volts. This ensures the power for the sensor. Now solder a wire to the to the T-pin. The T-pin is the transmitter pin with 57600 baud rate that sends data to a HC-06 slave BT module.

Step 8: Assembling the Reciever

I placed the whole circuit on a hobbyglass. With some double sided tape mounted the Arduino Leonardo and the breadboard on the hobbyglass then plugged in the Bluetooth module and the LEDs. Use here the HC-05 Bluetooth module that is already configured. Use some jumper wires and make the following connections:

  1. Arduino Leonardo-5v to Bluetooth-VCC and to cathodes of the two LEDs
  2. Arduino Leonardo-GND to Bluetooth-GND
  3. Arduino Leonardo-D9 to Bluetooth-TX
  4. Arduino Leonardo-D5 to Red LED
  5. Arduino Leonardo-D6 to Green LED

That's all so now you should write a code or download mine in the next step.

Step 9: Software

The Arduino Leonardo board is able to emulate keyboard or mouse. Using this feature I made a code that emulates WASD and controls many games on your computer. The NeuroSky uses eSense values: attention and meditation from 1 to 100 and detects blinks. If the eSense value reaches the limit (70 for meditation and 65 for attention) or detects blinks emulates a pressed key.

The role of the two LEDs is to indicate when you reached the attention or meditation limit. The red indicates attention and the green meditation.

Plug in your Arduino Leonardo and load up this code. Download the libraries from the Software Parts step. The Bluetooth modules are already configured so after loading up the code you can start playing video games.

Code created by Tamás Imets for playing videogames with mindwaves Feel free to use it 25th of March, 2016 */

#include <Mindwave.h> #include <SofwareSerial.h> #include <Keyboard.h>

SoftwareSerial bluetooth(9, 8); //softwareserial pins Mindwave mindwave; //mindwave library activated

int medlimit = 70; //set limits int attlimit = 65; //set limits

void setup() { bluetooth.begin(MINDWAVE_BAUDRATE); //set Baudrate pinMode(5, OUTPUT); //setup pins pinMode(4, OUTPUT); //setup pins } void onMindwaveData() {

if (mindwave.quality() < 95) { /if you blink Keyboard.write('w'); //presses W


if (mindwave.quality() == 100) { Keyboard.write(' '); }

if (mindwave.meditation() > medlimit) { //if you meditate digitalWrite(5, HIGH); Keyboard.write('d'); //presses D


if (mindwave.meditation() < medlimit) { digitalWrite(5, LOW); Keyboard.write(' '); }

if (mindwave.attention() > attlimit) { //if youe focus digitalWrite(6, HIGH); Keyboard.write('a'); //presses A }

if (mindwave.attention() < attlimit) { digitalWrite(6, LOW); Keyboard.write(' '); } }

void loop() { mindwave.update(bluetooth, onMindwaveData); }

Step 10: How to Use It?

It's very easy to learn to use the device. A few hours of practice makes you a real driver, you will be able to control almost any games with it. Only your brain needs to get used to control its activity. If the device is done follow these steps to us your mindwave game controller.

  1. Put the headset on your head.
  2. Plug the reciever in your computer.
  3. Check if the Bluetooth modules are connected.
  4. Enjoy the Ultimate Gamer Experience.

To control the game make the following things:

  • Blink to start the car (emulates "W" key)
  • Blink again to stop (emulates "Space" key)
  • Relax a bit to steer right (emulates "D" key)
  • Focus to steer left (emulates "A" key)

Step 11: Testing the Circuit

Power up the circuit and try to increase your attention or meditation levels. If the LEDs light up that means you made a good job. Now you can try to play games.

Step 12: Gaming!!!

The future is here! Play your favorite video games with the power of your mind. You can play GTA, Need for Speed, action games, online games... Anything! Play online games on any website... Be Creative!

Step 13: Thank You for Watching!

Have fun while playing with your mind. If you liked my Instructable and my idea please give me a kindly Vote. Write your opinion in comments and thanks again!



    • Trash to Treasure

      Trash to Treasure
    • Paper Contest 2018

      Paper Contest 2018
    • Pocket-Sized Contest

      Pocket-Sized Contest

    We have a be nice policy.
    Please be positive and constructive.




    I tried to do this project but I am having some problems. The bluetooth is not sending any values to the arduino. I think the nicomimi is broken but it worked with the cat ears. Is there a way to check if the brain wave sensor is working correctly after dismantling it?

    Dude, that is awesome! Imagine connecting it to VR it would be a totally new experiance.

    I have all the devices and arduino and code. I tried to make this device but code is not working..

    Did this project not work.?

    will this project work with the Arduino Uno R3 board. If so, what modifications would I need to make with the code?

    So when coding the Arduino to the HC-05 Bluetooth Module to read the MAC address of the HC_06 Bluetooth Module,we kept getting an error in the code "

    exit status 1
    missing terminating " character"

    We need help with it

    hey, what kind of game we can play with this , is there any restriction to certain games, if it has limitation then then how we can make it a universal gaming module, plz explain..

    This is incredible! :)

    Could this work with Minecraft?