04Interaction · Robotics · Firmware

Morpheus

A two-wheeled desk robot with a face, driven entirely by expression. A headband reads the wearer's brain and head motion; the robot reads the headband. There is no phone, no remote and no button.

Role

Everything. Firmware, electronics and interaction design, alone.

Year

Self-directed

Status

Working prototype

Made with

ESP32-S3, Muse S EEG, Bluetooth Low Energy, C++, PlatformIO

Open the manual, on screenInteractive

The idea

Most wearable sensing ends at a chart. Morpheus V1 asks what happens if the signal goes somewhere instead — if a body's own electrical activity moves an object in the room, immediately, while you are still making the expression that caused it.

The robot has a wide bar display carrying a pair of eyes and a live waveform that serves as its voice. It looks back at you. That is the point: the loop closes visibly, and nothing pretends to be more than a machine responding to a signal.

The controls

Every input is a face or a head. The gesture set was kept to four, because a control scheme you have to remember is a control scheme that fails in front of an audience.

Furrow your browAccelerate. Hold to cruise.
Blink twiceBrake, then reverse.
Tilt your headSteer, left or right.
Blink onceIt blinks back.

How it works

A Muse S headband streams four channels of brain activity and six axes of motion over Bluetooth Low Energy to a single ESP32-S3 board. A gesture engine runs a fifty-times-a-second control loop across that stream. An onboard microphone feeds the waveform voice, and two continuous-rotation servos in a differential drive do the moving.

The part that took the longest

The headband's Bluetooth protocol is not published. Real-time gesture decoding meant taking the connection apart — watching the traffic, mapping the structure, and writing a client from scratch that could parse the sensor stream fast enough to hold a fifty-hertz loop. Roughly no part of that was in a datasheet.

Hardware

One board runs the whole robot: a dual-core Xtensa LX7 at 240MHz with 8MB of memory and 16MB of storage.

Display172 × 640 IPS, QSPI
MicrophoneDual MEMS, I²S at 16kHz
Motion sensingSix-axis IMU
DriveTwo continuous-rotation servos, differential
Control linkMuse S, Bluetooth 5, four-channel EEG and six-axis motion

The manual

The robot has its own manual — systems architecture, hardware schedule and gesture reference — written and set to the same standard as the object it describes. A prototype nobody can operate without you in the room is only half a prototype.

Manual, on screen Interactive ↗