3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.


Brain-Controlled Wheelchair

Brain-Controlled Wheelchair
«
  • DSC_0032.bs.JPG
  • DSCN0638.JPG
  • DSCN0528.JPG
  • DSCN0650.JPG
Hello!  A lot of people have written us saying they are building a Brain-Controlled Wheelchair, and that's great!  We look forward to helping you get through the hard parts, but some of you won't need any help (maybe).  What we want from you (all of you) are pictures!  Or at least a message saying "Hey, we're doing it and we're in (location)" so we can get all excited.
Thank you and Good Luck!


This Instructable will show how to make a Brain-Controlled Electric Wheelchair, so that a person can become mobile without moving their body.

This could be useful for people who are paralysed, and are unable to control parts of their body enough to physically activate the joystick of an electric wheelchair.  Many people may be able to use this technology to gain some independence, and to take a break from needing an attendant to push their wheelchair so they can get some fresh air.

The parts of this system include an electric wheelchair, a laptop computer, an Arduino, an interface circuit, an EEG headset, and a collection of ready-made and custom software.

The software which was written specifically for this project (including the GUI and Arduino sketch) has been bundled with Puzzlebox Brainstorms, and is released freely under an Open Source license.

The EEG headset, which connects wirelessly to the laptop, allows the operator to simply think "forward" or "left" or "right" to cause the wheelchair to move.  Performance is related to practice by the user, proper configuration of the software, and good contact made by the EEG electrodes on the scalp of the operator.

The interface circuit connects between the Arduino's digital pins and the joystick of the wheelchair.  When the Arduino receives a command from the computer, it causes the circuit to "fool" the wheelchair into thinking that the operator has moved the joystick.

WARNING:  Electric wheelchairs are designed for trained operators who have practised manoeuvring safely.  Electric wheelchairs can weigh upwards of 200 pounds EMPTY!  They have no mechanism to stop when they hit a human or an animal, or go off a curb or down stairs or right through a bannister.  Make sure no one is in the path of a wheelchair which is not being operated by a human who can operate the OFF switch.  Make sure everyone in the vicinity of this Instructable realizes what may happen if they don't get out of the way. 

Do not attempt to stop an electric wheelchair with your body.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Acquire materials

Acquire materials
«
  • DSCN0654.JPG
  • DSCN0535.JPG
  • DSCN0518.JPG
  • DSC_0068.bes.JPG
  • DSC_0056.rbes.JPG
To build this Instructable, you will need an electric wheelchair, (We used an Action Arrow Storm Series), an EEG Headset, (We used an Emotiv wireless headset),  a Laptop Computer, an Arduino, and an interface circuit made from basic electronics, (see step 5 for materials for the interface circuit).

The Electric Wheelchair was acquired as an unwanted extra from a local repair shop.  It was not considered serviceable for disabled persons because its condition was below standard.  If you hear of someone in need of an electric wheelchair who is low on funds, encourage them to ask repair shops for unwanted chairs.

The EEG Headset is an EPOC acquired from Emotiv.  Their site is here:
http://www.emotiv.com/

The Laptop Computer was Steve's but any laptop will do, it only needs to have two USB ports - one to connect to the Arduino, and the other for the EEG headset's Wireless receiver. 

An Arduino is a small microcontroller platform with a USB serial interface.  In this case, it serves as a bridge between the laptop computer and the interface circuit (see steps 5 and 6).

Originally, the Arduino was not used, and the interface circuit was connected directly to the parallel port of the computer.  The computer we eventually used does not have a parallel port, so the Arduino performs the function of providing eight on/off signals based on a packet of serial data sent through its USB interface.  So if your laptop has a parallel port but is new enough to run the Emotiv software, you might be able to skip the Arduino.
« Previous StepDownload PDFView All StepsNext Step »
58 comments
1-40 of 58next »
May 4, 2011. 9:12 AMnescartel says:
Jerkey, what a great project! People will seriously benefit from this!

One question though, I looked at Emotiv's website, and there are 2 types of EEG headsets, one is for consumer use ($299), and another one is for developer ($500). So which one are you using for this project?
May 5, 2011. 1:12 PMpuzzlebox says:
Hello there, I managed the EEG side of this project.

