Aside from being fun to make, bionic limbs can be used for people who may have lost a limb for a variety of reasons. Maybe they were born without a limb or maybe it was not fully formed, they may have lost it in war or maybe they had an accident.
At the moment, Bionic Limbs are very expensive, so a lot of research is being put into them to try and find cheaper ways to make them and make them more convenient and comfortable for users.
They can also be used to make robots and, like what your finger can do, will be able to mirror your movements.
Flex Sensor | This measures the movement of your finger and then turns it into something Arduino code to read which makes the Micro Servo move. It is the part that makes the Finger moved based on your finger's movements. | |
---|---|---|
Micro Servo | A little motor that tightens the Fishing Wire (to make the finger move) based on information from the Flex Sensor. | |
Battery | Powers the Arduino/Finger. You can plug it into a computer or a power socket, but this tutorial will use a 9 Volt Battery. | ![]() |
USB Wire | Lets you transfer your code from your computer to your Arduino. Note: depending on which laptop you have, you might need an adapter to connect the USB Wire to your laptop. | |
Finger | This tutorial uses a 3D printed finger (which will be doing the moving) but you can use a straw or cardboard finger. Basically, anything that you can attach a string to which can be pulled by the Micro Servo. | |
Wooden Board (optional) | Stick the finger and the Arduino down to it to make it easier to function and you don't have to stretch it every time. You can use anything that is rigid which you can stick your finger to. | |
Fishing wire | Can be pulled tighter to make the finger bend and straighten. You can also use string or anything that is thin and flexible. Preferably not elastic but you could always experiment! | |
Arduino Nano | It tells everything what to do and is the base for all the other components. Everything is plugged into it and it receives and interprets the code so it can tell everything else what to do. | |
Wires | Connects different components to one another and sends electricity (power) to different areas. | |
Hot Glue Gun and Glue (optional) | Can use to stick the finger down to the board so you don't have to constantly get the right tension on the wire. Can also use sticky tape, double sided tape, blue-tack or anything to stick the components down ‐ Hot Glue just works because it is pretty strong. | ![]() |
Arduino App | Lets you write the code for your Arduino. | ![]() |
Glove | Means you can have your Flex Sensor on your finger without having to hold it there. | |
Flexible Plastic | Use it in the joints of your Finger to hold them together so you can bend it but it will return to its original position. About 1 cm wide and have enough in case you make mistakes (about 50 cm). | |
Battery Socket | Use to connect the Arduino to the power source (the battery). |
Note: if using a straw or cardboard finger, you don't need steps 1-4. See troubleshooting for how to thread your finger.
#include <Servo.h> | Includes the Micro Servo library |
---|---|
Servo myservo; | This makes an element for your Micro Servo which will let you control it. |
void setup() { | Something to setup your loop, that will run once. |
myservo.attach(9); | Lets the Arduino know that the Micro Servo is attached to Pin 9. |
pinMode(A0, INPUT_PULLUP); | Tells the Arduino that the Flex Sensor will be providing information instead of acting on it. |
Serial.begin(9600); | How quickly the data will go between the Flex Sensor and the Micro Servo so it doesn't overload. |
} | |
void loop() { | Instructions that the Arduino repeats. |
int flexSensor = analogRead(A0); | Sets the flex sensor to A0 and lets it be constantly read. |
int angle = (flexSensor - 250); | This is what you calibrate when you calibrate. '250' is basically when the Micro Servo is fully turned. '250' is when the Flex Sensor is fully bent. |
Serial.println(angle); | Tells the information to the Serial Monitor so you can read it! |
myservo.write(angle); | Makes the Micro Servo turn however much the Flex Sensor has bent. |
} |
If you're still a bit confused or want to learn more, you can watch this video
You may be able to make 4 other fingers (one with only one joint for the thumb) and try to make a whole hand. You would have to experiment with different void loops and try and work out how to have different Flex Sensors matched with different Micro Servos. Or you could experiment with different materials to see if they work better in your hand. For example, if you made a finger with a straw try making one with a 3D printed finger or vice versa or maybe trying it with different materials to stretch it. You may also want to print another finger to make it better than the one you had before, for example, you might be able to make the joints move better.