Skip to content

12. Skin Electronics

Research

In the context of the Fabricademy 2024-2025 program, the "Skin Electronics" module explores the integration of intelligent circuitry directly onto human skin. This approach aims to enhance the human body's ability to interact with external objects, such as telecommunication and IoT devices. The course encourages experimentation with various materials and techniques to create custom on-skin electronic devices.

References & Inspiration

This breakthrough in skin electronics demonstrates a significant leap forward in wearable technology, with a focus on healthcare applications. Japanese researchers have designed an ultrathin, highly elastic skin display capable of showing real-time electrocardiogram (ECG) waveforms. This innovation combines flexibility, breathability, and seamless integration with the human body, offering promising possibilities for home-based health monitoring.

Process and workflow

After analyzing the applications of skin electronics, I noticed a significant contribution to health monitoring devices. This made me think of futuristic movies, and I felt excited by these advancements that seem straight out of science fiction. Additionally, the topic of human-machine interfaces stood out, where technology, being so close to the human body and easily accessible, offers a new evolution in interacting with electronic tools.

Arduino IOT Cloud

In this experiment, I created a project in Arduino IoT Cloud using an ESP32 with 38 pins, which has the capability to connect to a Wi-Fi network.

I logged into my IoT Cloud account. In the "Create" section, I added a new project and named it "LED". Then, I selected the declaration "bool led". After that, I chose my device, which in my case is an ESP32, selecting it as a third-party device. Finally, a secret ID was generated, which I saved and downloaded.

describe what you see in this image

Configure network and Dashboards

To configure the network, I entered the required data along with the secret ID that I had previously saved.

describe what you see in this image

Then, I went to the Sketch tab, set up my code to turn the red LED on and off, and uploaded it to the board.

describe what you see in this image describe what you see in this image

Next, I accessed the Dashboards tab and added a switch. In the Widget Settings section, I linked this variable, and that was it!

describe what you see in this image

I repeated the process, but this time with a Neopixel, adding a new widget to change its color.

I really enjoyed this exercise, but it didn’t fully convince me regarding the skin electronics concept. So, I decided to experiment with another approach, which I will show next. However, I would like to keep this Arduino IoT Cloud project for a future development.

describe what you see in this image

Code

Use the three backticks to separate code.

// #include "thingProperties.h"
#include <Adafruit_NeoPixel.h>

// Configuración de NeoPixels
#define PIN 32          // Pin de datos de la tira LED
#define NUMPIXELS 8     // Número de LEDs en la tira
Adafruit_NeoPixel strip(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

// Función para convertir HSV a RGB
void HSVtoRGB(float h, float s, float v, uint8_t &r, uint8_t &g, uint8_t &b) {
  int i = int(h * 6);   // Sector 0-5
  float f = h * 6 - i;  // Factor decimal
  float p = v * (1 - s);
  float q = v * (1 - f * s);
  float t = v * (1 - (1 - f) * s);

  switch (i % 6) {
    case 0: r = v * 255; g = t * 255; b = p * 255; break;
    case 1: r = q * 255; g = v * 255; b = p * 255; break;
    case 2: r = p * 255; g = v * 255; b = t * 255; break;
    case 3: r = p * 255; g = q * 255; b = v * 255; break;
    case 4: r = t * 255; g = p * 255; b = v * 255; break;
    case 5: r = v * 255; g = p * 255; b = q * 255; break;
  }
}

void setup() {
  // I2C
  Serial.begin(9600);
  delay(1500);

  // IoT Cloud
  initProperties();

  //  IoT Cloud connection
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);

  // NeoPixels
  strip.begin();
  strip.show(); // Apaga todos los LEDs inicialmente


  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();
}

void loop() {
  // Update the connection with IoT Cloud
  ArduinoCloud.update();
}

/*
  This function runs when the 'neopixels' variable changes from the Dashboard
*/
void onNeopixelsChange() {
  // Extract the HSV values from the variable "neopixels"
  float h = neopixels.getHue();        // Tono (0-1)
  float s = neopixels.getSaturation(); // Saturación (0-1)
  float v = neopixels.getBrightness(); // Brillo (0-1)

  // Convertir HSV a RGB
  uint8_t r, g, b;
  HSVtoRGB(h, s, v, r, g, b);

  Serial.println("Updated color (HSV -> RGB):");
  Serial.print("Hue: "); Serial.println(h);
  Serial.print("Saturation: "); Serial.println(s);
  Serial.print("Brightness: "); Serial.println(v);
  Serial.print("Red: "); Serial.println(r);
  Serial.print("Green: "); Serial.println(g);
  Serial.print("Blue: "); Serial.println(b);

  // Change the color of all the LEDs on the strip
  for (int i = 0; i < NUMPIXELS; i++) {
    strip.setPixelColor(i, strip.Color(r, g, b));
  }
  strip.show(); // Update the LEDs with the new color
}

Skin electronic

For my experiment, I wanted to try something that would stay attached to me for a longer time, so I got some LED nail stickers.

| NFC light-up nail stickers are innovative accessories that incorporate a smart LED light source and use Near Field Communication (NFC) technology to activate. These stickers do not require batteries, as they are powered by the energy provided by NFC-enabled devices, such as mobile phones, (How does an NFC chip work?).

The NFC nail sticker is composed of a copper antenna in the form of an ultra-thin spiral. Its function is to capture the electromagnetic energy from an NFC reader and convert it into electrical current to power the LED. The coil is connected to the LED’s positive and negative terminals, allowing it to light up. To optimize performance and extend the LED’s lifespan, the circuit includes capacitors and resistors that regulate the current flow, (NFC LED, NFC Antenna).

describe what you see in this image

To apply them, I had the help of a third person, as I wanted to experience the perspective and process of someone specialized in nail encapsulation.

First, they applied polish, a semi-permanent gel coating that lasts for three weeks and cures under ultraviolet light. I chose a lilac shade.

Then, they placed the sticker. I tried two different positions, but it detached easily. The most suitable position was horizontal. To ensure its adhesion, several layers of translucent gel were applied over the sticker.

Note: The adhesive on the stickers may not be strong enough, so I recommend adding an extra adhesive for better fixation.

describe what you see in this image describe what you see in this image

I2C & NFC

Both communication types are fascinating, and I had the opportunity to experiment with each. They have unique characteristics, which are highlighted in the comparison table below.

Comparison I2C vs NFC

Comparison between I2C and NFC

Feature I2C (Inter-Integrated Circuit) NFC (Near Field Communication)
Type of Communication Synchronous serial communication Short-range wireless communication
Operating Mode Master-slave Peer-to-peer, read/write, card emulation
Transmission Medium Wired (SDA and SCL lines) Wireless (radio frequency, 13.56 MHz)
Operating Distance Centimeters to meters Less than 10 cm
Data Transfer Speed Up to 3.4 Mbps Up to 424 kbps
Device Power Supply Requires external power Can operate without battery (powered passively from NFC reader)
Applications Communication between sensors, EEPROM memories, microcontrollers Mobile payments, access cards, data transfer between devices
Security Depends on implementation, no default encryption Can include encryption and authentication in some modes

Results

In the video, I activate the NFC signal on my phone, which appears on my screen as "NFC and contactless payments." This technology enables wireless data exchange between devices and is used for payments, device pairing, and data transfer.

When the signal is active, the antenna (coil) amplifies the signal to power the LED.

describe what you see in this image