We did use a "research" version of the Emotiv headset (one step above the "developer") but because we only used the Emotiv Control Panel and EmoKey utilities to interface with our own software there's no reason why you couldn't reproduce our results with just the $299 "consumer" headset.

Incidentally, if you only wanted to control forward movement, you could get away with a NeuroSky MindWave which retails for $99 as there is also support for this hardware in Puzzlebox Brainstorms. The latest release allows "blink control" to select which direction a robot might be steered so we could do something similar for the wheelchair - that is to say, mental concentration would move the wheelchair forward, and blinking several times in a row rapidly would cycle the "forward" direction between left, right, or reverse.

If you want finer levels of control however (it is difficult to start and stop "concentrating" on demand) you will probably want to stick with the Emotiv headset.

Cheers

Steve Castellott

Apr 18, 2012. 1:30 PMcarmeliux05 says:
I am using PSoC for my conrtoller. I need to know what is being sent by the wheelchair control panel so I can tell my PSoC what to look for. Will I need to alter the python code in anyway, How can I verify that my left from Epoc is left in puzzlebox? How does puzzlebox know I just went left with the emokey? Should i type the keystroke first or as soon as I move the box left in the emotiv control panel puzzlebox knows what left is?

Thank you for this great product.
Apr 22, 2012. 12:06 PMpuzzlebox says:
Hello there.

You can find source code for Puzzlebox Brainstorms talking to our wheelchair's controller in the following two files:

Wheelchair_Control.py

puzzlebox_brainstorms_wheelchair_noisebridge.pde

Our code was specific to our controller, but a similar technique to the one we used might be possible for you. I couldn't really say in more detail without knowing the specifics of your hardware.

EmoKey is a program included by Emotiv with their EEG headset, or can be downloaded for free as part their "SDK Lite" package. It will you to declare a direction or detection you want to look for (such as "Left") and assign that to a keyboard keystroke (such as the Left Arrow key). A good way to test EmoKey is to assign letters of the alphabet to each direction and then load and place Notepad in the foreground. It should print out keys when they are detected. You can use "w" "a" "s" and "d" to mean "Forward" "Left" "Backwards" and "Right" and those keys will work with Brainstorms as well.


Finally that said Puzzlebox is preparing to release an updated version of Puzzlebox Synapse which supports the Emotiv headset and eventually you will be able match detections there directly.


Cheers

Steve Castellotti


Apr 2, 2012. 5:28 PMrobertmandelli says:
Hi, I wonder if we can control 5 relays instead of a joystick. If we modify the Arduino skatch we can pilot 5 relays that could be interfaced to a wheelchair special control module. The modern chairs has special interfaces able to connect many imput devices, please see www.pgdt.com and Omni R-NET interface. What they need is just 5 "clean" normally open contacts, Forward, Reverse, Right, Left, Mode selection.
Plese let me know your advices.
Sep 24, 2011. 11:56 AMkmetiquette says:
hi !
i started working on this project recently
your website is really of great help!!
the thing is that we are trying to develop a more economic design for the indian users, all i want to know is that what are the changes we need to make with respect to your model if we use conventional eeg electrodes
lots of thanks !!
Sep 26, 2011. 9:21 AMkmetiquette says:
we are planning to use a conventional eeg cap fix electrodes then connect it to acquisition system then use filters,dsp processors, and driver circuits then connect it to the laptop then give its output signal to an interface circuit ,as suggested in your website and connect it to an electrical wheelchair.
what do you think? you can even suggest an corrections
thanks!
Jan 13, 2012. 3:14 AMlokinou says:
hi,

The main differences is that you will need at least 30 min for cap preparation (electrolyte gel, check impedances etc).
But you are wise to avoid Emotiv caps wich are made with dry electrodes, have incomplete cortex coverage. It records very well muscles artifacts, but it can hopefully process P300.
Then you can find free software solutions with OpenViBE if you have the appropriated drivers.
You need to know what paradigm you want to use and how many degrees of control you want to have.
Jan 13, 2012. 3:03 AMlokinou says:
Before gettin excited, read that text from step 9

