Fast, easy toolkit for developing brain control interface apps for the Emotiv consumer EEG headset in C#.

The eSharp Project

(Please use the Indiegogo share tools to help spread the word and tell your contacts on Facebook, Twitter, Google+, and others! Thanks!)

Emotiv EPOC headsetBrain control interfaces are changing human computer action in exciting, profound new ways. One of the brightest and boldest engines driving this change is the affordable Emotiv EPOC consumer EEG headset. This 14-electrode headset can detect facial gestures, head movements, even strong thoughts or feelings. The goal of the eSharp project is to bring this technology to the massive C# developer community with a powerful toolkit that wraps the power of the Emotiv SDK in a convenient, easy to use set of components and gadgets.

If the project reaches the top funding goal the toolkit will include the tools I created to support the Evernote Windows COM API, my favorite developer API of all time. Although you can combine the eSharp toolkit with any API or SDK you desire or your own custom C# code, take a moment to Imagine the extraordinary software apps you could develop when you combine the power of a brain control interface with the leading information management service!

This is the important part. As a modern software developer you know how vital a rich set of mature tools and solid use case examples can be to a software development project, especially since time is always scarce and deadlines are relentless. I am a veteran programmer that has spent the last few years developing applications for the Emotiv EPOC. I already have an existing toolkit for the EPOC written for Delphi 6 that dramatically reduces the time it takes to develop brain control applications, allowing me, and soon you, to concentrate on the fun and intriguing parts of the app instead of the Emotiv SDK. My affection for Delphi is as deep as the ocean but the reality is C# is also a terrific development environment and the dominant player in the PC desktop marketplace, so that's where I'm heading. The purpose of the eSharp project is to raise the funds needed to provide the time and tools necessary to port my existing toolkit in Delphi to C#.

The Project Goal - Open Source C# Toolkit

Visual C#The end result of the project will be a set of open source tools for C# ported directly from my existing Delphi toolkit. The open source license will be a liberal BSD style license instead of a license that requires you to take actions that you may not be able to comply with. It will be a "just use it" license instead of one that requires you to share your source code. If you get rich building the next killer app with brain control then you keep all the rewards.


Delivery Date

The project will be delivered by the end of this year by December 31, 2012.

Who Am I?

My name is Robert Oschler, a veteran programmer with a passion for pushing the envelope of what computers and software can do. Please see the list of quotes about my work and myself at the bottom of this page. For a quick overview see this New York Times article that talked about my work with robots and the Emotiv EPOC.  Also, you will find a wealth of comments about my work and myself near the bottom of this page.

SourceForge Project Of The MonthRobodance, the app mentioned in the article, used the same toolkit that is shown in the video and at the heart of the eSharp project. Later I added the ability to record movies of remote telepresence sessions directly to Evernote. Robodance won the prestigious Project Of The Month award from SourceForge, the largest open source respository on the web in May 2005.

Detecting Facial Gestures

eSharp contains a wealth of events that fire whenever the EPOC detects a facial gesture, so you can write apps that detect smiles, laughs, eye blinks, and more, opening the door to intriguing new apps that can change based on the users mood, or note when they have a positive or negative reaction to entertainment media like videos, pictures, etc., an example of this was shown in the project video. There is one easy to use event for when the facial gesture starts and another for when it stops, giving you all the information you need to react to a facial gesture when it begins and ends, or to note the exact time interval a facial gesture occurred in.

Detecting Head Movement

There are convenient events that fire whenever the EPOC detects head movement giving you easy access to the horizontal and vertical head movement change values. eSharp goes even further than the Emotiv SDK by providing higher level events that tell you when the user shakes their head YES or NO, which can be useful for EPOC based dialogs that prompt the user for action, or for creating applications that can tell when a user agrees or disagrees with the current content like during a Skype call, a watching video or speech, or anything else your imagination as a developer conjures up. It even has a built-in event for detecting a series of voluntary eye-blinks by the user, an effortless movement that can be used to trigger key actions in your software.

Detecting Mood or Mental State

Emotiv Brain Activity MapYou can even record or react to the user's mental state detecting key attributes like Frustration, Boredom, Engagement, and others. The eSharp component gives you easy access to those values from the provided events as shown in the YouTube example in the pitch video that combined mood detection with the Evernote API.


Detecting a Strong Thought or Feeling

One of the most fascinating features of the EPOC headset is that it can be trained to detect a strong thought or feeling the user has and then detect or react to that thought or feeling when the user experiences it. The eSharp component provides a set of events that fire for each key event that occurs during the training process. More importantly, one of the many examples that will be provided as part of the project is how to use the component to do training and you can use that example to build your own code for your application.

Extended Gadgets

Included in the eSharp project as "bump goals" are a set of extended gadgets that make the development of key exciting brain control applications far easier. Each extended gadget will include full source under the same liberal license for the entire project, and will include a well documented example to help you use it.

 [$4000 level] Bump Goal 1: Tag Cloud Viewer

If this level of funding is reached I will port the Tag Cloud Viewer gadget shown in the pitch video to C#. Alternative user interfaces require new programming idioms like the Tag Cloud Viewer. The Tag Cloud Viewer is an EPOC friendly way to display a list of choices to the user that is intuitive and visually engaging.

