The Part Nobody Talks About: Building the Body for a BCI
Everyone working on Brain-Computer Interfaces obsesses over the same two problems: how do you read a brain signal, and how do you decode…
The Part Nobody Talks About: Building the Body for a BCI
Everyone working on Brain-Computer Interfaces obsesses over the same two problems: how do you read a brain signal, and how do you decode it? My last two projects lived entirely in that space — simulating P300 speller responses, averaging signal windows, training classifiers to recognize intent.
But there’s a third problem that gets almost no attention: what actually receives the command?
That question is what pushed me to build the ELEGOO Smart Robot Car V3 — an Arduino-based, four-wheeled robot with an ultrasonic sensor, infrared line-tracking, and Bluetooth control. Not because it’s glamorous. Because I needed to understand actuation.
The Stack
The car runs on an Arduino UNO R3 — the same microcontroller platform that shows up in most entry-level BCI hardware projects. Commands reach it one of three ways: infrared remote, Bluetooth via a paired phone app, or pre-programmed autonomous logic baked into the sketch.
The drivetrain is four DC motors managed by an L298N motor driver board, which acts as the translator between the Arduino’s low-voltage digital signals and the actual current needed to spin wheels. You can’t drive a motor directly from a GPIO pin — the driver board is the muscle between intent and motion.
Sitting on a servo mount at the front is an HC-SR04 ultrasonic sensor. It fires a 40kHz pulse, listens for the echo, and calculates distance from the round-trip time. The servo sweeps it 180° so the car can check left, right, and center before deciding where to go. Below the chassis, three infrared sensors watch for a line on the floor.

What Building This Actually Taught Me
The control modes are the interesting part. The car has four:
- IR remote — you press a button, a byte gets transmitted, the Arduino reads it and maps it to a motor command
- Bluetooth — same thing, but the signal travels over Bluetooth from your phone
- Obstacle avoidance — onboard logic takes over; the ultrasonic sensor steers the car without any human input
- Line tracking — the infrared sensors lock onto a taped path and follow it autonomously
Mode 3 and 4 stopped me cold when I thought about them in the context of BCI.
A brain-controlled wheelchair using a P300 speller doesn’t just need to receive commands — it needs to handle the gap between when your brain issues an intent and when the environment actually executes it. P300 responses take roughly 300ms to emerge after a stimulus. Signal averaging takes more time on top of that. During those milliseconds, the wheelchair is still moving. If there’s a doorframe in the way, you can’t wait for the next decoded command.
That’s what obstacle avoidance mode represents in a real system: the vehicle’s own low-level intelligence filling in the gaps between high-level brain commands. The user’s brain says “go to the kitchen.” The onboard sensors handle the doorframe. This is called Shared Autonomy in assistive robotics literature.

Connecting It Back to P300
In the P300 pipeline I built earlier, decoded intent exits as a classified output — “left,” “right,” “select.” In a real system, that output needs somewhere to go. Here’s what that handoff looks like concretely:
The Arduino’s serial port listens for single-byte commands. F means forward. L means left. A Bluetooth module sits between the Arduino and whatever device is doing the decoding. In a full BCI setup, you'd replace the phone app with a laptop running the signal processing pipeline — same Bluetooth handshake, different sender.
That’s it. The hardware doesn’t care where the command came from. It just needs a byte.

What This Build Can’t Tell Me
The car responds to commands in tens of milliseconds. A P300-based BCI has a command latency closer to 2–5 seconds depending on how many averages you need for clean classification. Navigating a real environment at that cadence, even with shared autonomy filling in the gaps, is genuinely hard. I don’t have a solution to that yet.
What I do have is a clearer picture of the full pipeline — from the moment a brain generates a signal, to the moment a wheel turns. That’s more than I had before I built this.
This is part of an ongoing series on Brain-Computer Interfaces and assistive technology. Previous: The P300 Speller | When the Brain Speaks: Restoring Speech with BCI
메타데이터
- post_id
- 73ea1e16a002
- slug
- the-part-nobody-talks-about-building-the-body-for-a-bci-73ea1e16a002
- url
- https://medium.com/@hana.beshir/the-part-nobody-talks-about-building-the-body-for-a-bci-73ea1e16a002
- canonical_url
- https://medium.com/@hana.beshir/the-part-nobody-talks-about-building-the-body-for-a-bci-73ea1e16a002
- author_url
- https://medium.com/@hana.beshir
- status
- ok
- fetched_at
- 2026-06-09 15:37:30