Make Soft Robotic Skin
Abstract
When you think about robots, do you think of something made from metal? What if robots could have stretchy, flexible skin just like humans? How would they detect when someone tapped them on the shoulder or something rubbed against their arm? In this project, you will learn how to make artificial robotic skin using flexible rubber with an embedded conductive fabric. You can also connect the artificial skin to a microcontroller and use it to control outputs like LEDs or motors.
Summary
Previous Arduino experience is recommended. See our How to Use an Arduino page for tutorials.
A kit is available from our partner Home Science Tools®. See the Materials section for details.
Wear gloves when mixing the silicone rubber.
Thanks to Prof. Rebecca Kramer-Bottiglio for help with this project.
Objective
Make your own soft robotic "skin" that can electronically sense when it is stretched.
Introduction
Try pinching the skin on your arm (gently). You can pull it, twist it, stretch it, and push on it - your skin is amazingly flexible. Even if you close your eyes, thanks to your sense of touch, you can differentiate between all these different actions. You can also tell where on your arm you are being pinched. Plus, if you pinch too hard, it hurts! That is an amazing amount of sensory ability packed into your skin, thanks to sensory neurons, specialized cells of the body that allow us to perceive senses like touch.
Machines can also sense forces and pressure (a force distributed over an area). When you type on a keyboard or on a touchscreen, electronic sensors detect the press from your finger. However, these sensors are usually not flexible like human skin. This makes it challenging to build soft robots that can safely interact with humans - we want the robots to know when they bump into someone! One approach to solving this problem is to manufacture artificial robotic skin using flexible materials. For example, silicone rubber is very stretchy and flexible, like human skin. However, rubber is an insulator, meaning it does not conduct electricity. On its own, it does not have electrical properties suitable for making an electronic sensor. Robotic skin just made from silicone rubber would be like having skin without neurons that could sense touch.
On the other hand, electrically conductive fabric is also very flexible, and its electrical resistance changes when it stretches. This change in resistance can be detected by a microcontroller, the robot's "brain." However, we cannot just cover a robot in conductive fabric, because this would leave it vulnerable to short circuits if it bumped into something. It would be kind of like having the raw nerve endings of your skin exposed with no protective outer layer (ouch!).
By combining the two materials, we can take advantage of both their properties. We can create a "sandwich" with a layer of conductive fabric in between protective sheets of silicone rubber. When the rubber stretches, the conductive fabric stretches along with it, and its resistance changes. When the rubber is released, it contracts back to its original shape (Figures 1 and 2). This is not exactly how real human skin works, but it allows scientists to create robotic skin with similar functionality. The outer layers are stretchy and electrically insulating, but deformations of the outer layer can be electrically detected by measuring the resistance of the inner layer of conductive fabric.


