13. Skin Electronics

Batman mask

Connections schema

To make the Batman mask I used, a GEMMA board, one Flora smart Neopixel and copper thread.

I only connected one neopixel.


I used a very thin copper thread to make the connections.

To connect the copper thread to the GEMMA board and the Neopixel, thread extremities had to be denuded as they were isolated.

To denude the copper thread I burned a little bit the end of the thread, then scratched it with a scapel and finally with sanding paper.

I then soldered the thread with the connections.

I followed the same step for the 3 connections.


I used the Arduino software to upload the code to the GEMMA board.

To be able to use the GEMMA board it's necessary to download the Adafruit board by downloading the files Adafruits drivers

Then by connecting the URL : https://adafruit.github.io/arduino-board-index/package_adafruit_index.json in the preferences index.

After that I selected the GEMMA board and USB Tiny controller.

Don't forget to click on the reset button while loading the code, otherwise the GEMMA board won't work.

I then uploaded the following code into the Arduino software.

#include <Adafruit_NeoPixel.h>

#define PIN 1

// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number
// Parameter 3 = pixel type flags

Adafruit_NeoPixel strip = Adafruit_NeoPixel (1, PIN, NEO_GRB + NEO_KHZ800);

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.


// the loop routine runs over and over again forever:
void loop() {

// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  WheelPos = 255 - WheelPos;
  if(WheelPos < 85) {
   return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } else if(WheelPos < 170) {
    WheelPos -= 85;
   return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  } else {
   WheelPos -= 170;
   return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);

void rainbow(uint8_t wait) {
  uint16_t i, j;
  for (j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor (i, Wheel((i+j) & 255));

Working program

Making the mask

I used one of my son's batman mask, and hid the connections on the back, only putting the Neopixel on the front.

Unfortunately the copper thread connection broke while I was attaching the composant to the mask. I think that the copper thread that I used was to thin. In order to make stronger connections, I maybe should have used conductive thread and then covered the thread with a silicone cover.

Studio visit : Ohme project

I met the creator of the Ohme project, transdisciplinary and creative label designed to create, produce, curate and diffuse innovative contents at the nexus Art, Science, Technologies and Societal challenges.

It's not 'skin' electronics but a very nice project playing with body and electronics. A dance performance with lighting suit lighting according the music.