Introduction: Gaming With Thoughts/Mindwaves (w/ Arduino)
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 Gearbest.com 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.
Tools:
- Glue Gun
- Double Sided Tape
- Soldering Iron
- Solder
Parts:
Software:
Hardware:
Parts for the Headset:
- Necomimi Brainwave Cat Ears ($50 on Amazon)
- 650mAh Lithium Ion Battery ($3 on Gearbest)
- Lithium Ion Battery Charger ($1 on Gearbest)
- 5v Step-Up Module (Take apart the product and salvage the circuit that contains the Li-Ion charger and step up modules. This way you'll have a charger and power supply circuit.)
- 100 ohm and 200 ohm resistor
- HC-06 Bluetooth Module ($5 on Gearbest)
- Wires
Parts for the Reciever:
- Arduino Leonardo ($11 on Gearbest)
- Mini Breadboard ($1.2 on Gearbest)
- Jumper Wires
- One Green and One Red LED
- HC-05 Bluetooth Module ($3.5 on Gearbest)
- Plexyglass/Hobbyglass
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.
//HC-06-Bluetooth void setup() { // Start the hardware serial. Serial.begin(9600); // default HC-06 baud rate delay(1000); Serial.print("AT"); delay(1000); Serial.print("AT+VERSION"); delay(1000); Serial.print("AT+PIN"); // to remove password delay(1000); Serial.print("AT+BAUD7"); // Set baudrate to 576000 - eg Necomimi dafault delay(1000); Serial.begin(57600); // delay(1000); } 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):
http://store.neurosky.com/products/brainwave-visua...
http://store.neurosky.com/products/eeg-analyzer
http://store.neurosky.com/collections/android/pro...
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.
//HC-06-Bluetooth void setup() { // Start the hardware serial. Serial.begin(9600); // default HC-05 baud rate delay(1000); Serial.print("AT"); delay(1000); Serial.print("AT+VERSION"); delay(1000); Serial.println("AT+ROLE=1"); //set the HC-05 to master mode delay(1000); Serial.println(" AT+LINK="copy here your adress"); //now the module should connnect automatically delay(1000); Serial.print("AT+UART=57600,1,0"); // Set baudrate to 576000 Serial.begin(57600); // delay(1000); } 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:
- Arduino Leonardo-5v to Bluetooth-VCC and to cathodes of the two LEDs
- Arduino Leonardo-GND to Bluetooth-GND
- Arduino Leonardo-D9 to Bluetooth-TX
- Arduino Leonardo-D5 to Red LED
- 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); }
Attachments
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.
- Put the headset on your head.
- Plug the reciever in your computer.
- Check if the Bluetooth modules are connected.
- 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!