Project · Hardware

Myoelectric Prosthetic Arm

EMG-controlled prosthetic with 7-stage analog circuit design

GitHub ↗

Summary

A complete myoelectric prosthetic hand designed for high-load operational tasks. Converts microvolt-level surface EMG signals into mechanical grip control through a 7-stage analog signal conditioning pipeline, non-blocking C++ firmware, and a bistable dog clutch locking mechanism.

Figure 1. Myoelectric Prosthetic Arm

Design and Implementation

Surface EMG signals ranging from 10μV to 5mV are captured via skin electrodes and processed through a cascaded 7-stage single-supply analog architecture. The pipeline passes through an AD623 instrumentation amplifier (gain ~101), active Sallen-Key bandpass filter (48–400 Hz), isolation buffer, non-inverting amplifier (gain 11), peak envelope detector, and Schmitt trigger comparator, achieving total system gain of ~1,111x. The firmware runs a non-blocking time-domain state machine on an Arduino, requiring 500ms of sustained muscle activation before triggering to reject false positives from twitches and noise. A position servo controls a dog clutch that mechanically locks the finger transmission shafts, maintaining grip without continuous motor torque.

Figure 2
Figure 2.

Technical Details

  • AD623 INA (gain ~101) + Sallen-Key bandpass (48-400 Hz) + peak envelope detector + Schmitt trigger — total gain ~1,111x
  • Virtual ground buffer at Vcc/2 enables single-supply operation from lab or battery without recalibration
  • 500ms activity window + 400ms quiet timeout state machine — false-trigger immune, non-blocking C++
  • Dog clutch servo-controlled between 135° (open) and 150° (closed) — zero stall current during grip hold
  • Dual 4xAA packs in parallel (~6V) for portable operation
Figure 3
Figure 3.

Additional Figures

Figure 4
Figure 4.
Figure 5
Figure 5.
Figure 6
Figure 6.
Figure 7
Figure 7.
Figure 8
Figure 8.
Figure 9
Figure 9.
Figure 10
Figure 10.