Support the creation of content on this website through PATREON!
Example Projects

Circuits and Code Wireless

Conductive Materials
Non-Conductive Materials
Thinking Out Loud
  • A Kit-of-No-Parts at Weissensee
  • A Kit-Of-No-Parts Workshop at TH Nürnberg
  • Absurd Musical Interfaces
  • Action Hero Tailoring
  • Adopting Swatches
  • All your segments are belong to me
  • Arduino meets Wearables Workshop
  • Bend, sew, touch, feel, read
  • Bike+Light Workshop
  • Blurring Boundaries
  • Card Weaving Workshop
  • Chic bend and Sleek stretch
  • Chip-Man-Band
  • Crafting Robots
  • Crocheting Electronics
  • Crochet and Code
  • DEAF: Crafting the Future Workshop
  • Designing for the loop Workshop
  • DressCode Workshop Shambala
  • DressCode Workshop Berlin
  • E-Textile Meet-up
  • E-Textile Open Lab at CNMAT
  • E-Textile Summer School in France
  • E-Textile Tooling: ohmHook
  • Electric Embroidery Tuesday
  • Hybrid Jewels
  • Electric Embroidery Monday
  • Electronic Textiles Live
  • Electronics as Material I
  • Electronics as Material II
  • Electronics as Material III
  • Electronics of Materials IV
  • Electronics Surgery
  • E-Textile Pecha-Kucha at Schmiede
  • Elektronik und Handwerk
  • Embroidered Speaker Workshop
  • Engineers for Social Impact workshop at Mumbai : e-Diwali
  • ETextile CARD10
  • E-Textile Knitting Circle
  • eTextile Summer Camp 2013
  • eTextile Summer Camp 2014
  • eTextile Summer Camp 2016
  • fabric meets electronics
  • Fabricademy: Soft Circuits and Textiles Sensors
  • - faser - faden - fiktion -
  • From Swatches to Pockets
  • FT1 - Material Mechanisms for Utopian Uniforms
  • Game controller hack
  • Games Workshop II
  • Handcrafting a textile sensor from scratch
  • Handcrafting Textile Mice
  • Handcrafting Textile Sensors from Scratch
  • Handcrafting Textile Sensors in Vienna
  • Human Hacked Orchestra
  • In All Different Colors
  • Interactive Solar T-Shirt
  • ITP camp Workshops
  • Adventuring with Materials
  • Kinder Egg WishLab
  • Knitting, hacking, hanging, sound
  • KOBA School of WickedFabrics
  • KOBA School of Wickedfabrics: TAILORING
  • KOBA Winter School of Wickedfabrics
  • LilyPad Arduino Programming
  • Sewing an electronic circuit
  • Make your own multi-touchpad
  • Making Textile Sensors from Scratch at TEI
  • Animating Textiles
  • Meet the Materials Workshop
  • Moving Textile
  • Nature's Wearables
  • Physical Computing Stammtisch
  • Piano T-Shirt
  • PIFpack Workshop
  • Pulp in Motion
  • Relief Embroidery Workshop at Summercamp
  • School of Wicked Fabrics: FOUNDATION /01
  • School of Wicked Fabrics: FOUNDATION /02
  • School of Wicked Fabrics: FOUNDATION /03
  • Sensing with Textiles
  • Sewing Fabric Sensors
  • Shape and Memorize
  • Smart Rituals
  • Soft & Tiny Pillow Speaker Workshop
  • Soft Interactive Technology at Weissensee
  • Soft Interactive Technology Course at KHB
  • Soft Interactive Technology I
  • Soft Interactive Technology 1 at KHB
  • Soft Sensors for Soft Bodies
  • Soft Sensors for Soft Bodies II
  • Soft & Tiny Arduino Workshop
  • Solar T-shirt Workshop
  • Sounding Textiles
  • Spekulative Objekte
  • Tailoring with Electronic Textiles I
  • Tailoring with Electronic Textiles II
  • Technical Intimacy
  • Technology + Textiles
  • Crafting Sensory Surfaces
  • The Sound of Nature
  • Tinkering with Textiles & Electronics
  • Tool time
  • Toy Piano T-shirt workshop
  • Traces with Origin Workshop
  • Transparent and Dangerous
  • Transparent and Dangerous II
  • Wearable sound experiment
  • Wearable Sound Experiment II
  • Wearable Sound Toy Orchestra
  • Wearable Studio Workshops at ARS
  • Textile Sensor Indulgence
  • Wish Lab Workshop
  • WishLab II Workshop
  • Embroidery gone Electronic
  • Woven Paper Cup Speaker Workshop
  • About
  • E-Textile Events
  • E-Textile Spaces
  • Newsletter
  • Print & Publications
  • E-Textile Shopping

    Content by Mika Satomi and Hannah Perner-Wilson
    E-Textile Tailor Shop by KOBAKANT
    The following institutions have funded our research and supported our work:

    From 2013-2015 Mika is a guest professor at the eLab at Kunsthochschule Berlin-Weissensee

    From July - December 2013 Hannah was a researcher at the UdK's Design Research Lab

    From 2010-2012 Mika was a guest researcher in the Smart Textiles Design Lab at The Swedish School of Textiles

    From 2009 - 2011 Hannah was a graduate student in the MIT Media Lab's High-Low Tech research group led by Leah Buechley

    In 2009 Hannah and Mika were both research fellows at the Distance Lab

    Between 2003 - 2009 Hannah and Mika were both students at Interface Cultures
    We support the Open Source Hardware movement. All our own designs published on this website are released under the Free Cultural Works definition

    Spekulative Objekte

    18 Nov – 6 Dez 2019 Spiel & Objekt Hochschule für Schauspielkunst Ernst Busch



    Single Analog Sensor Value

    Examples: Communication –> Graph
    This example contains the code you need to read an analog sensor value and send it over the Serial port.
    You will need to build a voltage divider in order to connect your sensor to the Arduino.

    Voltage Divider:

    External voltage divider connected to Arduino:

    Or you can use the following line of code to turn on the internal pull-up resistors inside the Arduino’s ATmega328 chip:
    pinMode(A0, INPUT_PULLUP);

    Internal voltage divider using “pull-up” resistor inside Arduino:

    Open the Serial Monitor> and you should see the sensor’s value 10bit [0-1023] being printed.
    Arduino monitors and plotters

    Open the Serial Plottor> and you should see the sensor’s value 10bit [0-1023] being plotted as a graph.
    Arduino monitors and plotters

    Notice that the graph auto-zooms to adjust to the current sensor range. This is annoying. You can fix the graph to a set range by also printing the analog sensor’s minimum and maximum values. Add the following lines of code to the sketch:


    Open the Serial Monitor and you should see:
    Arduino monitors and plotters

    Open the Serial Plotter and you should see:
    Arduino monitors and plotters

    Smoothing a Single Analog Sensor Value

    To smooth your sensor value, a simple line of code you can add to calculate the running average is:
    averageSensorValue = (averageSensorValue * (average-1) + currentSensorValue) / average;

    GITHUB: a_graphMultiple-smoothing

    Open the Serial Monitor and you should see:
    Arduino monitors and plotters

    Open the Serial Plotter and you should see:
    Arduino monitors and plotters

    The green line is the raw sensor value, the yellow line is the smoothed sensor value.

    Multiple Analog Sensor Values

    To graph multiple sensor values, you can use this code:
    >> GITHUB: a_graphMultiple

    Open the Serial Monitor and you should see:
    Arduino monitors and plotters

    Open the Serial Plotter and you should see:
    Arduino monitors and plotters

    Smoothing Multiple Analog Sensor Values

    Open the Serial Plotter and you should see:
    Arduino monitors and plotters


    Graph Single Analog Sensor Value in Processing

    Examples: Communication –> Graph
    This example contains the Arduino code you need to read an analog sensor value and send it over the Serial port. As well as the Processing code (see the un-commented section bellow the Arduino code!) you need to graph that value in processing.

    In the Processing code you need to change the port number ### to match your Arduino port number.
    myPort = new Serial(this, Serial.list()[###], 9600);

    Run the Processing sketch and you should see something like:
    Processing graph

    Graph Multiple Analog Sensor Values in Processing

    This code draws circles in different colours with the diameter of the incoming sensor value.
    >> GITHUB: a_graphMultiple-ellipse

    Run the sketch and it should look like this:
    Processing circle


    Arduino Sound

    Super Simple
    Examples –> Digital –> tonePitchFollower

    Mozzi Library
    Mozzi brings your Arduino to life by allowing it to produce much more complex and interesting growls, sweeps and chorusing atmospherics.

    Processing Sound

    Minim Library
    Sketch –> Import Library –> Add Library

    change volume: gainExample

    Muscle Sensor



    // note the 20mS delay between sending serial data packets. This is because the Arduino sends data faster than Processing can read and act on it.

    Tom Igoe’s initial graphing code for processing:
    // does not work for me in latest version of processing 3.5.3 !?!?!

    Ingo’s packetizer code
    download zip:
    sketch —> include library —> add ZIP library

    Arduino Cookbook by Michael Margolis
    Chapter 4. Serial Communications

    Leave a comment