If you have taken a physics class and learned about resistance, you might be surprised that the resistance of the conductive fabric strip decreases when it is stretched. Normally, for a solid material (like a piece of copper wire), resistance goes up as the material gets longer and narrower, because it becomes harder for electrons to flow through it. However, the conductive fabric is not a single, solid piece of material. It is made from many individual fibers woven together. When the fabric is stretched, these fibers can press together more tightly, decreasing the overall resistance.
The instructions for this project will show you how to make your own sheet of artificial robotic skin. You can experiment with different geometries, including the size and thickness of the silicone sheet, and the number and orientation of the conductive fabric strips. This allows you to make skin that can detect stretching in multiple directions, or other actions like pressing and twisting. You can even connect your artificial skin to a microcontroller to interface it with other electronic parts like lights and motors. Can you think about how this soft artificial skin could be used for a robot, or maybe even a human burn victim to replace real skin? Make your own and find out!
Terms and Concepts
- Force
- Pressure
- Sensor
- Silicone rubber
- Insulator
- Conductive
- Resistance
- Microcontroller
- Curing
Questions
- How does the human sense of touch work? What types of cells are involved?
- What existing electronic sensors are available for detecting similar things to what human touch can detect?
- Are these sensors soft or flexible? Would they work for a soft robot?
Bibliography
- Finio, B. (n.d.). How to Use an Arduino. Science Buddies. Retrieved June 27, 2025
- Finio, B. (n.d.). How to Use a Multimeter. Science Buddies. Retrieved June 27, 2025
- Finio, B. (n.d.). How to Use a Breadboard. Science Buddies. Retrieved June 27, 2025
- Science Buddies staff (n.d.). The Engineering Design Process. Science Buddies. Retrieved June 27, 2025
Materials and Equipment 
Recommended Project Supplies
- To make and test the robotic skin:
- Ecoflex 00-30 (trial kit)
- Conductive fabric. Note: many different kinds of conductive fabric are available online. This link is to the type we tested. We cannot guarantee that other types will work for this project.
- Multimeter
- Alligator clip leads (2)
- Scissors
- Medium-sized tray or food storage container, roughly 10 cm × 10 cm (exact size is not critical)
- Paper or plastic cups for mixing silicone rubber
- Popsicle stick for stirring
- Latex-free disposable gloves
- Something to cover your work area, such as newspaper or a disposable tablecloth
- To connect to a microcontroller and control LEDs (optional):
-
Electronics Kit for Arduino, available from our partner Home Science Tools®.
- Note: This project will work with the Arduino UNO R3, UNO R4 Minima, UNO R4 WiFi, and compatible third-party boards.
- Windows or Mac computer. See this page if you have a Chromebook. Your computer will need:
- Access to the Arduino IDE, either installed local version or web-based editor. Watch this video for a comparison of the two options.
- USB port. The Science Buddies kit comes with a USB-A to C cable. The "C" end plugs into the Arduino, and the "A" end plugs into your computer. You will need an adapter or different cable if your computer only has USB-C ports. Watch this video to learn about the different types of cables and adapters.
-
Electronics Kit for Arduino, available from our partner Home Science Tools®.
Disclaimer: Science Buddies participates in affiliate programs with Home Science Tools®, Amazon.com, Carolina Biological, and Jameco Electronics. Proceeds from the affiliate programs help support Science Buddies, a 501(c)(3) public charity, and keep our resources free for everyone. Our top priority is student learning. If you have any comments (positive or negative) related to purchases you've made for science projects from recommendations on our site, please let us know. Write to us at [email protected].
Experimental Procedure

Make the Sensor
This part of the procedure will show you how to make a basic sensor with a single strip of conductive fabric. You can add more strips of fabric in the same layer and/or add more layers by following the same procedure.
- Put on disposable gloves.
- In a cup, mix a small amount of equal parts of Ecoflex 00-30 parts A and B, enough to cover the bottom of your tray in a layer a few millimeters thick. The amount you need will depend on the size of your container, but you do not need much - only fill the cup a few centimeters to start. You can always add more later. Stir for three minutes to mix thoroughly.
- Slowly pour the mixed silicone into the tray. This will form the lower layer of your robotic skin. It will take four hours to solidify, so do not touch it in the meantime.
- While the first layer of silicone is solidifying (this process is called curing), you can experiment with your conductive fabric. Try stretching your fabric in both directions. It may be stretchier in one direction than the other.
- Cut a strip of your fabric in the stretchy direction. The strip should be about 1 cm wide and about 2 cm longer than your tray, so there is one extra centimeter on each end to connect the alligator clips after it is embedded in the silicone.
- Connect a multimeter to the fabric strip to measure its resistance (Figure 3). If you are not sure how to do this, see the multimeter reference in the Bibliography. Watch how the resistance changes as you stretch the fabric.

- After the first layer of silicone has completely cured, place your strip of conductive fabric across it silicone (Figure 4). Since the fabric is longer than your tray, the ends should stick up on each side.

