What it is
CleverHand is open hardware for reading muscle signals and sending touch back. Each board is about 20 × 20 mm and does one job: record EMG, record motion, drive a vibration motor or an electrical stimulation channel. Chain the boards on one flat cable, and one controller streams everything to a computer.
It is built for research, teaching and prototyping. It is not a medical device.
Why I built it
EMG hardware sits at two ends. Wearable devices cost 40 to 200 $ but record 1 to 8 channels at 200 Hz. Lab systems record 64 to 382 channels at 24-bit, cost 10 to 50 k$, and stay on the bench. I wanted the middle: wearable, dense, 24-bit, open, at the cost of a few small boards.
How it works
- A chain of nodes. A controller sits at the head of the chain. Each node is a small stack: one communication board plus sensor or feedback boards.
- Address = position. At power-up, a token passes from node to node and the n-th node takes address n. Every board and every firmware image is identical, so nothing needs programming. Swap two nodes and their addresses swap.
- Select, then talk. The controller writes a 5-bit address, the matching node enables its board, and data moves over SPI.
- Electrodes on the PCB. The EMG boards carry gold pads that touch the skin directly, with no gel. Adapters for jack cables and flex PCBs cover other setups.
The boards
| Board | Role | Part |
|---|---|---|
| EMG | 3 or 8 channels, 24-bit | ADS1293, ADS1298 |
| EMG + motion | 1 channel + accelerometer | INA331, LIS3DH |
| IMU | 9-axis motion | ICM-20948 |
| Vibration | motor driver | STSPIN240 |
| Stimulation | electrotactile output | AO4882 |
| Controllers | USB, Wi-Fi, BLE depending on the board | Teensy 4, Pico, XIAO, ESP32 |
In numbers: 1 to 32 nodes per chain, up to 256 EMG channels, 24-bit, about £10–30 to build one module. The target sampling rate is up to 4 kHz.
Software
A C++ library with a Python binding talks to the controller over USB serial or Wi-Fi. A Qt tool configures the boards and streams the data, and the data can go out as a Lab Streaming Layer (LSL) stream to any analysis tool that reads LSL.
On video
The videos open with a first test of the EMG bracelet prototype and the v3.1 modules. The build series covers an introduction to EMG, the addressing system, the data routing, the PCB review and the soldering.
Where it stands
- About 30 boards designed in KiCad. All are at the first readiness level: designed and documented, not yet measured.
- No quality report yet. Noise floor, bandwidth, gain accuracy and drift are the next job, and the 4 kHz target has to be confirmed per board.
- Version 3 is in design: a smaller stack connector, a separate bus board, and controllers built on the nRF52840 and ESP32-S3.
- Hot-plugging is not supported.
The plan is to measure first: bring one EMG board and one feedback board to a reference level with published test reports before adding anything new.
How I got here
Looking back, I can trace the path that led here:
- Marble Catcher (2004): solving problems with mechanisms
- ArmStrong (2013): my first human–machine interface
- Sauria (2018): assistive technology
- EMG Hand Decoding (2018): muscle signal processing
- Everything in between: the electronics, firmware and software this platform needs
Open
Everything is public: hardware under CERN-OHL-S v2, documentation under CC BY 4.0, software under Apache 2.0. Build a board, measure it, and report what breaks. If you use CleverHand in a study, please cite the repository.