Every finger assembly was modeled in SolidWorks before it was ever printed, then built as a physical hand with five servos — one per finger, wired to an Arduino on pins 3, 4, 5, 9, and 10. The Arduino owns a tiny serial protocol: a single ASCII character either nudges all five servos by 10 degrees, resets them to a neutral 90-degree pose, or snaps them directly to a named handshape.
Two independent Python pipelines drive that same protocol. The first watches a webcam through MediaPipe's gesture recognizer and nudges the hand whenever it sees a recognized gesture. The second listens to speech, transcribes it, and fingerspells each word letter by letter in an approximation of the ASL manual alphabet — a real, if slow, part of ASL, though this hardware has only one open/curl axis per finger and no thumb opposition, so a handful of letters that differ mainly by finger-crossing (like U vs. V) end up looking near-identical.