- Put gloves on again.
- Mix a fresh batch of silicone, enough to add another layer a few millimeters thick. The new layer should be thick enough to completely embed the fabric in the silicone.
- Slowly pour the new silicone into the tray, being careful not to disturb the fabric by pouring too fast. The silicone should completely cover the horizontal part of the fabric, but not the parts sticking up at the ends. You will need to connect your alligator clips to these later.
- Wait at least another four hours for the second layer of silicone to cure.
- Carefully peel the cured silicone from the tray.
- Connect a multimeter to the exposed ends of the conductive fabric and set it to measure resistance, as shown in Figures 1 and 2.
- Experiment with stretching, twisting, and pressing on the silicone. Watch how the resistance changes. Can you tell how much the robotic skin is deformed and in what way just by using a single strip of fabric? Could you get more information if you added more strips? See the Variations section for more ideas.
Control LEDs (optional)
Assemble and test your circuit as follows. You can also refer to Figures 5 and 6. Important: the left/right orientation of the ground and power buses on your breadboard may be flipped from what is shown in Figures 5 and 6. The figure shows power (+) on the left and ground (-) on the right, but your breadboard may be reversed. Refer to the breadboard tutorial in the bibliography if you need to learn how a breadboard works.
- Connect four LEDs, each with a 470Ω current-limiting resistor, to Arduino pins 2, 3, 4, and 5. The LEDs will light up when you stretch your artificial skin.
- The positive side (longer leg) of the LED should go to the Arduino pin.
- The negative side (shorter leg) of the LED should go to the ground bus.
- The resistor can go on either side of the LED.
- Connect a potentiometer. You will use the potentiometer to tune the threshold at which the LEDs begin to light up.
- Place the potentiometer so each pin is in a separate row of the breadboard.
- Connect one of the potentiometer's outer pins to the power bus.
- Connect the other outer pin to the ground bus.
- Connect the middle pin to Arduino analog input pin A1.
- Connect your artificial skin.
- Connect one end of an alligator clip to each end of the conductive fabric (which should be sticking out of the silicone). Connect the other ends to jumper wires so you can put them in the breadboard.
- Connect one end of your sensor to the power bus.
- Connect the other end to analog input pin A0.
- Connect the same end of the sensor (the one connected to pin A0) to the ground bus with a 470Ω resistor.
- Connect power to your circuit.
- Connect the Arduino's 5V pin to the breadboard's power bus.
- Connect an Arduino GND Pin to the breadboard's ground bus.


- Download the example code. Read through the commented code so you understand how it works.
- Upload the code to your Arduino.
- Open the serial monitor (Tools → Serial monitor).
- The first value printed to the serial monitor is the analog reading from your sensor. The second value is the threshold set by the potentiometer. Turn the potentiometer so the threshold is slightly above the sensor value when it is not stretched. All four LEDs should be off.
- Now, grab the silicone rubber with both hands, and gently pull in the direction of the fabric. Watch the
sensorvalue in the serial monitor change. Try pulling on the silicone rubber more (but not so hard that you rip it). Do the LEDs light up one by one as you stretch it? How high does thesensorvalue go? - If needed, change the value of the
thresholdDifferencevariable in the code.- If the LEDs are lighting up too quickly, before you have stretched the sensor all the way, make the value larger.
- If the LEDs are not all lighting up, even when you stretch the sensor as much as you can, make the value smaller.
- Re-upload the code to your Arduino if you make any changes.
- There are many other things you can do once you have interfaced your artificial robotic skin with an Arduino. See the Variations section for more ideas.
Ask an Expert
Global Goals
The United Nations Sustainable Development Goals (UNSDGs) are a blueprint to achieve a better and more sustainable future for all.
Variations
- Use a ruler to measure how much your robotic skin stretches. Starting with zero stretch, measure the resistance, stretch it by a fixed amount (like 5 millimeters), measure the new resistance, and so on. Record your values in a data table, then plot them to make a calibration curve.
- Add multiple strips of conductive fabric parallel to each other in a single layer. What happens to the resistance of each strip as you pull on the fabric in different locations? What happens if you twist or bend the fabric instead? Can you tell the difference between pulling, bending, and twisting based on the combined resistance readings?
- Make a multi-layer sensor. Add a second layer of conductive strips, perpendicular to the first (forming a grid), on top of your second layer of silicone, then add a third layer of silicone. Can this sensor detect stretch in multiple directions? What happens if you press down on the silicone directly above where two strips intersect? Can you make your sensor function like a soft keyboard?
- Add more sets of LEDs, with each set controlled by the stretch of a separate strip of conductive fabric in your sensor.
- Use your Arduino to make something else, like a servo motor, react when the sensor is stretched.
- Can you embed LEDs directly in your robotic skin, as shown in the following video?
- Can you embed other circuit components - even an entire Arduino - directly into your robotic skin? Check out this project from researchers at Yale University for instructions.
Careers
If you like this project, you might enjoy exploring these related careers:
Contact Us
Our kits are developed in partnership with Home Science Tools®. If you have purchased a kit for this project, Home Science Tools® is pleased to answer any questions.In your email, please follow these instructions:
- Include your Home Science Tools® order number.
- Please describe how you need help as thoroughly as possible:
Examples
Good Question I'm trying to do Experimental Procedure step #5, "Scrape the insulation from the wire. . ." How do I know when I've scraped enough?
Good Question I'm at Experimental Procedure step #7, "Move the magnet back and forth . . ." and the LED is not lighting up.
Bad Question I don't understand the instructions. Help!
Good Question I am purchasing my materials. Can I substitute a 1N34 diode for the 1N25 diode called for in the material list?
Bad Question Can I use a different part?
Contact Support











