When my son, Carter, turned to me and asked “Daddy, will you build me a hand?”, I didn’t know how to respond. Carter has a congenital below the elbow amputation. Simply put, he was born without his right hand. It was because of his request that I discovered the world of 3D printing.

Carter and his
Carter and his "claw" in his school colors!

Through the e-NABLE organization, I was able to reach out to a 3D printing lab and have an arm printed for my son. When I witnessed this process, I knew I had to get involved. Now, just over a year later, I am operating Claws from Carter, a chapter of e-NABLE. We’ve been able to print, assemble, and deliver about 25 helper hands to kids all over the world at no cost to the recipient families. It has been an amazing year!

Currently, all of the practical hand designs are mechanical. They are built from printed parts, fishing line, a few screws, and a couple miscellaneous items easily available online. There are no electronics found in the hands. There are two main designs, one is controlled by the position of the wrist, the other controlled by the position of the elbow, both of which rely on joint movement to function. The problem with these designs is that every limb difference is unique. While the current designs work well for below-the-wrist and below-the-elbow amputees, I have had several requests from above-the-elbow amputees. I haven’t been able to provide devices for them, as no practical design exists.

If there is no elbow or wrist to actuate the helper hand, how can it be controlled? I figured I would take a shot at muscle sensors. I didn’t realize what I was getting myself into. Circuit boards, muscle sensors, power supplies, and my long lost college major, computer programming. Whew…

After many, many late nights and early mornings, and some serious help from fellow Matterhackers Team Members, I’ve recently completed a proof of concept design comprised of a 3D printed parts, a Myoware muscle sensor, an Arduino Nano, a high torque servo motor, and an external USB charger to supply the power.

Arduino Nano
Arduino Nano

Most of the design and Arduino code has been piggybacked off of other designs available through e-NABLE and Thingiverse. Because of the open source of e-NABLE, I was able to create a 3D printed hand that opens and closes based on muscle flexion. It’s simply proof of concept, it’s not a functional 3D printed helper hand...yet. Either way,  it’s still pretty cool.

A traditional myo-electric prosthetic is somewhere in the range of $20,000+. There are a few 3D printable myo-electric arm designs floating around out there, but none of them seem practical. My goal is to come up with an easy to build, easy to wear, fully functioning myoelectric hand that can be adapted to all different types of upper limb differences. Here’s the kicker, I’m trying to achieve this while keeping the cost of the device around the $100 mark.

The thing that made this project possible is the MyoWare muscle sensor. It is a relatively inexpensive little board with a set of electrodes for detecting the electrical impulses that control your muscles. This is called Electromyography.

Myoware muscle sensor
Myoware muscle sensor

An Arduino Nano reads the signal from the muscle sensor and uses that to control a hobby servo, which opens the fingers.

The hand itself is a combination of the Reborn Hand by Ed Choi, and the Phantom Pain hand by Jackson Gordon. The palm and fingers are from the Reborn hand and the forearm is from the Phantom Pain hand. We made some modifications to attach the two together and to hold the servo motor.

Most e-NABLE hands work by using rubber bands or elastic cord to hold the fingers open, and then the wrist or elbow action pulls on strings that close the fingers. We are experimenting with the opposite. On our hand the elastic cords hold the fingers closed and the motor is used to pull them open. In addition to saving power, it reduces stress on the motor. It also allows the fingers to articulate individually and adapt to the shape of the object they are holding.

Holding a screwdriver
Holding a screwdriver

Parts

  • Arduino Nano V3
  • MyoWare Muscle Sensor
  • LewanSoul LD-27MG Servo
  • 10,000 mAh USB Charging Battery

In addition to that we used various nuts and bolts, wires, strings, and elastic cord. We made all of the printed parts from MatterHackers Pro Series Ryno filament. Up until this project, all of the hands that I’ve provided have been printed in PLA. I’ve always stuck with PLA because it’s easy to work with, and the variety of colors available. However, when I started printing this project, Ryno was already spooled up on the Pulse, so I just went with it. After spending a significant amount of time working with Ryno for this project, I can now say it is one of my favorite materials to print with. I find that it is just as easy to work with as PLA, the prints come out beautiful, and it’s a very strong material.

The total cost of the parts we used came out to a little under $100.

Wiring

We are powering everything with a big 10,000 mAh rechargeable USB battery pack. All of the electronics in the hand are plugged into the battery through a USB cable.

The 5V from USB is used to power the servo and the Arduino Nano. The MyoWare sensor takes 3.3V, so it is powered from the regulator onboard the Nano. The signal from the sensor goes into analog pin A0 on the Nano, and the motor is controlled from PWM pin D9.

Battery pack for the hand
Battery pack for the hand
Diagram for how the system works
Diagram for how the system works

Code

The Arduino code was originally based on the work for the Limbitless Arm by the University of Central Florida, but we made some significant changes which we thought would allow the user to have better control.

There are a couple of limitations of the Myoware sensor.

  1. From a programming standpoint, it is easy to tell whether or not you are clenching a muscle, but it is more difficult to tell how hard you are clenching.
  2. Humans have two sets of muscles for each finger. One for opening and one for closing. However the Myoware can only sense one muscle at a time.

Here is the interesting part of the Arduino code and how it works.

When you start clenching a muscle, the hand will start slowly closing. When you stop clenching, the hand will stop closing. The next time you start clenching again, the hand will open instead of close. This may not seem very intuitive, but it makes it easy to adjust how far the hand opens or closes. It also means that you don’t have to constantly be clenching to keep a grip on something.

Holding a pair a scissors
Holding a pair a scissors

The cool thing about this is that anyone can do it. I was an IT technician in Grand Rapids, Michigan, not much more than a year ago. I knew nothing about 3D printing, or what a 3D printer even looked like. My sons' innocent request has led me on an incredible journey that has landed me in southern California, becoming a team member at Matterhackers, 3D printing helper hands and sending them around the world.

Myoware sensor fixed to arm sending signal
Myoware sensor fixed to arm sending signal

I’m far from the goal of the myo-electric project. This will be years of work. In all actuality, it will be a lifelong project for me. As I sit here at my desk writing this, looking at a picture of Carter, I really can’t think of anything better to which I devote my life's work.

If you'd like to check out the progress or get involved, visit Claws from Carter. #clawsfromcarter