13. Skin Electronics
Inspired by invisible computing, augmenting human capabilities and magic, this research proposes novel ways of interacting with the world.
With this project I was exploring electronic interfaces worn on the skin + head + face. Inspired by "Burgu3" البرقع and the Jordanian Bedouin tattoos , I created a full headpiece with a bio material mask and wearable touch sensor as a tattoo. Usually these Jordanian Bedouin has meanings behind them and a massage so I wanted to create a hi-tech different message delivered through their senses of touch, all the way to the head so that they can travel in space.
Inspiration
I was inspired from this cultural traditional mask we call "Burgu3" البرقع which is a Bedouin Facial Mask for females with coins Here's the was inspired from the tattoo the Jordanian Bedouin used to do as each tattoo has a cultural meaning behind it and message
Resources
Experiments - Tattoo
I was not satisficed with the results so I decided to use copper tape in the shape of traditional tattoo as the tattoo on my face as well as to act like the touch sensor input for the
Experiments - Mask
I was trying to recreate these skin inspirations using untraditional materials so I experimented with biomaterials made from traditional Jordanian food waste (olive oil production waste) as Jordan well known for producing oil and olives as our signature production line as a country itself and usually that production ends with lots of waste thrown aside so I went to the factory and collected that waste and transformed it into biomaterial (so I am deconstructing traditional ingredients to reshape/ recreate traditional outcome)
then I trying this material on a 3D printed shell of a human face in figure out how would look like as a mask and what are my options as an artist/designer/ digital fabricator
then I wasnt happy to include it underneath the coins to act as fabric on it''s own so I used the Bio-coins with golden chain
i used the biomaterials i created during week 6 to fabricate the goldish coin
Bio Coins
Gelatine Bio-Resin (with gold )
Ingredients: pre weight ingredients: - 48 gr Gelatine - 24 gr Glycerine - 17 gr Olive Seeds - 110 gr olive Seeds dye-bath - 130 ml water
Procedure: 1. Warm up the water until warm (maximum 6o C) 2. Add Plasticizer Glycerine 3. Add Gelatine 4. Mix on heat for few minutes 5. Pour on surface (this case a glass shelf with MDF wasted food as boarders fixed with tape) 6. added gold leaves on the sides
Gelatine Bio-Resin (gold Onion dye-bath with )
Ingredients: pre weight ingredients: - 48 gr Gelatine - 8 gr Glycerine - 240 ml Onions dye bath
Procedure: 1. Warm up dye bath together until warm (maximum 8o C) 2. Add Plasticizer Glycerine 3. Add Gelatine 4. Mix on heat for few minutes then add gold powder 5. Pour on surface (this case rectangular acrylic mold) 6. added gold leaves
Gelatine Bio-Silicone (olive seeds + dye-bath)
Ingredients: pre weight ingredients: - 48 gr Gelatine - 24 gr Glycerine - 17 gr Olive Seeds - 110 gr olive Seeds dye-bath - 130 ml water
Procedure: 1. Mix and Warm up the water and dye bath together until warm (maximum 8o C) 2. Add Plasticizer Glycerine 3. Add Gelatine 4. Mix on heat for few minutes 5. Pour on surface (this case a glass shelf with MDF wasted food as boarders fixed with tape) 6. added gold leaves on the sides
Laser settings (for the bio coin)
Engrave
Power 14 Speed 10 Frequency 1000
Cut
Power 70 Speed 1.6 Frequency 1000
Electronics
Linking the head piece (output) and the Tattoo (input)
Schematic of the circuit
Adafruit Gemma microcontroller is connected to both the copper tape in the shape of tattoo and to two addressable LEDs, and loaded with an Arduino sketch that toggles the LEDs on and off when the tattoo copper tape is touched.
BOM (Bill of Materials)
Qty | Description | Price | Link | Notes |
---|---|---|---|---|
2 | RGB Smart NeoPixel | 2.33 $ | https://www.ubuy.com.jo/en/product/UXFVUK-adafruit-flora-rgb-smart-neopixel-version-2-sheet-of-20?gclid=CjwKCAjwh-CVBhB8EiwAjFEPGXRckpiO4PXago_RytFa1bcI6_qaNPqC7jtY9bRYrjlKbKfTxFOtZRoCgQwQAvD_BwE | They come in a set of 20 but I only calculated the cost of 2 as I used 2 only |
1 | Adafruit GEMMA | 9.95 $ | https://colorfabb.com/varioshore-tpu-natural | |
1 | Copper tape (to resemble my tattoo) | 9.77 $ | https://www.adafruit.com/product/3501 | |
1 | Wires or conductive thread(whatever available) | 6.89 $ | https://www.amazon.com/EDGELEC-Breadboard-Optional-Assorted-Multicolored/dp/B07GD2BWPY/ref=sr_1_6?crid=2RSJ3FGCB857I&keywords=wires&qid=1656285052&sprefix=wire%2Caps%2C950&sr=8-6 | |
1 | Velvet fabric | 2.10 $ | Local Supplier | |
1 | Gelatin | 1.5 $ | Local Supplier | |
1 | Glycerin | 1.0 $ | Local Supplier | |
1 | Onion Peels Food waste | - | Local Supplier | |
1 | Golden Chain - Metal Chain | 1.5 $ | Local Supplier |
Code
I used this code to light up the Adafruit Flora RGB Smart NeoPixel .
//This sketch includes parts from:
// - Dave Melis's touch sensor code for ATtiny http://highlowtech.org/?p=1653
// - Adafruit example sketches for controlling Neopixels
#include <Adafruit_NeoPixel.h>
#define PIN 1
Adafruit_NeoPixel strip = Adafruit_NeoPixel(2, PIN, NEO_GRB + NEO_KHZ800);
int calibration = 0;
int previous;
int togglestate = LOW;
void setup()
{
//Calibrate the touch sensor!
for (int i = 0; i < 8; i++) {
calibration += chargeTime(PB2);
delay(20);
}
calibration = (calibration + 4) / 8;
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}
void loop()
{
int n = chargeTime(PB2);
// check if the state of the touch sensor has changed
if (previous <= calibration && n > calibration) {
if (togglestate == LOW) togglestate = HIGH;
else togglestate = LOW;
if(togglestate==LOW) {
strip.setPixelColor(0,0,0,0); //if touch sensor not being touched, turn Neopixels off
strip.setPixelColor(1,0,0,0);
}
else { // but if they are being touched...
strip.setPixelColor(0,255,0,255); //Make the first one this colour
strip.setPixelColor(1,100,0,255); //And the second one this colour
}
}
previous = n; //record the state of the LED - is it on or off
strip.show(); //Turn the Neopixels on or off!
delayMicroseconds(500);
}
//This function detects when the touch sensor is being touched
byte chargeTime(byte pin)
{
byte mask = (1 << pin);
byte i;
DDRB &= ~mask; // input
PORTB |= mask; // pull-up on
for (i = 0; i < 16; i++) {
if (PINB & mask) break;
}
PORTB &= ~mask; // pull-up off
DDRB |= mask; // discharge
return i;
}
Photoshoot
Files to download
Laser engrave and cut bio-coins