Skip to content

12. Skin Electronics

Introduction to Skin Electronics

Skin electronics is an exciting field at the intersection of wearable technology and bioengineering. These ultra-thin, flexible devices seamlessly integrate with human skin, enabling advanced applications in health monitoring, robotics, and even augmented reality. By mimicking the properties of natural skin, such as flexibility, stretchability, and sensitivity, these innovative systems offer a glimpse into the future of personalized and non-invasive technology.

For a deeper understanding of how skin electronics work and their potential impact, check out this fascinating YouTube video. It provides a comprehensive overview of the technology, showcasing its real-world applications and possibilities.

Explore the use of conductive ink on the skin.

Materials Used

  • Carbon powder
  • Glue
  • Vinegar
  • Water
  • Gold leaf
  • Charcoal
  • Glycerin

Mixed carbon powder with varying proportions of glue, vinegar, and water to create different conductive ink formulations.

Applied the mixtures to test surfaces and measured their electrical resistance.

Goal: Identify the optimal formula for conductive ink that adheres well to the skin and provides effective conductivity.


🔌 The Results Are In!

Material Conductivity Rating Verdict
Charcoal + glue 0.5 Ω "You’re hired!"
Gold leaf 0.2 Ω "Luxury AND function welcome aboard!"
Vinegar + glycerin 10 Ω "Uh, no. Try harder next time."
Plain glue Infinite Ω "Literally does nothing. Bye!"

Inspiration & Concept

This week, I found my inspiration in creating a party mask that light up on the skin. To start, I focused on researching the right design and figuring out the best way to make connections—whether with wires, conductive ink, or copper tape. I also explored which sensor would work best with the body, such as a temperature sensor, heartbeat sensor, or light sensor. Additionally, I considered the type of lighting I’d use, like LED lights, neopixels, or even glowing powders. As I worked through these ideas, everything started to come together once I finalized the design!

describe what you see in this image

💡 also Dima wanted a crystal encrusted RGB earpiece with temperature sensitive LEDs. the stuff of futuristic fashion shoots.

🚨 Eureka Moment!
Why not connect these designs into a dynamic duo? A shared temperature sensor circuit would be the perfect bridge!

Credits
1
2
3

Circut design

Connections

Component Connection Pin/Voltage
Thermistor One leg connected to Pin 2
Other leg connected to 3.3V (positive rail)
10k ohm resistor connected between Pin 2 and GND
LED Positive (anode) leg connected to Pin 21 (PWM-capable)
Negative (cathode) leg connected to GND

Building the circuit

Me colleague Dima worked on the design of the circut

Circuit Design

CREDITS
Dima Hijab Design

1️⃣ Base Layer:
The stage where all the action happens. Non-conductive, sturdy, and ready to host the drama.

2️⃣ Positive Vibes Only:
Laid the positive wire like a roadmap to fabulousness. Without it, there’s no spark literally.

3️⃣ Array Magic:
Connected the bling squad (arrays) to the positive. Like tiny disco balls, they were ready to shine.

4️⃣ Insulation: Keep It Together:
Smoothed on an insulating layer to keep the chaos out and the sparkle safe. It’s the duct tape of the circuit world.

5️⃣ Negative Energy, But Make It Cool:
Finished with the negative wire the yin to the positive’s yang. It brought balance, power, and a touch of mystery.

tip

make sure of the Xioa board you are using - some of them got the places of the pins mixed

Prtotyping

My colleague Dima. worked on this incredible prototype. Her project focused on creating a wearable earpiece that combined functionality with a futuristic aesthetic. Here's how she brought her vision to life:

Prototype

Here's how it went:

1️⃣ Ear It Is:
Dima shaped the circuit into an earpiece because why not wear brilliance? The design featured line arrays to give it that futuristic, tech-chic vibe.

2️⃣ Layered Brilliance:
First, Dima wired the positive layer, then added sketch tape for isolation. Finally, she wrapped the wires for the negative layer, keeping everything neat and functional.

3️⃣ Jumper Magic:
She connected it all with jumper wires and a battery to complete the circuit. Voila! The LEDs were ready to glow.

4️⃣ Test the Glow:
She plugged it in, crossed her fingers, and watched the micro RGB LEDs light up. Boom—working brilliance, in ear form!

It wasn’t just a prototype; it was a wearable tech success story by Dima. 🎧✨

3D printing

This Crystal was made in Textile Scaffold week and I took the advantage of this idea to make 3d print pieces !!

This was where the magic of Cura slicer and Ultimaker S5 wizardry came into play.

Crystal Printing Settings:

Setting Value Why It’s Awesome
Material PLA (Blue/White Transparent) Makes LEDs look like diamonds.
Layer Height 0.1 mm Smooth but not slow.
Infill 15% Lightweight brilliance.
Build Plate Adhesion Brim Keeps those tiny parts from flying away.
Print Speed 70 mm/s Balance of speed and precision.

Coding Turning Science Into Sparkles

We designed a temperature sensitive circuit to make LEDs shine brighter as things heat up.

Prototype

first attempt

The magic words (a.k.a. code) that made it all happen:

#define TEMP_PIN 2       // Analog pin for the thermistor
#define LED_PIN 7        // PWM pin for the LED (must support analogWrite)

