eTextiles Workshop, Jan 15-16, 2011
Lynne Bruning and Troy Nachtigall, at SparkFun Electronics
-
Day 1: Lynne |
Troy, part 1 |
Nwanua |
Troy, part 2 |
Day 2: Troy |
Day 2: Project notes |
Notes |
Attendees
Day 1: Lynne Bruning
About Lynne
- background in neuroscience - 20 years ago studied in school. She used science to make art
- Mastered in Architecture - likes idea of interstitial space = intersection between electronics, fashion and science. (Wikipedia: Architecture: An interstitial space is an intermediate space located between regular-use floors, commonly located in hospitals and laboratory-type buildings to allow space for the mechanical systems of the building. By providing this space, laboratory and hospital rooms may be easily rearranged throughout their lifecycles and therefore reduce lifecycle cost. An interstitial space or interstice is an empty space or gap between spaces full of structure or matter. Interstitial art, any work of art whose basic nature falls between, rather than within, the familiar boundaries of accepted genres or media.)
- She's also big into Burning Man.
Note Ricardo from PlugandWear sent samples of the newest and best eTextiles from Italy
Overview and History of eTextiles, WT etc.
- Wearable Technology:
- ambiguous terminology
- eTextile, wearable computers, smart textiles, fashion technology, glamtronics intelligent textiles
- pay attention to how people use the terminology (why exactly?)
- smart textiles
- lacks electrical conductivity
- reacts automatically to stimuli (UV, heat, antimicrobial)
- has chemical nanoparticles embedded
- eTextiles - embedded digital computers, electronics in them
- Interactive Media - video games - not many wearables in recent past. Venice though is half-wearables.
- Media Lab / Leah Buchley and getting masters or phd? - 2 slots, 158 apps or so.
- Creative Commons and Open Source (look for flow chart on the internet... couldn't find it)
- Atlas: check out atlas.colorado.edu & their "black box"
- interdisciplinary - technology, media and society
- CC
- example: dancers touching each other control a piano
- 1990's: lacks electrical conductivity
- Steve Mann and MIT Media Lab (cyborg inventor?)
- Maggie Orth and the Firefly dress
- International Fashion Machines
- 2000's - smaller, faster, easier
- Leah Buchley's Lilypad
- Aniomagic - smaller, different
- 3 types of people in this arena:
- Artists
- DIYs (open doors)
- High research (more secretive; often they take DIY's ideas and develop them)
- Lynne is Creative Commons mostly
Uses:
- Blink & Bling - LEDs and EL wire, Burning Man. Hard to photograph. Katy Perry.
- Safety and Security - Hovding (high research) - accelerometer, hood inflates and protects your head as helmet
- Document events - e.g. domestic violence; garment records physical contact
- High voltage clothing - turn key on and somebody attacking you gets tazered
- Smart cap - reads EEG brain waves. Drivers late at night, tests if they're falling asleep
- Southpaw - Mark Eisenberg(?) CU Boulder. Student - range finder & Lilypad & LEDs. Safety measures - firefighters - sense how far something is from your hand.
- Nap cap - hoodie scarf for travel, with iTunes, phone, speakers, vibrating device. If your luggage moves, wakes you up
- Medical:
- Bio Circuit - plays calmer music if you are stressed
- Spine monitor
- Pitcher's elbow
- Blood pressure, heart rate measurements in underwear
- Breathe 3.0: exhale => LEDs come on
- ePressed - accupressure
- Rx Tattoos - ink responds to glucose levels - great for diabetics! (not really wearable tech but...)
- Adaptive Technology: take a product an average person can use, and make it so e.g disabled can use it
- fuzzy sensors
- thumping threads - takes sound, transmits to vibrating motors on your spine (for the deaf)
- subtle subtitles - translator for people with a speech impediment
- Lynne's "Bats have feelings" - ultrasonic rangefinder and vibrating motor, for the blind. Somebody took her idea and made a headband that "looks" in all directions
- Beagle scarf - for autistic children
- Social Networking
- Dream Jammies - hooks to phone, knows your position, temperature. good for infants?
- Ping - movement => message posted to Facebook etc.
- Vilkas - skirt that reacts to heat (lifts up)
- Neighborhoodie - hood on, login - coats light up for who's "it"
- Eyewriter - graffiti artist in LA with Lou Gehrigs. He can do graffiti by looking at it, it's projected onto a wall
- Environment
- Climate dress - CO2, methane, alcohol sensors
- Puddle jumper - water falling on raincoat creates puddles
- Masar(?) dress - tassles hitting dress generate sound
- Accouphene - tuxedo, similar
- Aural Aura - sound and light. accelerometers, flex sensors, more
- Textilen - transforms clothing into a midi interface. Lynne working on ballet shoes that are similar.
- Art
- Sessile handbag: Grace Kim - LEDs in fabric
- Lucy McRae - second skin, alter body's form
- Torsolovely - Andrea Lauer - records how often a jacket is touched.
- Challenges
- Power
- Durability
- Size
- Power
- wearable solar power... ball-shaped solar panels, LED-like packages (Troy?)
- stiff itchy sticky - generates power - coils; if you straighten it generates.
- Power Wellies - charges your phone
- Pluggage - roller luggage, charges your phone - 30 min good, 2 hr full charge
- Energy harvesting - generate electricity from bloodstream (ala the Matrix)
- Knee-brace that harvests your kinetic energy
- Future
- Digital Skins - fleshdress, grows flesh.
- Also things that eat your sweat and you don't have to shower
- Generative - sleep - read brain waves for dream feedback. Nick: not just 2 people but many? Troy mentioned "collective subconscious" here.
- Stretch skin - Nokia
- Aware Fashion - lots of info being sensed - gets translated to something on your arm that you can look at.
- Detachables so you can put it in other garments (Frogger)
Day 1: Troy Nachtigall
- Florence, Rome or Venice all close for him
- Arduino means 'little butler' in Italian. 168 or 328 ATMEGA, made in Italy but popular in the US. Arduino Uno is more recent and has some good changes, like microwave-powered
- Lilypad: 168 or 328 ATMEGA, made in the US
- Lots of variations of Arduino: Sanguino is used for 3D printing
Rule #1: Never give > 5V to Lilypad (Arduino ok)
Rule #2: Never mix up positive and negative
Arduino Components
- tension regulator: regulates how electricity comes in
- oscilator determines time
- reset switch
- ATMega chip
- LED Pin 13 on-board
- FTDI Interface: plug in USB dongle here (USB to serial)
- Digital I/O
- Analog Inputs
- Power interface
- Microcontroller program interface
Electronics
- Voltage = analogy: like # of cars
- Current = flow of electrons
- Switches = anything that interrupts the current
- An Arduino is a software switch really
- Arduino = hardware (that brand) AND software
- Lilypad = hardware too
The Programming Language
- based on C+
- compile = syntax checker really; turns human language to machine language (assembly)
- stop closes the serial console i.e. stop listening (? doesn't seem to do this for me)
Configuration stuff
For each different Arduino hardware:- Tools - Board (Lilypad = 328)
- Tools - Serial port (which port on your computer) - A700 Serial for Mac (tty or cu... Arduino book said cu)
The program - analogy to a business letter
- comments = letterhead (//... and /*...*/ allowed)
- variables = header
- initialization = salutation (void setup) (note things in orange are verbs)
- execution = body (void loop) (reads over and over)
- signature? analogy fails here, no sig with program
- {} think of as paragraph
- ; think of as periods
- () think of as subject of a sentence. if empty, implied subject
- using vectors on an Arduino...? e.g. play pong on your clothing (move R to L) (?)
- variable declaration = verb
- int - also byte (0:255; tricky, try to avoid), unsigned int (0:65,535), long (~-2B:~2B), unsigned (0:~4B), long (-32768, 32767)
- float - also double (64 bit ~2x10308). float = 32 bit
- boolean
- char
- vectors e.g. char name[6]
- constants (to avoid as var names etc): TRUE, FALSE, HIGH, LOW, INPUT, OUTPUT, RAND... see ref lib for more. e.g. const int buttonPin = 2;
- equivalencies: digital 1=on=5V=true | 0=off=0V=false
- digitalWrite(PIN, HIGH);
Day 1: AnioMagic - Nwanua Elumeze
:: How can electronics fit fashion?? ::
Impression: real big on the human element (remove the geekery)- Boulder Based
- "21st Century Fashion"
- a revolution
- Simplicity
- electronics -> its essence
- future of programming: remove the computer?
- great example of simplicity: Google
- Have your control interface on teh cloud too, not something that has to be installed
- 3 influential books
- A Small Matter of Programming - Bonnie A Nardi - introduce programming to non-techies
- Emotional Design - Donald A Norman
- The Inmates Are Running the Asylum - Alan Cooper - design stuff with humans in mind
- "Visionary insights come from thinking more about human needs than technological possibilities" - Ben Schneiderman
- Examples:
- RemoCat and others
- Bright Patches - change song by swishing your dress
- Salem
- Temperature sensing coffee sleeve (Angela Sheehan)
- Light-up heels - Alison Lewis
- Collaborative Quilt
- Schemer - influenced by Leah's Lilypad - uses light to communicate code
- program with light, sound, color changes, movement, etc.
- certain (or many) devices can transmit that
- Schemer uses Scheme language:
- before C+
- easier than C+
- Scheme is logo-style; C-style is lower-level
- POV tools (?) - see text flashing if move back and forth fast
- Philosophy / Debate / Opinions: Android (open source, too many choices) vs iPhone (Aniomagic, Steve Jobs' philosophy of picking the best choice)
Troy, part 2
Analog- V = IxR
- Arduino has a built-in analog-to-digital converter = ADC
-
Input Output HIGH 0.7V to 5.0V 4.2V - 5.0V LOW 0.0V to 0.2V 0.0V - 0.9V - in digital, Arduino freaks out if in betweeen HIGH and LOW
- Issue regarding output:
- computer power pretty well regulated
- battery power more sporadic / more around 4.2V, usually 4.3V
- high-end batteries: say 2700mA on HiCap
- electronics last longer if they blink rather than be left on
-
Analog Digital HIGH 0 (0 is conductive) 5.0V LOW 1023 0.0V - 1 level in analog is 0.0048V
- also DAC = digital to analog - use to fade LEDs or change sound of music
- Arduino is digital: only 0 or 5V (not 4.2V etc.)
- Pulse Width Modulation (PWM): analogWrite(PIN, VALUE) and analogRead(PIN, VALUE)
- Example:
- Analog input to test conductivity of materials
- blink fast if conductive
- doesn't treat things near 0 well though, that's why it still blinks with no conductivity
- put 100k resistor into circuit to make this work better. connect across the back.
- called pulldown
- needed for analog resistors to come in better. more of a solid 0.
- conducting fabrics etc.: wool, leather, silk conduct and are hydrophilic - like moisture. cotton, no. metals: many do but depends. semiconductors... superconductors don't lose any energy. Non-conductors are called "insulators". Look for conductivity-per-foot.
- ions in the water conduct. distilled water does NOT conduct!
- Analog input to test conductivity of materials
- Serial communication
- Arduino to computer
- requires pins 1 and 0 - so don't use these pins
- Serial.begin(9600); // opens serial port and sets speed (9600 baud modems). put in the void setup()
- Serial.print(VALUE, FORMAT); // format is optional. writes value to serial port. find need " for text. don't know how to concatenate. put in the void loop()
- Serial.println("Soft Sensor"); // includes new line at end
- Once uploaded, click Serial Monitor button
- Materials:
- yarns: filament, spun, coated and ply. coated: e.g. silver-coated at nano level. (note some old metallic thread I had with silver did NOT conduct.
- making conductive thread: play around and see what to use it for
- Current / conductivity depends on:
- conductive material used... note rusting can be a problem
- percentage of conductive fibers
- longitudinal and horizontal configuration
- Fibers:
- copper, silver, stainless steel, brass, Monel (aka nickel)
- metallized fibers - polyamide / silver
- carbon
- e.g. Velostat
- doesn't conduct well, depends on what it's mixed with
- resistors have carbon in them
- putting pressure / bending changes conductivity
- (sounds interesting and an art to work with)
- Fiber Horizontal Configurations: cross-sectional shapes are important to conductivity
- natural, e.g. hair (squiggly edges) - that's why it's shiny too, because it captures light
- circular: less conductive
- segmented (zigzaggy) - acrylics
- dogbone - organza, shiny
- triorbital (triangular) - shiny, though to make conductive fibers out of
- hollowcore: insertion of conductive materials inside of these... up and coming in next 5 years
- Longitudinal Configurations:
- straight - not conductive
- twisted, coiled or crimped are more conductive. may catch water though...
- metals - wires: braided, stranded, twisted
- metal fibers = yearns
- continuous fiber (better) -- discontinuous (older, not as good)
- metallized fibers produced mostly by Statex, a German company
- carbon: very thin fibers. cold = les conductive, hot = more conductive. (interesting to Troy
- With wifi on, you dream less; the more conductivity in the air, it is hard to sleep.
- knitted fabrics: more conductive on horizontal than vertical. fabric button has non-conductive layer between 2 conductive layers
- woven: even. basketweave has 2 conductive lines together => more conductive. "selvege"??
- light-emitting textiles: EL wire, curtains that light up in nighttime
- Textile perfboard (we got sample of this)
- different conductive rows
- better to use knitting machines - pretty precise
- build circuits on top of knitwear
- can solder LEDs on top of it
- Velostat = carbonized plastic - pressure sensor because the more you press, move or bend it, it conducts.
Day 2: Troy
Designing Wearables
Theoretical design process
Primary Design Challenges
- wearability
- wash/dry
- standards, inter-operability
- reference designs (?)
- design process
- security and privacy
- ethics (especially for biomedical uses)
Design Standards
- originality
- significance
- scientific rigor
Lilypad
- Go around 5 times with thread
- challenge to keep conductive threads from touching (try Fracheck)
- also on Lilypad, the + and - are next to each other (design flaw?) - Troy suggests having plastic-coated wire go around bottom of Lilypad
- solderless glue also useful
- Leapfrog is something Troy is working on - put Lilypad on it and it attaches to clothes or whatever like jewelry
Fritzing
- a user-friendly Lilypad (and other Arduino) layout design program
- i.e. use to design your circuitry
- reminds me of VBA interface
- has auto-route that shows how to do the circuitry
Troy's "Jump Jacket"
- made from speaker wire!
- and using a sewing machine
- started in early 2005
- Wii controller - check Arduino library or Twitter him for more info
- 3-action accelerometer
- great hardware hack
Tips
- From yesterday: Analog input: need 100k resistor. Digital - state change detection.
- lessemf.com sells fabrics etc that protect from electromagnetic fields
- consider using lead free solder and other things
- use epilog laser cutter (Denhac has one) to burn edges of fabric
- use beeswax on thread to keep it from tangling and keep fibers from straying
- Stainless steel thread - difficult to work with (whiskers, shorts; also can't solder)
- fabric button: diagonal => digital; horizontal => analog
- SF, NYC has MakerFaire, including WT fashion show. May 2011 in San Mateo. Sort of like Burning Man-Lite.
- Lynne organizes it - let her know if you want to contribute
- Lynne and Nwanua's ostrich dress project - Burlesque dancer tail. individual IP addresses for each LED. positive traces on one side, negative on the backside with conductive fabric in there; layer of felt in between to prevent it shorting out. Schemer attaches to each array.
Working with Lilypad
- digital 14 = analog a0
- remember use analog for fading
- diodes limit travel of electrons to one direction
- check datasheet on LEDs - correct object, voltage
- lumens rating determines brightness
- 1.5V LED: can put 3 in a row (series) or add a resistor
- REMEMBER: computer 5V, battery 4.3V
- if you can't tell + from -, look in LED, the - is over / on top of / higher than +
- analog out = 3,5,6,9,10,11
- analog in = a0-a4
Think of 'empathy' fade-light on the mac
Programming
- operators like other C languages, including ==, !=. note that % (remainder) can be useful in timing.
- rounding to integers
- random function: randNum = random(127,255); 0=off, 255=full brightness
- candle flickr program
- Troy has an example in twitter library of how an Arduino can talk to Twitter
- remember void setup() runs only once, and void loop() keeps running
- Troy's other twitter handle is @stitchandsolder
Some things I learned from the project
- delay(100); //doesn't allow feedback, e.g. checking for button press does not happen during the delay. use millis (measures time since program started) to work around it. fade: similar issues but different solution? (didn't get solutions to work exactly, but could have been due to bad connection) solution something like check again within that loop for button press
- use electric tape to hold stuff
- fiberoptic sparkle (Dia had)
- instructables - light up fairy wings angel was kinda neat
- use beads to insulate conductive thread AND look cool too
Notes
- Check out Eyewriter regarding my glove idea
- Check out Digital Skins / subscribe to blog
- Power Wellies idea for hikers - charge their GPS
- I would like to explore Troy's Leapfrog opportunities more / on my own too
- LATER Q ABOUT POWER, FROM INGA MARIE: Lilypad wants 5V max, right? But coin cell batteries come in 3V. and 2 of those make 6V. AA and AAA batteries are 1.5 so 3 make 4.5, but they're bulkier. And I just saw a little coin cell pocket sewn to the back of a LilyPad here which is very nice.. but then how do you deal with getting the 6V down to 5. I don't see a resistor anywhere.