Emotiv software is very good at training at least one direction direction for control [...]. However it seems that most if not all users have trouble training a second or third direction.[...] For this reason it is recommended when first using the software to "cheat" for left and right control by using facial muscles
Jan 11, 2012. 6:05 AMajin_m says:
Sir,
I want to know which type of EMOTIV headset is suitable for this project & what is cost of the headset.
Nov 28, 2011. 9:16 AMsasi bindu says:
hello sir,i am doing voice controlled wheel chair for the people who have both leg&hand impairments.for this we have arranged scooty motor for wheel chair and i have arranged corresponding accelerator.i have fixed a chain like arrangement between accelerator and a gear motor.by using hm2007 module the speech command can control gear motor.but sir i am facing a problem that i cannot control speed in desired way as in manual operation.sir can u please help me ?how can i make use of ur project to mine for efficiency?
Jul 24, 2011. 7:40 AMamohan2 says:
its really super..... iam interested to this project... can you help me.....
Jul 3, 2011. 7:50 PMasheth2 says:
hey ,seems cool,is it safe tho to control the chair? you guys face any malfunctions
Jul 4, 2011. 4:22 PMasheth2 says:
thnkyou for replying to my query
well practice is needed to drive even with a joystick, so is it good to implement to regular use or should wait for more improvements to happen? and how does the headset responds in controlling the wheelchair? hope you don't mind with my barrage of my questions..i myself drive a wheelchair so wanted to try this out
Jun 8, 2011. 11:43 AMamrit0003 says:
thanks,for updating this link...but the code requires comments after each line for complete understanding of the working of arduino
Jun 7, 2011. 1:51 PMamrit0003 says:
arduino sketch link is not working ,please update it
Jun 8, 2011. 10:53 AMpuzzlebox says:
Thank you, nice catch. After some housecleaning the path ended up slightly different. The URL has been updated in the document. Cheers.
Jun 7, 2011. 10:58 AMzoovif says:
I have ALS (bka Lou Gehrig's disease), and I while I am still able, I would love to makes this happen. Thanks for this post.
May 25, 2011. 6:38 PMtinker234 says:
my mum says she will take one in pink
Feb 12, 2011. 7:40 AMmemo88 says:
It very nice project ,we're in the final steps, but we couldn't figure out how could we connect emotiv epoc to the puzzlebox(brainstrom) could you help us if there are any specific options to connect them ?
Feb 22, 2011. 3:34 AMpuzzlebox says:
You need to use EmoKey to have the Emotiv EPOC simulate key presses to Puzzlebox Brainstorms. The file is included in the install package or you can download it here:

http://brainstorms.puzzlebox.info/tracker/browser/trunk/brainstorms/emokey/puzzlebox_brainstorms-wheelchair.ekm


Cheers
Jan 15, 2011. 8:08 AMamrit0003 says:
sir ,i want to make this instructable ,but i want to use parallel port only and no arduino.will this software "puzzlebox brainstorms" sends data to parallel port of computer automatically ?...
Jan 17, 2011. 4:01 PMpuzzlebox says:
Amrit0003- I am the author of the Puzzlebox Brainstorms software. No, you cannot use the GUI interface or command line tool to talk to the parallel port though this was originally the method used. Really it should be possible to use an Arduino (or Arduino clone if cost is an issue) to talk directly to the wheelchair's joystick and replace the parallel interface portion of the hardware. Indeed this is the course of action I would recommend if starting from scratch. Unless the electric wheelchair you are using is exactly identical it will likely be necessary to re-engineer the hardware interface portion of the project anyway and as computer hardware which has a parallel port is very difficult to find and drivers for all of the USB-to-Parallel converter cables we were able to find in the course of our research were not supported by Python, an Arduino which comes standard with USB interface was the preferred solution. Finally if you do end up completing your project I would very much like to add support for your wheelchair to the Puzzlebox Brainstorms software. Please feel free to get in touch with us at any time http://brainstorms.puzzlebox.info Cheers.
Dec 19, 2010. 3:22 AM9ale7 says:
Good Luck :)
Dec 12, 2010. 8:29 AMTimeDroid says:
i can walk but it would be fun to control a dune buggy with your brain!!!
Dec 12, 2010. 11:20 AMbowmaster says:
Or a gun turrent. Have the forward and backward controls be up and down, the left and right the same, and stop would be fire.
Dec 13, 2010. 12:45 AMtypenamehere_____ says:
dude, have you ever seen the emotiv headset before? You don't need to think in terms of the wheel chair- you can make the commands anything you like, such as "fire" "forward" "fire RPG" or whatever. And in that case, you could make it so that you have just a person sitting in on a couch controlling it while eating chips.
http://www.ted.com/talks/tan_le_a_headset_that_reads_your_brainwaves.html
Dec 13, 2010. 8:02 AMbowmaster says:
Do you know how many commands that thing can read? A mind controlled battle-bot would be awesome, or maybe multiple turrets.
Dec 13, 2010. 11:18 PMpuzzlebox says:
The enthusiasm is very much appreciated, but it would probably be useful to re-read Step 9, which talks about the capabilities and limitation of the learning algorthim used with the Emotiv headset:

