Skip to content

13. Skin Electronics

Skin electronics are electronic devices which are attached to the surface of the body and enable the wearer to interact with the digital world. Sensors can be applied directly to a person’s skin and to be hidden on the body. This can be extremely beneficial for taking accurate measurements of body parameters or tracking movement.

References & Inspiration

Skin interfaces electrominescent ink: glowing when a current passes through it Touchpad fabric


Exploration of different techniques

3*3 piezoresistive paper matrix

  • Alligator clips
  • Velostat
  • Copper tappe
  • Papper
  • Arduino UNO
  • Breadboard

Making a 3x3 paper matrix. To make it, we use velostat, which is a pressure sensitive material. Two pieces of paper are placed perpendicular to each other with three thin strips of copper tape and a strip of velostat between the two papers. The intersection of these 6 strips allows 9 variable resistances to be measured.

Matrix composants Circuit Video

via GIPHY

ATtiny

ATtiny
  • ATtiny85
  • 10uF electrolytic capacitor
  • 220 ohm resistor
  • LED
  • Wire
  • Arduino UNO
  • Breadboard
Step picture / Video
ATtiny circuit
attiny_led with Arduino

via GIPHY

attiny_led without Arduino

via GIPHY

attiny with digital sensor

via GIPHY

  /* Emma Pareschi, Nov 2019
   *  
   *  the led connected to pin 1. it blinks
   */
   int led_pin = 1;  //pin of the Led

  void setup() {
  // put your setup code here, to run once:
  pinMode(led_pin, OUTPUT);   // set the pin 1 as OUTPUT

   }

  void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(led_pin, HIGH);      //turn the Led ON
  delay(1000);                      //wait for a second
  digitalWrite(led_pin, LOW);       //turn the Led OFF
  delay(1000);                      //wait for a second
    }                      
    }
   /*Emma Pareschi 2020
   the Led turns on when the digital sensor is triggered
   */
   // this constant won't change:
  int sw_pin = 4;    // the pin that the pushbutton is attached to
  int led_pin = 1;   //pin of the led

   // Variables will change:
   int sw_status = 0;         // current state of the button

   void setup() {
   // initialize input and output pins:
   pinMode(sw_pin, INPUT_PULLUP);
   pinMode(led_pin, OUTPUT);
   }

   void loop() {

   // read the pushbutton input pin:
   sw_status = digitalRead(sw_pin);

   // compare the switch status to its previous state
   if (sw_status == LOW) {   //if the sw is pressed
    digitalWrite(led_pin, HIGH);   //turn on the led (5V)
   } else {        //if the sw is not pressed
    digitalWrite(led_pin, LOW);   //turn off the Led (0V)
   }  
   }

Capacitive sensor

A capacitive sensor can detect the presence of an hand. It can be a foil of conductive objet or a wire.

  • Aluminium folder
  • Wire
  • Arduino UNO
  • Breadboard
Step Circuit Video
1 Capacitive sensor
Serial monitor 2 capacitive sensors

via GIPHY

2 leds 2 capacitive sensors

via GIPHY

  #include <CapacitiveSensor.h>

 /*
 * Modified example from CapitiveSense Library Demo Sketch (Paul Badger 2008)
 * Uses a high value resistor e.g. 10M between send pin and receive pin
 * Resistor effects sensitivity, experiment with values, 50K - 50M. Larger resistor values yield larger sensor values.
 * Receive pin is the sensor pin - try different amounts of foil/metal on this pin
 */

 CapacitiveSensor   cs_4_2 = CapacitiveSensor(4,2);   // 300K resistor between pins 4 & 2, pin 2 is sensor pin, add a wire or foil if desired

 long total1;  //definition

 void setup()                    
 {
   cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);  // turn off autocalibrate on channel 1 - just as an example
   Serial.begin(9600);  //open communication
 }

 void loop()                    
 {
    long total1 =  cs_4_2.capacitiveSensor(10);
    Serial.println(total1);                  // print sensor output 1
    delay(100);
 }
 #include <CapacitiveSensor.h>

 CapacitiveSensor   cs_4_2 = CapacitiveSensor(4,2);        // 10M resistor between pins 4 & 2, pin 2 is sensor pin, add a wire and or foil if desired
 CapacitiveSensor   cs_8_6 = CapacitiveSensor(8,6);        // 10M resistor between pins 8 & 6, pin 6 is sensor pin, add a wire and or foil

 void setup()                    
 {
   Serial.begin(9600);
 }

 void loop()                    
 {
    long total1 =  cs_4_2.capacitiveSensor(30);
    long total2 =  cs_8_6.capacitiveSensor(30);

    Serial.print(total1);         // print sensor output 1
    Serial.print("\t");
    Serial.println(total2);       // print sensor output 2
    delay(100);                   // arbitrary delay to limit data to serial port 

 }
 #include <CapacitiveSensor.h>

 CapacitiveSensor   cs_4_2 = CapacitiveSensor(4,2);        // 10M resistor between pins 4 & 2, pin 2 is  sensor pin, add a wire and or foil if desired
 CapacitiveSensor   cs_8_6 = CapacitiveSensor(8,6);        // 10M resistor between pins 8 & 6, pin 6 is sensor pin, add a wire and or foil

 int thr = 100; //threshold

 int led1_pin = 10;
 int led2_pin = 12;

  void setup()                    
 {
   Serial.begin(9600);
    pinMode(led1_pin, OUTPUT);
    pinMode(led2_pin, OUTPUT);
 }

 void loop()                    
 {
    long total1 =  cs_4_2.capacitiveSensor(30);
    long total2 =  cs_8_6.capacitiveSensor(30);

    Serial.print(total1);          // print sensor output 1
    Serial.print(" ");
    Serial.println(total2);        // print sensor output 2
    delay(10);                     // arbitrary delay to limit data to serial port 

  if(total1 > thr & total2 < thr){

    digitalWrite(led1_pin, HIGH);
    digitalWrite(led2_pin, LOW);

  } else if ( total1 < thr & total2 > thr){

    digitalWrite(led1_pin, LOW);
    digitalWrite(led2_pin, HIGH);

  } else if( total1 > thr & total2 > thr){

    digitalWrite(led1_pin, LOW);
    digitalWrite(led2_pin, LOW);

  } else {

    digitalWrite(led1_pin, HIGH);
    digitalWrite(led2_pin, HIGH);
    }   
  }

Project: interactive tatoo

Step picture / Video
Half-cutting with ScanNCut SDX1250 Brother (pressure:-2, speed:4, half cut: ON)
Selection of the pattern directly on the machine. I chose a star that I replicated 3 times in 3 different sizes and orientations. Each star is a capacitive touch button.
Plastic stars removing

via GIPHY

Gold leaf (conductive material) deposition on the exposed sticky part. Place conductive wire on the stars. I added copper tape to reinforce the connection. These reinforcements will be invisible as they will be on the skin side.

via GIPHY

Insulation with skin. Layer of nonconductive material adds between conductive tatoo and the wearer’s skin to protect it.

via GIPHY

Result. Then apply the tatoo on the user skin through water transfer.

The interactive tatoo doesn’t work. It was more of a prototype form to understand how to integrate electronic circuits into a tattoo.

Literature

2017, Weigel and al, SkinMarks: Enabling Interactions on Body Landmarks Using Conformal Skin Electronics

2016, Kao and al, DuoSkin: rapidly prototyping on-skin user interfaces using skin-friendly materials


Last update: 2023-05-10