Elric – Prototype Arm Prosthesis

Disclaimer, this is an alive post, i.e., I will try to update here always to have everything wrapped in the same page!

Elric born one year ago during the COVID pandemic. It was a project that I always liked to start, and then I could. It is a prototype of a human size arm prothesis which I tried to make as fancier as possible. As all my projects it is fully open-source/hardware and you can find it here https://github.com/Bardo91/elric !


Current design includes:

  • Five independent articulated fingers, all of them with 1DoF (closing and opening), and the thumb has an additional DoF to grasp better objects of varying shape.
  • Wirst with 2 DoF
  • Elbow with 1DoF

In the future I want to design the shoulder too, but I left it for other releases.

Fingers design

Each finger has been designed to have 1 Degree of Fredom. Additionally, The purpose is to make them compliant, so they could adapt better to the shape of objects, thus simplifying the design. This compliancy is achieved by using elastic threads as tensors in the fingers. This threads are TPU filament for 3D printers.

The idea was good, but the joints (because I designed them quickly and to be lightweight) had a lot of friction. Then I realize that I could use the TPU filament to print elastic joints. This is the second design:

The next step will be to make them lighter and wire everything again to test them.

The Elbow

This joint require more strengh, so I placed a strongest motor in it. Additionally I designed an orbital gear to reduce the speed a bit and increase the force ratio. This joint won’t be compliant initially because that will make the design quite more complex.


The software is not well mature. It will be divided in two “parts”. The first is the lowest level software that controls each individual joint. And the second one will be responsible of the kinematics of the whole manipulator.

Low-level software

This code focuses in the control of each individual joint. For that purpose, each joint has a potentiometer to measure its position and which is used to control as accurately as possible their motion. This code is prepared to be compiled and embed in AVR devices. There are currently implementations for ATtiny84 and 85.

Kinematics software

The kinematic solver is not currently implemented…. WIP.


And that is all folks, I focused first in the mechanical design and started with the electronics. Once I move forward I will update this post!