"In our experience the Emotiv software is very good at training at least one direction direction for control, for example thinking "Push" to drive the wheelchair forward, and allowing that user to "turn on" or "turn off" that single command at will. However it seems that most if not all users have trouble training a second or third direction as effectively as the first. For this reason it is recommended when first using the software to "cheat" for left and right control by using facial muscles (which is technically EMG, not EEG) for example closing one eye to move left or right or clenching either side of the jaw."

So while yes, the software will allow you to train multiple detections (actually I think you might be limited to four) which can each be used to control a different motion for driving the wheelchair or even a separate device, in reality one shouldn't expect "unlimited thought control" with current consumer-grade technology.

Now that said there have been some incredible advances in the field of BCI research (including a paradigm which allows six-direction detection for fully 3D cursor control) but the physical location of the sensors has to be precise (specifically C3, Cz, and C4 according to the 10-20 system, check Wikipedia for details) and the layout of the Emotiv and Neurosky EEG headsets simply do not provide electrodes in those locations.

This is a very exciting field of technology which is advancing quickly, but for the moment we feel it is very important to make sure expectations are being set which match the true current state of the art.

Cheers

Steve Castellotti
Dec 15, 2010. 8:02 PMtypenamehere_____ says:
(removed by author or community request)
Dec 15, 2010. 8:03 PMtypenamehere_____ says:
Ok... what happened that make ^^^that^^^ comment fail?
what I typed was:
"
shhhhh... don't ruin the semi-truthful fantasy!
"
Dec 13, 2010. 4:31 PMtypenamehere_____ says:
... and quite literally "as many as you can imagine"
Dec 13, 2010. 4:30 PMtypenamehere_____ says:
? did you watch the vid? you can do as many commands as your computer/microprocessor can store and handle... or as many as you can imagine.
"fire slingshot"
"cook meal"
"dig"
You would just need to teach the program how you think each thing by example and then program the bot/buggy/whatever to do what that command implies, such as digging a hole.
You could probably take an exoskeleton (such as Ironman) and teach it what you think for pretending each muscle movement on your body... I'm kind of doubtful that you just happen to have just one sitting around though- 'Oh yea, I got one in 03 for Easter!'
Dec 14, 2010. 7:02 AMbowmaster says:
OK, I watched it. That thing is pretty badass. Theoretically you could teach it the keys on your keyboard and use it to type by thing the letters/words.
Dec 15, 2010. 7:59 PMtypenamehere_____ says:
Um... you don't need the Emotiv system for that, just a programming language. So you theoretically, could, yes, although that would be kind of unnecessary. (or do you mean to use an imaginary keyboard?  In that case, you could just, 'theoretically', teach it what you think when you picture "A" or "" or "ζ" (zeta) or "" (de) or "£" (nà) or whatever language you speak... but why do that, when you can just imagine going forward, shooting or whatever.  I don't really play it, but I can imagine that it would be pretty BA in COD and FPSs)
1-40 of 58next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
22
Followers
4
Author:jerkey
whats an engineer to do?