Project overview

I built this prototype to connect EEG input to something tangible: driving an RC car. A NeuroSky MindWave headset sent EEG data to my laptop over Bluetooth. The laptop interpreted brainwave activity, including alpha and beta signals, as control states and passed commands to the Arduino over a second Bluetooth link.

Instead of replacing the car’s onboard electronics, I used a servo to physically operate the original remote’s forward/backward trigger. The remote then controlled the car through its existing radio link. This was an experimental brainwave-driven interface, not a system that reads specific thoughts.

System architecture

  1. Headset → laptop

    The MindWave headset collected EEG data and transmitted it to the laptop over Bluetooth.

  2. Laptop → Bluetooth receiver → Arduino

    The laptop mapped brainwave-derived activity into control commands. An HC-04 Bluetooth receiver passed those commands to the Arduino control layer.

  3. Arduino → servo → remote → car

    The Arduino drove the servo attached to the RC remote. The servo moved the forward/backward trigger, and the remote transmitted the resulting command to the car.

From headset to hardware

Josh wearing the MindWave EEG headset used for the project
The input side: wearing the EEG headset. This original project cover now sits alongside the build documentation.
Arduino-compatible UNO board and breadboard wired to a servo at the RC remote’s trigger
The output side: Arduino, breadboard wiring, and the small servo positioned to actuate the remote’s trigger.
Red RC car beside its original handheld remote
The RC car and its original remote—the existing radio-control link remained part of the final system.

What made it interesting

Brain-computer interfaces are compelling because they sit at the edge of what feels possible, but this project was most valuable as a systems problem. It required signal processing, human factors, threshold tuning, and a lot of iteration around what kind of control is actually realistic for a person to sustain.

The result was a prototype that demonstrated the interface end to end. More importantly, it gave me a better feel for how to turn an ambitious concept into an experiment that can be tested, debugged, and improved in the real world.

What I took away