Nudge
A lightweight EMG-controlled assistive glove that helps people with ALS grip and release objects using their own muscle signals.
Nudge is a fall internship project with UMD Cyber-Physical Systems Engineering (CPSE), building a soft assistive glove for people with ALS. A surface EMG sensor on the forearm picks up the wearer’s muscle activity, and a wrist-mounted pod drives small motors that pull cables to close the thumb and index finger, so a weak flex is enough to grip and release everyday objects. I’m rebuilding Nudge from an earlier version developed by a team in CPSE’s 2026 summer program, redesigning the glove and designing new PCBs for it.
The system runs on a XIAO ESP32-S3 with a DRV8833 driver powering two N20 gear motors with encoders. MyoWare 2.0 boards handle EMG sensing, force-sensing resistors on the thumb and index finger measure grip force, and a single-cell 1200 mAh LiPo with a micro-LiPo charger and 9V step-up regulator powers everything. Cables run through PTFE tubing, and a latex tube acts as a spring return to reopen the hand. Weight is the main design constraint: people with ALS can’t carry heavy devices for hours, so the goal is a wrist housing under 175 g.
I designed two 2-layer polyimide flex PCBs for EMG sensing. The first (left) is a custom electrode strip with 17 round electrode pads exposed on the skin side, routed to an onboard chip group and a single connector, with a hatched ground fill on the bottom layer and a stainless-steel stiffener under the components. The second (right) carries three MyoWare 2.0 sensors on stiffened sections separated by bend zones, so the board can curve around the forearm, with all three EMG channels broken out to one 5-pin connector. I also redesigned the original glove in CAD, replacing its enclosed design with a lightweight hex-cut frame and finger rings that guide the actuation cables.
The firmware has strict safety rules. Every motor command passes through one function that caps PWM at 70% and only lets one motor run at a time. The firmware cuts power within 300 ms if the encoders show a stall, never closes past the calibrated end stops, and resets through a watchdog if the code hangs. To filter out tremors, the wearer has to hold a flex for 250 ms to close the hand, and EMG input is ignored while a motor is running. Closing stops once the FSRs read the target grip force, which is 10–20 N depending on calibration. When the battery drops below 3.5 V, the hand opens itself before shutting down.