Touch Sensitive Robotic Skin

Having a lot of background on DIY resistive sensors, I decided to make a different approach to creating touch sensitive robotic skin... The skin pad you see on pictures shows a pad 20cmx20cm 8bit matrix with 8x8=64 junction points controlled with 8 analog and 8 digital pins on Arduino... I made this experimental robotic skin with 8*8 matrix, which has a resolution around one inch but the resolution can be increased by increasing the number of junctions. I used an Arduino Nano for my experimental skin because it is small and it has 8 analog pins. Arduino Mega can be used if you need more pins. Actually there are I2C port expanders on the market, very cheap ( 1,5 USD) and they can be cascaded reaching 64 extra pins...
Parts needed to construct the skin:
- Sheet of self adhesive thin plastic wall paper.
-Sheet of Velostat. this is the black anti-static bag used for electronic component bags.
-Self adhesive copper tape. I used 5mm copper tape for the purpose.
-Arduino Nano.
-Some flat thin wire and some 10K resistors.
Self adhesive copper tape is placed on 2 different sheets of wall paper equally spaced 8 rows on one sheet and 8 columns on the other. wires are soldered at one ends of the copper tape (take care to place the side without adhesive on contact surface)... A sheet of velostat is placed in between and sandwiched to make the final skin. Velostat is resistive and sensitive to pressure and this will make a varying resistive response on the matrix of copper tape...
The Arduino pin connections can be found on schematic. After uploading the sketch and powering up you can touch on any place on the skin and see the touched area and how much pressure is applied on the serial window...

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1:

As you can see the final skin is very thin and flexible... Can be placed on any part of the robot... Wrapped around arms, legs or chest... It can be constructed at any size... The Arduino code for reading the sensor is written by me using a software 12bit ADC for increased sensitivity... This great ADC library adds more precision to Arduino ADC Written by ErcaGuy and can be found at:
I am trying to find a way for visualising the output on Processing.... I will post future improvements...

Update: I made this experimental skin for determiming the touched area of a robotic arm. If you want to determine the exact point of touch, you can use the following sketch...

Simmple 8x8 matrix read...

Please vote for me if you liked this Instructable...
Arduino Contest 2016

Participated in the
Arduino Contest 2016

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    5 Discussions


    2 years ago

    explain me this i didnt got that how can detect a particular address point

    2 replies

    Reply 2 years ago

    Well this is an experimental platform.. you have to tweak on the code for your needs. for example, you can make rows high one by one in a for-next loop and track the exact adress point reading the input pins in the same way...


    Reply 2 years ago

    but exactly which hardware you used inside...?


    2 years ago

    I could add this to my robot - perhaps it likes being touched :-)

    Nice idea!

    1 reply

    Reply 2 years ago

    This is a way to communicate with a robot by touching... Also it can be used to avoid the robot from bumping into unwanted objects..