Prosthetic Hand
Reading what a prosthetic hand’s wearer is trying to do from the muscles left in their forearm, and adapting to each new wearer on the device itself. We tested our 4,423-parameter network on real recordings from 19 people it had never seen, including 11 with below-elbow amputations.
- people it had never seen, all real recordings, 11 of them amputees
- 19
- of calibration to fine-tune it to a new wearer, on the device
- Under a minute
- of wrong movements removed by confidence-based rejection
- Over half
- parameters, and as many multiply-adds per decision
- 4,423
Where it's used
Control that reads the whole forearm
Most powered prosthetic hands still use two electrodes: one muscle opens the hand, another closes it, and switching to the wrist takes a special signal. It’s reliable but slow, and it gets slower with every movement a modern hand adds.
Pattern-recognition control reads a whole ring of electrodes instead. Even with the hand gone, the muscles that used to move it still contract, and every movement the wearer attempts leaves its own pattern around the forearm. The decoder has to work inside the prosthesis, on a battery, within about 100 to 150 ms, and it has to be calibrated to its wearer every time the prosthesis goes on.
- Powered prosthetic hands and wrist rotators
- A decision every 50 ms, from 8 electrodes in the socket
- Built to run inside the prosthesis, on battery, with no network
- Recalibrated each time it's put on
The data
Real recordings, including 11 amputees
We used Ninapro, a research database of forearm muscle signals recorded while people copied hand and wrist movements from a screen. The network decides between seven intents: rest, open or close the hand, rotate the wrist either way, or flex or extend it. Everything we report comes from people it never saw in training.
- Training · 28 people
- intact arms, the people the shared model learns from
- Validation · 4 people
- checked after each round of training, so we keep the best model
- Test · 8 people
- intact arms, never seen in training
- Test · 11 people
- below-elbow amputees, moving their phantom hand, never seen in training

How we built it
A shared start, finished for each wearer
Every 50 ms, the device looks at the last 200 ms on each electrode and computes four classic features: how hard the muscle underneath is contracting, and how quickly the signal is changing. That’s 32 numbers per decision, scaled to the wearer’s own calibration so electrode gain, skin contact and strength drop out.
- 01
Start from a shared model
Trained on 28 people, so a new wearer starts from the general shape of the problem.
- 02
Calibrate to the wearer
The wearer holds each movement once, in under a minute, and the device fine-tunes the network to them on the spot.
- 03
Decide carefully
Anything under 80% confidence counts as rest, and the hand follows the majority of the last five decisions.
Every movement has its own pattern
Flexing and extending the wrist light up opposite sides of the forearm, and a fist lights up the flexor side. An open hand and the two wrist rotations are much fainter, because spreading the fingers takes little force and the muscles that rotate the forearm lie deep. Those are the movements the network has to work hardest to tell apart.
It learns on the device. Unlike our other examples, this firmware keeps training after it ships. Each fitting fine-tunes the network to its wearer from under a minute of calibration, right there in the prosthesis, with no computer or cloud involved.
Results
Measured against the commercial standard
We compared our fine-tuned network with LDA, the linear classifier commercial pattern-recognition controllers use, on the same calibration data. For people with intact arms it came out 3 to 8 points ahead. For the amputees it matched LDA after one calibration, and pulled about 2 points ahead with more.
More calibration, more accuracy
Calibration time is the biggest lever a wearer has. A second pass through the movements, about 50 seconds more, adds 5 to 7 points, and the curve is still climbing at four. A shared model with no fine-tuning at all does far worse, which is exactly why calibrating on the device matters: no two people’s muscle patterns are alike.
A hand that pauses beats one that guesses
Accuracy on clean windows isn’t what a wearer feels, so we also streamed every held-out session through the firmware decoder, transitions and all. Treating low-confidence decisions as rest cut wrong movements by more than half for intact subjects, from 26.5% to 11.9%, and by almost two-thirds for the amputees.
The trade is a more cautious start, and the threshold is a per-wearer setting a clinician can tune.
On the device
Calibration and control on one microcontroller
The firmware targets an STM32U585 with TI’s ADS1298 8-channel biopotential front end, and cross-compiles for its Cortex-M33. Each decision takes 4,423 multiply-adds every 50 ms, and quantizing the fine-tuned model cost nothing measurable.
Calibration is the heavy part: the device holds under a minute of feature data and fine-tunes the network on it, using about 200 KB of the U585’s 786 KB of RAM. Once that’s done, it settles to about 60 KB.
- of flash for the shared model
- 17.8 KB
- of RAM during calibration, out of 786 KB
- ~200 KB
- of RAM once calibration is done
- ~60 KB
- between decisions, each 4,423 multiply-adds
- 50 ms
Medical devices are what we do. We design IEC 60601-compliant electronics and safety-critical firmware under IEC 62304, inside our clients’ ISO 13485 systems, with ISO 14971 risk work.
See our medical device workMuscle signal recordings from the Ninapro database: M. Atzori et al., “Electromyography data for non-invasive naturally-controlled robotic hand prostheses”, Scientific Data, 2014.
Ready to build your next intelligent device?
Let's discuss your project and how Cole Design & Development can bring your idea to life.
Founded in 2008 · Hudson, Ohio · info@coledd.com