Touch Sensitive Robotic Skin

Intro: 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...

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...



    • Audio Contest 2018

      Audio Contest 2018
    • Fix It! Contest

      Fix It! Contest
    • Tiny Home Contest

      Tiny Home Contest

    5 Discussions


    1 year ago

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

    2 replies

    Reply 1 year 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 1 year ago

    but exactly which hardware you used inside...?


    1 year ago

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

    Nice idea!

    1 reply

    Reply 1 year 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..