[$5000 level] Bump Goal 2: Enhanced YouTube Video Player

If this level of funding is reached I will port the Enhanced YouTube Video Player gadget shown in the pitch video to C#. This gadget makes it easy to load and control the play of YouTube videos while providing the information necessary for integration with eSharp, especially the current video location so you can tie various EPOC detections easily to the current video location.

[$6000 level] Bump Goal 3: Evernote API component with ENML checker 

Evernote LogoThe grand prize. I will include a new component that provides fast convenient access to the Evernote COM API. As a bonus I will add a new feature that integrates the open source XmlLint utility. Evernote developers know that Evernote's ENML specification for notes added to a data store is very restrictive and the slightest error will trigger a parsing error. Currently you get back a blanket error when you create notes that does not tell where the problem lies. You then have to take the content of the note and run it past an XML checker like XmlLint to find out where the problem is. If this funding level is reached not only will I port over my Evernote API component that makes using the Evernote Windows COM API easier, I will add code to interface with XmlLint. There will be a debug flag that when set, will make the Evernote API component run the content of all notes submitted to the Evernote API through XmlLint and report any errors in detail so you can track down and eliminate ENML errors effortlessly.


Brain control apps are a fantastic new field of software development that borders on the surreal. With your help we can spread this revolutionary new technology to countless new people by enabling the army of C# developers around the world. If you are a C# developer yourself looking to jump in on the fun and the lucrative opportunities this new technology is creating, then here's a chance to get started quickly while taking a big chunk out of the learning curve. Better yet, you'll get the source code so you'll have the peace of mind of knowing that there are no barriers to your creativity if you decide to take it further or need to fix any bugs.

Please contribute now and thank you for participating!

Quotes About My Work and Myself

Here are some quotes about me from some of the most talented inventors and entrepreneurs in the world.

Red Bullet"Thanks for submitting your project to this year's Devcup! Robonote is
definitely one of our favorite submissions and we really want to
continue working with you on it."

-- Julien Boedec - Developer Advocate at Evernote

Red Bullet"Robert Oschler has shown himself to be a 21st century media-robot renaissance man. Sing, program, video, and can pull it all together admirably. He's been a one-man pro-robot advocate and as such will be one of the last destroyed during the machine uprising."

--- Mark Tilden, Robotics Physicist and inventor of the best-selling Robosapien line of robots distributed by WowWee, Ltd.

Red Bullet"Robert is one of the few developers who really understands the future of Robotics."

--- Caleb Chung, inventor of the mega-hit Furby animatronic toy and the Pleo baby robot dinosaur.

Red Bullet(Regarding my Rovio spy robot demonstration with the EPOC EEG headset).
"This is a great demonstration of the capabilities of the Emotiv EPOC. Robert has cleverly integrated several applications with the Emotiv SDK to provide a remote roving security robot under full hands-free control of the user. The application takes advantage of encrypted remote internet control and video acquisition using Skype to provide a secure and foolproof link to the robot, which could be in your apartment, inside a nuclear reactor or even on Mars (expect a bit of transmission lag for your Martian robot)."

--- Tan Le, CEO of Emotiv Lifesciences.

Red Bullet"Robert has a been a great supporter of WowWee's consumer robot products over the years. His program Robodance is an impressive software program that really highlights the features of our best-selling line of robot products, and also makes them easier to use. In addition, he has an unusual knack for getting the praise and attention of the top gadget blogs and web sites like Gizmodo, Engadget, SlashDot, and many others who have covered on numerous occasions his video reviews and high tech demonstrations involving our products. His best work though has been with Rovio, our WiFi enabled mobile spy cam robot, a revolutionary product for home telepresence. His recent video, where he used the Emotiv EEG headset to pilot a Rovio remotely over a Skype video call using only his thoughts and facial gestures, has become an instant favorite with us."

--- Amy Weltman, VP Marketing, WowWee USA Inc.

Industry Awards

SourceForge Project Of The Month

In May of 2005 version 2 my Robodance software program won the coveted “Project Of The Month” award from SourceForge.net, the largest open source repository in the world. Out of thousands and thousands of software projects, SourceForge awards just one of them the Project Of The Month award for the current month. Note, Robodance 5 is not open source.


Quotes about a previous project of mine: Robodance

Red Bullet“Amazing i-SOBOT & WiiMote Mash-up (Video)”

--- Lem Fugitt, one of PC Magazine’s favorite bloggers in his post about the Robodance 4 sneak peek video I released late last year.

Red Bullet"In my opinion this (Robodance, my software program) is the gold standard that all other PC based control programs should seek to emulate."

--- Jamie Samans popular book “The Robosapien Companion”, pp. 211

Red Bullet"Using Emotiv's SDK and his own Robodance software, RobotsRule resident mad scientist Robert Oschler hacked together a system that allows him to use the headset to control the robot remotely via Skype. We can't find a good reason to put this all together except one: it's totally awesome."

--- Matt Hickey, Crave blogger at C|Net and also a writer at Gizmodo.

Red Bullet"You've seen Rovio hackery before, but not like this. Not with MIND CONTROL and Skype both involved. In regards to my Robodance software and the Rovio spy robot."

--- Kat Hannaford staff writer at Gizmodo.

Created By: