Controlling A Robot With Your Mind

For [Ern]’s MEng group project, his group had to develop a robotics platform capable of achieving some end goal. Because innovation is a large part of the grade, [Ern] convinced his team members to work with a brain controlled interface and build a mind controlled robotics platform.

For wont of having an easy build, [Ern] and his team chose a Lynxmotion Tri-Track robot capable of moving around the classroom while receiving commands from a computer. The mind-control portion of the build comes from a NeuroSky MindWave Mobile, a cheap and fairly open EEG system that reads alpha, beta, and delta waves generated by a user’s brain and sends that data over to a computer for processing.

After a bit of testing that included an Arduino to move the robot forward if the MindWave’s ‘attention’ value was over 60%, [Ern] and his team looked for a way to implement multi-directional control.

In order to get the robot moving left, right, and backwards in addition to moving forwards, the team looked at the included ‘blink detection’ abilities of the MindWave to cycle through a few commands. This technique turned out to be far too sensitive – the blink detection of the MindWave is simply too good. To get around that problem, the team used the signal strength of the received EEG signals. The theory being when a user blinks their eyes, the EEG contacts will move slightly, degrading the signal received by the hardware.

The team finally got a reasonable mind-controlled robot up and working, as demonstrated in the video after the break. Check out how each blink allows [Ern] and his colleagues to cycle through driving modes. Pretty neat for controlling something with your mind.


16 thoughts on “Controlling A Robot With Your Mind

      1. Hey,

        Glad you like the project :D

        The blinks aren’t really brain-actuation, they’re more a change in the signal quality based on movement of the skin, so a different physiological interaction.

        But the start/stop functionality is triggered using a value output by the Mindwave headset which relates to your concentration level. It’s a proprietry algorithm but I suspect they use a weighted average of the Alpha, Beta and Gamma brain waves at that electrode position.


        1. hey ern great job..
          can u please let me know how to do it at home..
          i was very fascinate in the mindwave so i had already bought the mindwave headset
          but the arduino control is not possible… as the bluetooth modem i am using is hc 05 nd pairing is not efficient plz let me know if u can help me out..
          please send me the program as well…
          Thanksss …

      1. Hey,

        I agree that the directional controls are not mind control, but the blinks just set the drive mode (forward, back, left and right), and don’t actually move the robot. The actual movement is triggered by concentrating which causes the “attention” value to increase. So it’s not fully mind controlled but it is partially :)


        1. what are you thinking to move forward,backward,left,right,, also how to clasify each, what algo did you use (i.e. Hidden Markov Model, Artificial neural network, Gaussian mixture model etc., what did you use, MVAR,AR,PCA
          also correct me if i am wrong

          blink,think of moving to the left,blink, execute move to the left, Attention>Threshold, Move?

          how long do i need to think of moving to the left to execute it?
          how long does it take to turn in a certain direction?
          thanks in advance

  1. Facial/Gesture Recognition, Neural Interfacing, dynamic perching, physical/electronic weaponized , Decentralized & Distributed command & control…

    Its all part of this wonderfully wacky world of wonder.

    Just until they decide to use their own on-the-fly protocols to communicate….



  2. What is the logic u have used for making the robo move forward . We are trying to do a project based on mindwave.So , can you send me the programs used in your project.

  3. hello guys
    I have a Neurosky Mindwave headset ( white color with USB RF dongle ). I want an Arduino code that make me able to use Eye blink detection. For example, I have RGB LED and the Neurosky Mindwave. When I wink, the RGB LED turns respectively Red, Green, and Blue which is the natural mode. if I wink on the Red color, the RGB turns Red for 5 seconds the back to the natural mode.

    please help me.
    I am waiting for your response
    Sincere thanks and appreciation

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.