02 Wearable · Mechatronics · Rehabilitation

Hand Fit

A wearable rehabilitation glove that turns servo motion into assisted finger and hand movement — built to help people with weak hand-muscle control practice everyday grips.

Arduino Uno 5× SG90 servos MG995 wrist servo Tendon + elastic return Joystick + potentiometer ST7735 TFT C / Arduino
The rehabilitation glove on a hand, servos pulling the tendons
servos pull tendon lines · elastic returns the fingers open

The idea.

Move past controlling electronic components and use electronics to create real, physical movement.

The goal was a wearable glove that uses servo motors to assist finger and hand motion through a tendon-based mechanism — a practice aid for people with weak muscle-to-hand control, such as the reduced dexterity that comes with nerve or movement conditions. It's framed as assistance and daily hand-muscle practice, not a medical treatment: something to support everyday movement and give the hand structured exercise, with the possibility of gradual improvement.

How it works.

Servos pull individual tendon lines attached to the fingers; elastic bands on the back of the hand return each finger to open when the servo releases tension. The user picks an exercise and the assistance level with physical controls.

Each exercise follows a move → hold → release cycle with a rep counter, so a session is structured practice rather than a single motion.

Exercises & features

GRIP

Whole-hand training

A strong MG995 wrist servo pulls all fingers together for close-hand and grasp (pick-up / drop) exercises — the large, full-hand movements.

PRECISION

Selective finger work

Five SG90 servos, one per finger, drive the selective modes: hook grip (four fingers, no thumb), pinch (two fingers), and finger training that cycles through each finger one at a time.

CONTROL

Pick your exercise

An analog joystick selects the exercise and a potentiometer sets the assistance level, so a session can be tuned to the user on the spot.

RETURN

Elastic return

The mechanism only pulls; elastic bands on the back of the fingers provide the opening motion when tension releases. A design constraint that shaped the exercise set.

FEEDBACK

On-device display

An ST7735 TFT shows the active exercise and reps, so the user can follow the move → hold → release rhythm.

REPS

Rep counting

Each exercise counts repetitions through its hold-and-release cycle, turning assisted motion into measurable practice.

Hardware.

Chosen so each part of the mechanism could be tested on its own, and revised as the mechanical and power realities became clear.

🧠
Arduino UnoThe controller — landed on after the ESP32 setup proved unreliable driving servos (see below)
5× SG90 micro servosOne per finger, pulling individual tendon lines for selective moves
💪
MG995 servoHigh-torque wrist servo that pulls all fingers together for whole-hand training
🕹️
Analog joystickSelects which exercise to run
🎚️
PotentiometerSets the assistance level
🖥️
ST7735 TFT (1.8")Shows the active exercise and rep count
🧵
Tendon strings + elasticStrings transmit the pull; elastic returns the fingers to open
🔌
Regulated 5V / 3A supplyAdded specifically to feed the MG995's stall current without sag
Control board: ST7735, joystick and potentiometer
Control board: ST7735, joystick and potentiometer

Testing setup.

Built up one finger at a time. Proving a single tendon before adding the rest meant every later problem had a known-good starting point to compare against.

A. Single finger

One servo, one tendon — establish whether a finger could be moved reliably at all.

B. Multi-finger

Expanded to several fingers and checked how the tendon mechanisms behaved together.

Servo bank driving multiple fingers
Servo bank driving multiple fingers

C. Control

Tested the joystick and potentiometer for selecting exercises and adjusting the movement.

HAND FIT exercise menu and joystick
HAND FIT exercise menu and joystick

D. Full hand

Integrated the servos and controls to run complete, whole-hand movements end to end.

Full-hand training run
Full-hand training run

Troubleshooting.

The movement was rough and inconsistent, and untangling why took the project through three separate problems — mechanical, electrical, and platform. Each one reshaped the design.

Case 01

The mechanism couldn't transfer the motion

Symptom

Even with the servos moving correctly, the fingers didn't move smoothly — the motion wasn't reaching the hand.

Root cause

Two mechanical limits: the glove material was too thick and stiff for the servos to pull the fingers cleanly, and the tendon strings didn't hold enough tension to translate the pull into finger movement.

Fix

Reworked the tendon setup and tension; identified a thinner, more flexible glove material as the real path to smooth transfer.

Limitation

The prototype still moves the hand, but the mechanical system caps how smooth it can get — the biggest single constraint on the final result.

Case 02

The strong servo starved for power

Symptom

Movement was weak and inconsistent, and the servos buzzed — especially the MG995 doing whole-hand pulls.

Root cause

The MG995 draws roughly 2A at stall. Every battery pack sagged under that load — a 4×AA / 5.5V pack dropped to about 5.25V and buzzed — so the servo never got the current it needed to pull the whole hand.

Fix

Moved to a regulated 5V / 3A wall supply feeding the servos directly, with a common ground to the Arduino — and never routed through the Arduino's own 5V pin.

Lesson

A motor is only as strong as its supply under load. Total voltage looked fine on paper; it was the current draw at stall that broke it.

Case 03

The ESP32 platform was unstable

Symptom

On the original ESP32 build, running the servos caused the display to tear and glitch, and the joystick misread its position.

Root cause

Driving the servos from the ESP32's 5V pin disturbed the shared supply, corrupting the display and the joystick's analog reads.

Fix

Switched the controller to an Arduino Uno, where the servos run cleanly and the setup is simpler to drive.

Trade-off

Gave up the ESP32's extra capability for reliable motion — the right call for a device whose whole job is smooth, dependable movement.

The two servo classes also needed separate handling: the small SG90s run the selective moves (pinch, pick-up, drop, finger cycling) while the MG995 runs whole-hand training, so each got its own control logic rather than one shared routine.

Compromises & trade-offs.

The honest limits of a first working prototype.

Pull-only mechanism

The servos can only pull; elastic handles the return. That ruled out an active "open hand" exercise, which was replaced with finger-cycling training.

Mechanics cap the smoothness

Glove thickness and string tension limit how cleanly motion transfers — improvable with thinner material, but not fully solved in this build.

Simpler platform over more features

Dropped the ESP32 for an Arduino Uno to get reliable servo behaviour, trading capability for dependable movement.

Wall power, not portable

The MG995's current draw forced a regulated wall supply, so the current prototype is tethered rather than battery-portable.

What I learned.

Next steps.