I was inspired to build the project because of the ever growing mind control industry. Many physically disabled people in today's world are unable to go about their daily life without feeling handicapped in some way. With the use of an EEG-based mind controlled device, one is able to control certain functions in their daily life independently.
What it does
The design of the EEG headset had to be affordable, compact, and budget-friendly. This required many components to be handmade in order to reduce the cost while increasing the functionality of this project. The TGAM 1 headset from NeuroSky was chosen as it fits these three criteria. Next, the decision of whether to place the Arduino on the headset or off of the headset was crucial for our project. The Arduino was chosen to be placed off of the headset because it would reduce weight and allow for easier connectivity to the dual DC motors which are present in the car. A lithium-based power bank is used for charging the car. This allows the car to be easily recharged without wasting alkaline batteries. Furthermore, a regulated 5v power supply is used for the variable DC motor as it allows the motor to be driven at the fastest speed and when necessary the L293D motor driver can reduce the current when specified in the code. The motor driver thereby is able to drive the motors in both forward and reverse at a variable voltage from 1-5 volts. Since the DC motors, which are being used, operate from 3-6 volts by supplying a 5v power supply, it won't have the risk of giving an overcurrent to the motor. The Arduino Uno R3 is used for processing the serial output data of the TGAM 1 EEG chip. This is very affordable and can be used in further projects. The EEG has three electrodes. Two of those electrodes are base electrodes which are attached to both of the ears. The forehead electrode is used to measure the difference in the current of the base electrode, thereby producing brain wave data. The electrode has to be placed right above the left eye for an optimal signal strength. All electrodes must have a wet mount on the user with the use of saline solution to increase the electrical conductivity. The attention value from the EEG device is mapped to the movement of the rc car which allows one to control a car with their mind
How we built it
Open the left side of Mattel Mindflex cover and, using the soldering iron, solder a 22 gauge wire on point T. Open the right side cover of the Mattel Mindflex and solder a 22 gauge wire to the negative terminal on the battery holder. Connect the T pin on the Mindflex to the RX port on the Arduino Uno R3. Attach the Proto Board shield to the Arduino. Attach a jumper wire from the ground to the ground series connector on the Proto Board Shield. Attach another jumper wire from the 5v on the Arduino to the 5v series connector on the Proto Board. Take the mini breadboard and connect the L293D Motor driver in the middle of the breadboard so that it is in the dividing section of the two segments. Connect the RC-260RA DC motor to output pins 1 and 2 on the L293D motor driver. Connect the ground wire to the ground port. Wire the 5v to the enable pin, the vss pin, and the vs pin. Attach the gear to the spindle of the DC motor. Attach the DC motor to the rear wheel shaft using a hot glue gun. Take a medium and large-sized plastic gears and also attach them on the spindle, forming an increase in gear ratio. Remove the protective film over the adhesive on the lower side of the mini board and attach the mini breadboard to the top of the proto shield. Attach the second DC motor to the front wheel shaft of the car. Wire the second DC motor to the output 3 and 4 pins on the L293D motor driver. Attach the second DC motor to a common ground point and the vs point on the L293D. If necessary, solder breadboard wires to the DC motor in order to maintain a more sturdy connection within the breadboard. Using the USB type b cable, attach the Arduino with the shield to a computer and upload the sketch to the Arduino. Apply saline solution to the electrodes of the Mattel Mindflex and place the EEG headset, with the front electrode right above the left eye. Either plug the Arduino into the computer or a lithium power bank in order to power the motors and the motor driver. Insert 3 AAA batteries into the Mattel Mindflex in order to power the EEG headset.
Challenges we ran into
When building the mind control rc car, the 2 biggest challenges were the smd soldering, and the programming of the project. When smd soldering an eeg chip I had to be very careful not to accidently pull a soldering pad as I did not want to perform a pcb trace repair on an expensive chip. Furthermore soldering onto the arduino board was very hard as the pins were so close together that I had to use a microscope. The other issue I had was the programming of the project. I was very easily able to get the project working on a wired setup, but when switching to wireless I had numerous issues when dealing with bluetooth modules. The bluetooth modules were unreliable and I was unable to get the modules to connect with one another. Furthermore the software serial library had to be used with the bluetooth modules which caused severe packet loss. I eventually switched to a radio frequency module which allowed me to eliminate the software serial library, and to instead use the hardware serial port.
Accomplishments that we're proud of
I am very proud of using an integrated circuit (ic) board and using the breadboard to make my own custom motor shield. This was my first time performing pcb design and it allowed me to design the pcb with the form factor that I wanted. I was also very proud on effectively hacking into the tgam1 chip from Neurosky, as I was able to pull of the data from the chip. The chip was intended to be used wirelessly, but I soldered into it and extracted a tx and rx point which I could use for car communication. I am also very proud of my soldering skills for the project, I had never soldered components that small but I did not pull a pad or break the pcb which I am very proud of.
What we learned
I learned how to hardware hack into an eeg headset. I also learned how to use wireless technology for serial communication. I learned how bluetooth works, and that at its core it is a serial connection. I also learned how to build antennas for rf modules and the importance of the length and the diameter of the coils. I also learned how to program in Arduino/C++. This was my first big programming job so I am really impressed with the overall turnout of the project.
What's next for electroencephalogram based rc car
For the next car Revision I want to design my own custom algrotheim to move the car. I also want to add a display that displays the brainwaves on the car itself. lastly I want to incorporate brain waves and EEG to enable the eeg to tell a convolutional neural network to move the car so that there is obstacle avoidance.