Emotiv EPOC EEG Headset Hacked
An Interview with Cody Brocious
Cody Brocious has created Cody’s Emokit project, an open source library for reading data directly from the Emotiv EPOC EEG headset. The Emotiv headset is a consumer EEG headset. In common slang, it’s a brain-computer interface. When you buy an Emotiv headset, you are told only to use Emotiv software with the device. Now, Emokit shakes up the status quo.
H+: So, why did you get into Emotiv hardware in the first place?
CODY BROCIOUS: A consumer-grade EEG headset is a game changer. In a lot of ways, the Emotiv EPOC is really novel. We have projects like OpenEEG where people can build these, but you have to invest $750 or more just to get something functional. At that point, there’s not much you can do unless you are into research. The average consumer isn’t going to be processing raw brain data. Since the Emotiv is at the right price point, what it does — and this is what’s big about it — makes it so that consumers can pick it up and start using cool apps that developers make up. That’s quite new in the brain-computer interface space. And in an open development environment, there are some really cool apps — some that we can’t imagine — and I think this is going to lead to something that we’ve never seen before. We’ve never had access to this equipment at the consumer price-point before, and now with Emokit and OpenViBE, there are a lot of possibilities for apps, from controlling your music with an Apple iPod in your pocket, or even robotics research. We’ve never really had this before. You can even imagine this starting to work with smartphones like the Apple iPhone or Android phones.
H+: How does Emokit work?
CB: Emokit — there’s not much to it. The library itself is dirt simple. Emokit proper — the actual library — talks to the EEG device using pywinusb and python-hid, depending on whether you are on Windows, OS X or Linux. Physically, the setup involves the Emotiv device, which transmits data over bluetooth, and the bluetooth dongle. Emokit gets a connection to the bluetooth-enabled device using a standard HID interface, and once it gets a connection, it gets 32 byte reports from the device that are encrypted. It decrypts them using standard AES, and once it decrypts them, it parses out the gyro data, a counter which seems to be for timing and it also parses out the actual sensor data. And then it just sends it to a queue that you can read from whatever you want, like a rendering interface. At the moment I am rendering with pygame, which beginning python programmers use to write video games.
H+: How would people use it?
CB: You instantiate the Emotiv object from Emokit, set the ID for the headset, then there’s a function that gives you a generator. You iterate over the generator to pop off data.
H+: That sounds simple.
CB: Yeah.
H+: What has Emotiv’s response been so far?
CB: I posted the announcement copy on their forums. They took it down within 2 hours, give or take a few minutes. There’s been a lot of hits. On the forum thread at the Emotiv forum there were 30 views by the time it was taken down. And then it was deleted. I figured most likely these people are viewing other news sites and they are going to hear about it that way, so it’s not a big deal. Overall, their forum moderator’s response is fairly typical.
H+: How do you think Emotiv will respond?
CB: As for how Emotiv is going to respond to any of this, there are a few different possibilities. They will probably just ignore Emokit. There is the possibility that they decide that fighting it in any way (like by ignoring it, which is a passive method of fighting) is not the way to go. As a result, they might relax the reigns on their software, or they might even put themselves behind this in some way. One way they might do that is by linking to it, in some way, or they might get involved in development. I find that scenario doubtful. There’s also the possibility that they will try to litigate or strong-arm me into taking it down, which won’t happen. They may well try, but it won’t be going down. They can do whatever they feel like, of course.
It’s clear that Emotiv is a company in the consumer brain-computer interface market. Basically, here’s what I would tell Emotiv. From a technical standpoint, the combination of Emokit and the OpenViBE toolkit is pretty ideal. OpenViBE is well known. It’s well respected and it’s quite established. From a business standpoint, Emotiv is spending a lot of money on software and they are limiting themselves as to who is going to buy it right now with their price point. There’s no way that open source developers will spend $750 for a toolkit that they can’t talk about. The lower price point is far better from a business standpoint because a lot more people are going to buy it if people can hack it and play around with it. A lot of people have been telling me that Emokit is exactly what they wanted, and they are now going to go buy an Emotiv. They’ve been holding out on buying Emotiv units.
Overall, the entire Emotiv EPOC system is very basic. Another company can come along and replace Emotiv pretty easily. They are missing out on a huge opportunity here, and time and again we see companies locking stuff down instead of harnessing developers. People like us are pushing this out to people, saying, “Hey go buy this, it’s cool, look at what you can do with it.” And the companies are missing out entirely on all of the benefits of social media and collaboration. Their current business plan is poor, to put it nicely. I think they are totally missing out.
H+: Who should buy an Emotiv?
CB: That’s a good question. At this point, if the Emokit project goes the way I want it to in the next week or two — then anyone who is interested in trying something new, interested in experimenting with something new, should pick it up. This includes budding transhumanists. Once the OpenViBE stuff is in place, it’s going to be wide open for hacking, by anyone.
H+: Who would be interested in using Emokit?
CB: Emokit is really simple. The target programmer is just about the average programmer. Your average programmer can understand the internals of Emokit if they wanted to. I think that people are going to use the OpenViBE module to talk to the Emotiv, and once that module is in place, you can use the drag-and-drop GUI to do things like raising and dropping a TIE-fighter. So that’s cool. The whole point of using OpenViBE though is so that you can pipe the Emotiv into any other software trivially, like games. Basically it’s like adding in new keyboard shortcuts or hotkeys. Once you have the Emotiv module for OpenViBE, there’s a ton that you can do with drag-and-drop programming and tying it into other code using a simple protocol. I bet that most people are going to use it that way.
Resources:
See Also:
Using Your Thought-Controlled I Phone to Dial Home
Mind Reading (Neural Decoding) Goes Mainstream
Thanks to Bryan Bishop for conducting this interview.
Hello,
i’m not sure if i understand it right. Can i use the Emotic Epoc headset consumer edition with the openvibe software because of this hack or is it only a project to make it possible in the future?
Hello,
can someone tell me if the hack is still working?
I have been looking for screenshots showing a visual representation of brainwave changes (eeg) when supplied with a stimulus from a device like a nova pro. I am also looking for similar screenshots that show brainwave changes when a subject is asked questions. I am looking for software that will do this and save results in 10-20 second intervals and allow a researcher to come back to a marked spot and analyze.
Hey, I have been contemplating getting there hardware for some time now and i have a few questions i just don’t trust ‘them’ to answer since when i contacted them last well they where more than rude. I am very interested in developing for there hardware and don’t now if i should go the epoc route or the eeg route could some one give me a side by side of the differences as a developer? Are there any other similar companies? Has anyone else had these battery issues? Thank you : )
I have also had battery issues on the Epoc. Namely, my battery died. So when I tried to charge it, there would be a red then green flick on the led, and that was it. I was offered to purchase a new headset, since mine was out of warranty. At this point I saw a 3.7v, 600 mAh battery with a pcb (protective circuit board built in). Now looking for a local supplier – but may have to purchase a bunch to buy from an alibaba distributor.
http://emotiv.com/ideas/forum/forum4/topic2266/
One user claims he found one battery slightly off size to use.
Thanks for writing this. I really feel as though I know so much more about this than I did before. Your blog really brought some things to light that I never would have thought about before reading it. You should continue this, I’m sure most people would agree you’ve got a gift. Thanks for sharing…
brain waves technology
Really nice information. It’s very helpful. I just need high res HMD to finish my set off for what I want to do. I just got a few more web cams for the winter run also, to take video of the fun/chaos I’ll be doing again. I wish I could have gotten a pic of the reaction of the company reps when they saw 3 EEG systems overlapping right after they said it wouldn’t work ROFL. I was like done, gone, it works, now I want to see others doing thing’s I wouldn’t think of. Though as you see it will not be shown on there forums. Thanks for sharing with us.
<a href="http://www.emotiv.com/"neural interface