Lighted Tears, Skin Electronics Prototype from Gabriela Lotaif on Vimeo.

Chosen Exercise:

Considering both my general practice as a costume designer as well as my aim with the final project which is create a skin-seeming garment made of biomaterial that reacts as a skin electronic in some levels I decided for the mask exercise mixed with the makeup one as my project for this week.


Mooboard skin electronics


Gabriela Lotaif skin electronic tears

Failed attempt to use mini RGBs

My intention was to use the LEDs on the neopixel strap but pulled out of the strap, because I wanted the tears to be quite small, but to light up one at a time.

I started by trying out the strip to see if the leds on it were all okay:


When I made sure they did, I cut them out and took them off of the strip, I then understood what pin coming out of it served for what based on this link:


miniled explanation

I then tested it out quite roughly with the Arduino Uno still and it worked, but with quite weak lights:

Mini Led test with Arduino Uno from Gabriela Lotaif on Vimeo.

But once soldered to the copper cables and connected to the Arduino Uno they no longer worked, however the current did go throught it.


Testing Neopixel RGBs with Arduino Uno

After my failed test I decided to in fact use the bigger Neopixel RGBs, as they would still make sense, just would need thicker tears constructed around them, which would lead to a bigger outcome averall on my make up/mask piece.

I first tested each of my Neopixel RGBs with my Arduino Uno using the Neopixel library strandtest:


Soldering Neopixel RGBs Leds together in mind of the design

I followed to construct my small circuit that woukd become my skin electronic in face of what my design was. I did this by measureing the distance of the RGBs in my cheek and calculating the needed measurements of the 3 connecting copper cables that I would solder on the LEDs.

positioning of rgbs Gabriela Lotaif

SOldered neopixels

Next Step was to test them with the Arduino Uno, still using the starndtest library taken from the Neopixel examples:

Testing RGB Soldered Neopixels with Arduino Uno from Gabriela Lotaif on Vimeo.

Testing Neopixel RGBs with Flora

I fist connected my Flora to my circuit and tested if if actually worked.

Testing Skin Electronics circuit with the Adafruit Flora from Gabriela Lotaif on Vimeo.

Once sure that the Flora would work I soldered the circuit onto the Flora.

Circuit soldered to flora

The use of the Flora was thought based on the options I had and on the aesthectics of it hinging out of the ear of the user as a rounded earring as per my design.

I programmed the code of my circuit to light my LEDs up one by one, starting from the one closest to the nose, in an orange tone to make it match the colour of the material I used to construct the RGB-LED-envolving tear. I used part of the strandtest library to base my code in and partially pogrammed it myself.

This is the final code:

// A basic everyday NeoPixel strip test program.

// NEOPIXEL BEST PRACTICES for most reliable operation:
// - Add 1000 uF CAPACITOR between NeoPixel strip's + and - connections.
// - MINIMIZE WIRING LENGTH between microcontroller board and first pixel.
// - NeoPixel strip's DATA-IN should pass through a 300-500 OHM RESISTOR.
// - AVOID connecting NeoPixels on a LIVE CIRCUIT. If you must, ALWAYS
//   connect GROUND (-) first, then +, then data.
// - When using a 3.3V microcontroller with a 5V-powered NeoPixel strip,
// (Skipping these may work OK on your workbench but can fail in the field)

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
 #include <avr/power.h> // Required for 16 MHz Adafruit Trinket

// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1:
#define LED_PIN    9

// How many NeoPixels are attached to the Arduino?
#define LED_COUNT 3

// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
// Argument 1 = Number of pixels in NeoPixel strip
// Argument 2 = Arduino pin number (most are valid)
// Argument 3 = Pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
//   NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)

// setup() function -- runs once at startup --------------------------------

void setup() {
  // These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
  // Any other board, you can remove this part (but no harm leaving it):
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
  // END of Trinket-specific code.

  strip.begin();           // INITIALIZE NeoPixel strip object (REQUIRED)
  strip.show();            // Turn OFF all pixels ASAP
  strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255)

// loop() function -- runs repeatedly as long as board is on ---------------

void loop() {
  void colorWipe(uint32_t color, int wait);
  for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
    strip.setPixelColor(i, 255,200,0);         //  Set pixel's color (in RAM)
    strip.show();                          //  Update strip to match
    delay(300);                           //  Pause for a moment

    void colorWipe(uint32_t color, int wait);
    for(int i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, 0,0,0);


Adding resin and silicone glue to the Neopixel RGBs to make my tears

As mentioned before, I decided to program the light of the Neopixel RGBs to be orangy/red in order to make them match with the colour of the pine resin that I was to insert the LEDs on.

In order to program the colour I wanted to achieve I used this reference

I first envolved the RGB Leds in pine resin mixed with tapioca starch (meant to stranghten the resin once dry).

I boiled the pine resin and once melted I added the starch to it, In this process I used the documentation of Lara Campos' from last year, all added in the useful links bellow.

pine resin

pine resin2

The issue I had, and that Lara had anticipated to me, was that despite the addition of tapioca starch my final outcome of the dry resin was still very fragile, and broke once I removed it from the acrylic base I had used to pour it on the LEDs.

This gave me the idea of leaving the resin only around the LED mainly for colour and aesthetic puposes and finishing up my tears' format with a silicone glue gun.

silicone glue gun addition

This is the result I achieved:

circuit nearly done

Skin Electronic's circuit from Gabriela Lotaif on Vimeo.

Applying to Skin

I glued transparent micropore to the back of my tears to be able to place them on the face one my skin slectronic was fully functioning, in order to do this I used a craft contact glue:



The design also affected my choice of battery. I first decided to power my skin electronic with the 3V battery glued to the back of my Flora. In order for this I bought this 3V Battery power reader and switch

Issues with battery

Battery issues with Skin Electronic from Gabriela Lotaif on Vimeo.

I then connected it to my circuit, but the 3V battery proved to not be enough power for my circuit, so I decided to change it into a dyi version of a 9V battery, made out of the union of three 3V batteries in series, similarly to what this video shows:

My version was constructed with black tape, not thermal rubber. I then attached it to the back of my flora and the switch in the plugging in or out of the white connector:

Battery 3V skin electronics


This is how my skin electronic looks:

Lighted Tears, Skin Electronics Prototype from Gabriela Lotaif on Vimeo.

Lighted Tears, Skin Electronics Prototype from Gabriela Lotaif on Vimeo.