void setup() {
  Serial.begin(115200);   
  pinMode(LED_PIN, OUTPUT); 
}

void loop() {
  int sensorValue = analogRead(TEMP_PIN);
  float voltage = sensorValue * (3.3 / 4095.0);
  float temperature = (voltage - 0.5) * 26.3;

  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" C");

  if (temperature >= 30) {
    fadeLED(); 
  } else {
    analogWrite(LED_PIN, 0); 
  }

  delay(1000);  
}

void fadeLED() {
  for (int brightness = 0; brightness <= 255; brightness++) {
    analogWrite(LED_PIN, brightness);
    delay(10);
  }
  delay(1000);
  for (int brightness = 255; brightness >= 0; brightness--) {
    analogWrite(LED_PIN, brightness);
    delay(10);
  }
}
Prototype

🛠️ Explanation - Serial Communication

Serial.begin(115200);
This enables debugging communication with the Arduino Serial Monitor.


Pin Mode for LED cpp pinMode(LED_PIN, OUTPUT);

🔄 2. Main Loop Logic

The loop() function keeps repeating itself during operation. Here we monitor sensor data, process that input, and control the LED effect.

void loop() {
   int sensorValue = analogRead(TEMP_PIN);               // Read analog data from the temperature sensor
   float voltage = sensorValue * (3.3 / 4095.0);        // Map analog reading to voltage
   float temperature = (voltage - 0.5) * 26.3;          // Convert voltage to a temperature in °C

   Serial.print("Temperature: ");
   Serial.print(temperature);
   Serial.println(" °C");

   if (temperature >= 30) { 
       fadeLED(); // Trigger LED effect if temperature crosses 30°C
   } else {
       analogWrite(LED_PIN, 0); // Otherwise, ensure the LED is turned off
   }

   delay(1000); // Wait for 1 second before repeating the logic
}

Analog Signal Conversion

Read Sensor Data

int sensorValue = analogRead(TEMP_PIN);
Reads the analog temperature sensor’s signal.

💡 Logic Explained

float voltage = sensorValue * (3.3 / 4095.0);
Maps raw analog values into actual voltage values based on a 3.3V system.

Convert Voltage to Real World Temperature

float temperature = (voltage - 0.5) * 26.3;

Translates voltage into °C temperature using a specific calibration formula.

LED Trigger Logic

if (temperature >= 30) { 
  fadeLED();
} else {
  analogWrite(LED_PIN, 0);
}
Turns on the LED effect if the measured temperature rises to 30°C or higher. Otherwise, it ensures the LED is turned off.

Delay

delay(1000);
Waits for 1 second before running the loop logic again.

💡 3. LED Fading Logic

 The fadeLED() function provides a PWM effect by dynamically adjusting the LED's brightness over time.
void fadeLED() {
  for (int brightness = 0; brightness <= 255; brightness++) { // Fade-in effect
    analogWrite(LED_PIN, brightness);
    delay(10);
  }

  delay(1000); // Wait momentarily at full brightness

  for (int brightness = 255; brightness >= 0; brightness--) { // Fade-out effect
    analogWrite(LED_PIN, brightness);
    delay(10);
  }
}

🚀 Explanation of How it Works

Prototype

Fade In Logic

for (int brightness = 0; brightness <= 255; brightness++) {
  analogWrite(LED_PIN, brightness);
  delay(10);
}
LED brightness smoothly increases from 0 (off) to 255 (full brightness).

Hold at Full Brightness

delay(1000);
Waits for 1 second at full brightness before transitioning to fade-out.

Fade Out Logic

for (int brightness = 255; brightness >= 0; brightness--) {
  analogWrite(LED_PIN, brightness);
  delay(10);
}

LED brightness smoothly decreases back to 0.

⚙️ 4. Variables & Constants To ensure cleaner, easier to read, and modular code, define constants at the top of the program.

const int LED_PIN = 9;         // Pin number connected to the LED
const int TEMP_PIN = A0;       // Analog pin connected to the temperature sensor

🏆 Why Constants Matter Using constants like LED_PIN and TEMP_PIN makes the program easier to debug and reuse. If you ever change a pin's connection, you only need to adjust the constant value rather than hunting through the entire code.

🛠️ 5. Debugging Debugging with serial communication allows real-time feedback during testing.

Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");

✅ Why Use Debugging? Helps validate that sensor readings are correct. Enables troubleshooting faulty logic or unexpected values.

🖥️ 6. Coding Environment Below are key details about the tools and platform used during this coding phase:

Tool/Component Purpose Arduino IDE Code development environment Serial Monitor Debugging tool LED_PIN/analogRead() For controlling LED response

👩‍💻 Coding Fail Moment

  • I forgot a semicolon, and the board just blinked at me in protest.

Process

This pictures of the process was taken from my colleague Dima's website: Dima's Week 12 Assignment.

  • Wrapped the wires Based on the deisgn.

Prototype

  • Isolated everything double while checking there's no short circuit.

Prototype

  • Attached 3D printed crystals to the earpiece.

Prototype

  • Connected LEDs to the circuit.

Prototype

  • Powered it up, and boom magic!

Prototype

Result

Prototype


Fabrication files


  1. File: Crystal 

  2. File: Crystal2