10. E-Textiles and Wearables II

Lookit! My heating pad powered with a 9V battery, transistor controlled by an ATtiny (details below), Loes Bogers, 2019

Soft speaker controlled by ATtiny85, Loes Bogers, 2019


  • I made four coils that an be used as speaker coils or as heating pad, and controlled them with an Attiny85, both in a speaker circuit and as a heating pad
  • I made some swatches that I dyed with thermochromic pigments

For the week I decided to make a number of coils that I could use both as a speaker and as a heating pad. Even the code turned out to be exactly the same which was really interesting to realise :) Simple principles with 1001 applications, that's beauty right there. I loved going into the bare bones of the physics of electronics this week, I think this is how electronics should be taught to anyone, so we can understand how material properties and laws of physics interact and how you can bend them a little to achieve interesting results and expressions.

Soft Speakers

Making a jack connector and soldering the amp board

I started of by making a jack connector connected to a mono amp board following the tutorial Liza mentioned. I added some shrink tube to insulate the wires inside the metal cylinder. I soldered the amp board together and turned the volume knob on the board up to max with a tiny screwdriver. The board used is an Adafruit Mono 2.5W Class D audio amplifier and Liza describes how to make this jack connector here.

Jack plug soldered to a Mono Amp, Loes Bogers, 2019

Designing & Fabricating coils

What makes for a good coil? I guess I will be able to answer this question at the end of the week haha. But we received the parameters to play with. I spent most of the week figuring out and puzzling what makes for a good membrane. It seems to be something light that doesn't let air through. So cellophane or cling film was mentioned by Anastasia, but I also got really good results from a fake leather swatch interestingly enough, not so light but pretty airtight.


  • Coil tightness: The tighter the coil, the louder. (It will be since it will have a stronger magnetic field.)
  • Material: You can hear noise because the sound waves vibrate off the material. How stiff or thick the material is effects the loudness.
  • Magnet size The larger the magnet, the louder the volume. You can combine many small magnets or just get a big one BUT be careful - neodymium magnets are very strong.
  • Magnet placement The volume will be louder the closer the magnet is to the center of the coil.

Liza's instructions to design a coil for needlepointing

Draw a coil on your fabric or paper. It can be any shape you like. Thread your needle with one strand of conductive thread. You can run wax over the end to get it through the hole. Tie a knot 5-6 inches from the end. Come up through the center of the piece of fabric. Stitch around the coil, making sure the conductive thread lines do not touch each other. Make sure the extra 5-6 inches of thread does not get sewn into the coil! We need to keep them separate.

Lasercutting and heat'n bond

I decided to also try lasercutting a coil from conductive fabric that I could attach with heat 'n bond, since I hadn't tried that yet. So I designed a simple spiral in rhino that I tweaked a little in illustrator. I forgot to design the leads to the edge of the swatch though, so I had to add pieces at the end and solder them together to ensure a good connection.

  • Rhino: Spiral
  • Illustrator: offset, add extra lines.

I designed lines of the spiral to be 3mm thick so I could still handle them. Too thin would be crazy. Then I tried to figure out how to work with conductive textile (I missed the first e-textiles week). This tutorial and Bela and Bea's documentation helped a lot!

Preparing the conductive textile by ironing on heat 'n bond, Loes Bogers, 2019

I ironed the heat 'n bond to the conductive fabric before laser cutting (I put a little piece of cotton canvas over it to prevent the plastic melting to the iron. I kept the backing paper during the lasercutting and cut with laser cutter at Speed 100/Power 20. I had to tape it down a few times to keep it from burning. I then carefully ironed the coil to the textile. And finally I added a soldering braid from the back by making a little cut in the center so I could connect to both sides of the coil. A stuck a bit of tape on the back to prevent shorts.

Trying to prevent the coil from going everywhere, Loes Bogers, 2019

I had to cut off a few windings because I couldn't get them on neatly. So it's a relatively small and weak coil. But it works! You have to get close but you can clearly hear the music with a stack of 5-10 magnets.

Lasercutting and needlepointing

I cut the same spiral shape but without the offset. Instead I just cut the line with a dotted pattern that I can follow with a conductive thread. This coil has a lot more windings so I'm pretty hopeful about these.

Troubleshooting the coil

The speaker made a very low sound, which is to be expected, since it has only 7 windings on the coil and I could only make them so tight. Making the coil trace thinner of leaving less offset would have made it impossible to transfer onto textile without shorting the traces somewhere.

What I did do was turn the volume on the mono amp all the way up. Added a few more magnets that I put below the coil instead of on top, giving the membrane (textile) a little more space to vibrate). I also used the multimeter to check the resistance in the coil. I couldn't get a stable reading easily so checked the two connections in my coil: one in the center where i connect a desoldering braid via the back, and one at the edge of the coil on the outside to make the other connection with a crocodile clip. I forgot to design it like that so just ironed on an extra piece, but the connection was less strong.

I soldered these connections to ensure a good flow of the current. Below a video of the technique. I heat the lycra a little by holding the iron just above the fabric, and then for a split second I touch the solder and conductive fabric, enough to flow. Super quick though or the lycra burns.

I checked again with the multimeter, now I could get a stable reading of 17.7 ohm across. Which I will use for the Thermochromic circuit in which this coil will feature as a heating pad. I embroidered the number on for reference.

I had to solder all the coils because threads broke etcetera etcetera. Lots of soldering-on-textiles practice involved this week.

Four coils this week: clockwise from top left: laser cut conductive textile on lycra (17.7 ohm, 8 windings), conductive thread on cotton canvas (16.6 ohm, 19 windings, conductive thread on fake leather (17.2 ohm, 19 windings), crocheted copper wire laced with wool (5.5 ohm), Loes Bogers, 2019

Testing the different coils-as-speaker

  1. The hand-threaded black cotton canvas coil swatch - winner of the week! Nice audible sound even when your ear is not on the pad
  2. The hand-threaded red fake leather coil swatch - also pretty good!
  3. The lasercut lycra coil - very low sound but audible with a cup or by getting very close
  4. The crochet copper wire - it basically has not membrane to help make the air particles move! So I tried a weaving technique to integrate a bit of wool to help the coil move air and make audible sounds. I broke a lead in the process, will fix later.

The crochet copper wire coil/heating pad (left), with added wool yarn to act as membrane (right), Loes Bogers, 2019

Controlling a soft speaker with an ATtiny85

The code I wrote for the headpad controlled by Attiny (see below) works unchanged for the speaker as well. The mono-jack connector is connected to a device playing music, and only when pin 3 writes HIGH, the amp gets 5V and the speaker will work.

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  0;      // the number of the LED pin
const int speakerPin = 3;    // pin 3 connected to 5V of mono amp

int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
  pinMode(speakerPin, OUTPUT);


void loop() {
  buttonState = digitalRead(buttonPin);

  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
    digitalWrite(speakerPin, HIGH);

  } else {
    digitalWrite(ledPin, LOW);
    digitalWrite(speakerPin, LOW);

Code for heatpad OR speaker circuit with ATtiny85, Loes Bogers, 2019

Schematic for speaker circuit with ATtiny and mono amp, Loes Bogers, 2019

And here's the proof ;) playing when button pressed, silent otherwise, Loes Bogers, 2019

Controlling a soft speaker with a DFPlayer Mini - WIP!!

This board with a mini SD card holder that can work standalone or with an Arduino (not with the ATtiny though). You could make a full soft MP3 player with this chip! This is the DFplayer Wiki and here's Liza's code to start with. I documented how I work with ATiny extensively for week 5, which you can read here

The DFPlayer Mini MP3 Player For Arduino is a small and low price MP3 module with an simplified output directly to the speaker. The module can be used as a stand alone module with attached battery, speaker and push buttons or used in combination with an Arduino UNO or any other with RX/TX capabilities. – DF Player Wiki

DFPlayer Mini Pinout, source: DFPlayer wiki

DFPlayer Mini Pinout, source: DFPlayer wiki

Important note for audio files. Careful read notes below will save you a lot of precious time!

  • DFPlayer Mini read both MP3 and WAV files.
  • All audio files must be placed under /mp3 folder.
  • Audio file must be named 0001.mp3, 0002.mp3.....0255.mp3 (4 letters not 2 or 3 letters)
  • Audio file names can have any characters after 4 digits, such as 0001_Bruno_Mars_Count_On Me.mp3
  • Tested few under 1 second WAV files and they did not work
  • If one of the audio file is removed from SD cared, DFPlayer still can find it and play it! Weird! In the end, I formatted the SD card to make DFPlayer to play the music I specified.
  • Delay(seconds); You have to specify number of seconds delay for the audio file to play completely or the next audio file might be started before current audio is over!
  • mp3_play (74); means play audio file 0074.mp3

Source: https://www.dfrobot.com/blog-277.html

Intermezzo: the state of the lab

We tidied up the entire lab last week, it was so bright and shiny and calm when we started the week! A few days in: BOOM! Exploded again hahahha. Working with electronics is such a hot mess!

Our gorgeous mess, Loes Bogers, 2019

Thermochromic pigment + heating pad

Experimenting with thermochromic pigment

We managed to get our hands on two kinds of thermochromic pigment: black that turns grayish/white and green that turns white. I looked up Kobakant's suggestions for thermochromic ink and understood that any dye/pigment/ink you might use for textile, you can use as a binder by just mixing in the pigment.

The only thing to think about is that a pigmented binder might outshine the thermochromic pigment. Using the pale army green with a bright turquoise will just annihilate the effect. If it creates a third color when you mix them, it will probably work.

The black pigment was very dried out, but I could easily dissolve it in a little bit of hot water, and crushing it gently until pasty and then dilute some more

  • green pigment + yellow acrylic paint = light green > yellow
  • green pigment + pink/purple cabbage ink = grayish > pink/purple
  • black pigment + clear binder, like water = black > clear
  • black pigment + pearl cream color = grayish pearl > cream pearl
  • black pigment + well almost anything lighter than black works really nicely actually! Have a look at Bea's swatches, gorgeous.

Pigments responding to body heat while wet, Loes Bogers, 2019

I also experimented a bit with stenciling and stamping patterns onto the textile. The acrylic is a bit thick so allows for this quite well on a tightly woven fabric. When just using water, or using acrylic paint that is diluted a little bit more, its nice to paint by making paint strokes with a brush. The creases of the cling film also left interesting marks on the swatch I painted with heavily diluted yellow acrylic paint.

It could be nice to do these measurements a bit more precisely, but for now this will have to do....Still have many circuits to make this week.

When all of these dried, it turned out that only the black pigment adhered to the textile fibre well. I'd need a different binder to make the green one work. The all disintegrated and could be brushed off when dry. Cecilia suggested I try the binder that came with the other pigment, or even to try wood glue.

The green pigment that was lost with these swatches, and another binder I could try, Loes Bogers, 2019

Making a transistor circuit

Transistorrrrs! We're using an N-channel Mosfet transistor here this week to open and close the power flow to a high power actuator such as a heating pad or motor. With this you can power the IC at a lower voltage and use the IC's brain to control when higher power from a separate secondary power source flows to the actuator. This way you can power devices that need a different operating voltage within one control circuit.

Transistor basics, Loes Bogers, 2019

We have a box of transistors here but I found out it's a mix of Voltage Regulators and Mosfets, they don't exactly do the same thing so I had to look at a lot of tiny numbers to find an N-channel MOSFET. I have a IRF530 here, that can control 100V-14A and the pinouts are the same as the example. Gate, Drain, Source from left to right when viewing it from the top.

I added a 1N4007 diode (1000V-1A) for safety in case I want to use it with motors etc at a later stage. Never hurts to protect a circuit. I used this one because it's what I had in my box of stuff, but didn't have the 1N4001 (50V - 1A) Liza suggested. Emma wasn't sure why Liza would put a diode in series to one of the leads, instead of in parallel across the leads. We asked Liza and she said [...]

Mosfets and notfets (voltage regulators, they look the same!), Loes Bogers, 2019

Calculations to use the coil as heating pad

Since I had a coil that I could use as a heating pad too, I decided to use it for this experiment as well, at least until I have another coil swatch which I'm working on.

My lasercut coil from lead to lead measures 17.7 Ohm, and I want to run 500mA-1A across the coil so it dissipates a little heat. If I'd aim for 0.5A, Ohm's law will tell me:

  • I = 0.5
  • R = 17.7
  • and V = I*R = 0.5*17.7 = 8.85V

So the Voltage should be 8.85V. I could power this circuit with a 9V battery as well, since I'm at the lower end of the range. For a smaller battery, I'd need to design a less resistive coil. To use a 5V battery for example, I'd need to reduce the resistance to 10Ohm by making the coil shorter or remaking it with a more conductive material.

I tested it with the Lab Power Supply and YES! The pad was getting nice and warm but not hot. Lovely. So now that I got these basics, I calculated Ohm's law for all coil swatches aiming for a 0.5-1A current to give myself options. Some thermochromic swatches are thicker (e.g. the felt one), others are very thin (e.g cotton cheesecloth), so varying in amps might come in handy.

Lasercut coil 17.7 ohm 0.5 - 1A 8.85- 17.7V
Thread on cotton 16.6 ohm 0.5 - 1A 8.3 - 16.6V
Thread on fleather 17.2 ohm 0.5 - 1A 8.6 - 17.2V
Crochet copper wire 5.5 ohm 0.5 - 1A 2.75 - 5.5V

Powering a coil with the ATtiny85 and transistor swatch

I first made a simple circuit with only a button and an LED for debugging. I burned the bootloader of the ATtiny85, and puts some code together using the examples in the IDE. The LED goes on when you press the button.

When that worked, I attached the gate of the MOSFET to pin 3 on the ATtiny, and added it as output in the code. I also added a line of code to say write HIGH to pin 3 (the gate), when button is pressed (and when the LED is also on), and LOW when it isn't. So when you press the button, the heating pad is powered with the 9V battery, and the LED is the indicator that it is heating.

Fritzing my heatpad circuit, Loes Bogers, 2019

Heatpad circuit schematic, Loes Bogers, 2019

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  0;      // the number of the LED pin
const int mosfetPin = 3;    // number of MOSFET gate pin

int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
  pinMode(mosfetPin, OUTPUT);


void loop() {
  buttonState = digitalRead(buttonPin);

  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
    digitalWrite(mosfetPin, HIGH);

  } else {
    digitalWrite(ledPin, LOW);
    digitalWrite(mosfetPin, LOW);

Code for heatpad OR speaker circuit with ATtiny85

References for further reading

Liza suggested browsing the student documentation done for Tom Igoe's Physical Computing ITP class at NYU. Indeed, really amaaaaazing work, wow! Scroll down the pages to see links to student work:

Emma's tutorial on motion & sound actuators

Both motion and sound are based on the physics principles of electromagnetism. Both motors and speakers work with coils and magnets. Electricity and magnetism are good friends. If you have electricity you always also have a magnetic field. With a coil you can concentrate this magnetic field's force to a limited space, you amplify it. If you run voltage across a coil, it becomes a magnet, so you can move stuff around. This is the basic movement used to make a speaker work, and to make a motor turn. They also have coils.

Lab power supply

Your second best friend! You can define Voltage and a Current limitation for safety reasons. You can also see how much current your power is drawing, therefor it can help you calculate the best power source required for your project.

Working with motion and heat

Working with flipdots etc, you are managing a lot of current, and therefor a lot of heat. It's easy to burn stuff, so you need to know what you're doing. Running 1A current on something for a second is ok, but it gets so hot. You don't want to have it on your skin definitely, it can burn an alligator clip, it will burn you.

Flip dots

Invert the orientation of the magnetic field. You do this by inverting the orientation of the leads (changing VCC and GND).


When we hear sound, the air is moving, the hairs in our ear moves, which we perceive as sound. A speaker just moves the air at the right frequency. You need a conductive coil and a magnet that is connected to a membrane (like a cone).

How much current can an Arduino supply?

Arduino can give 5V, but Arduino input/output pins can only sink 20mA per IO pin. An Arduino powered via USB port (the 5V line on the arduino can only give 500mA.

Coil design

Some are spirals, but also the knit speakers by Kobakant works. Why? You just need a lot of loops or circles. They don't necessarily need to be nested, like a spiral is. They can also be next to each other like a crocheted textile. What is imporant is that it is made from one continuous piece of conductive material, that is not touching/connecting in between, and that you can access both ends.

DFPlayer Mini It's amazing! A board with a mini SD card holder that can work standalone or with an Arduino (not with the ATtiny though). You could make a full soft MP3 player with this chip! Read the AD KEY MODE chapter on their wiki. Apparently all it needs is more resistors and switches. Cooool.

Generating heat

Make a heating element! You need a lot of current going through a conductive material that can take the heat :) What is important is to know how much resistance the pattern and the materials have. If the resistance is high the current is lower and it might not heat up well. See Liza's slide for material options and tips for use:

  • Stainless steel conductive thread
  • Karl Grimm conductive thread
  • Conductive fabrics
  • Nichrome wire or flexinol

High power LED

3V, 220mA. You need to dissipate the heat, that's why it's often soldered onto a little board, it's made of metal and works like a heatsink.

Vibration motors

Operates on 3V, around 75mA. But can also run between 2-5V with different current.

1.5-3V at 70mA with the device we buy at Radio Rotor.

With this Liza used a bipolar NPN Transistor: a 2N2222 transistor and a 0.1mF capacitor and the 1N4001 diode to protect Arduino from voltage spikes, and a 1K resistor.

Shape memory allows (SMAs)

Metal that can return to a preset "trained" shape, when it's heated to a certain temperature. It comes trained and untrained.

We have a smartwires.eu spool of flexinol that changes state at 9V, 150mA without getting hot. Of course with a power supply you can limit the current, so you need to find the sweet spot where it stays below the current limitation "naturally". We tested at 6V it stays under 150mA. If you wanted to power it on 5V and make it move you could do that by using a shorter wire :D

When you want to do this with longer wires you need more voltage because you have more resistance on a longer strand. The basics, Ohm's law, radida.

How to train an SMA? Something like this.

The challenge with all these things if thinking up an application and managing to control the circuit in that context.

Transistors: controlling high-power devices

We want to control a device with an IC, and we also want to power the device. But for a high-power device you don't want to power the device with the control circuit. You need to separate them, because e.g. an IO pin can only give 20mA where you might need 200mA-1A to power your coil, motor, or other. The transistor acts as a gate to a second higher power source that can be opened and closed by an IC pin.

We use a transistor to control the device. There are lots of different ones, but we use the N-Channel MOSFET this week (there's also a P-channel MOSFET). Particularly the IRFZ44N in general, but always check, the pinouts might vary! You need to know which leg is the Gate, Source and Drain

  • Source goes to GND of the circuit (also GND of IC)
  • Drain goes to VCC of the external power supply (battery)
  • Gate goes to an IO pin that can turn it high/low (5V/0V)

The drain, in a way acts as the GND line for the heavy load component. The Arduino GND and the GND line of the device are not connected on the same line!

Additions to the transistor circuit

100kOhm reistor between Source and Drain shown in Liza's examples is to smooth the on/off signal coming from the pin. For simple applications this is not necessary.

You can add a diode between the GND and a motor for safety, so the electricity can only flow in one direction.

Documenting swatches with actuators

Specify the Voltage supply: is it 9V, 12V, 5V? And also specify the resistance of the materials and substrate (e.g. 12.7 Ohms, 2.6 Ohms, other?). It give you an idea of the operational mode of each element. And then depending on what you use you either make sure there is less or more resistance, give bigger power supply, etcetera. It gives you a good starting point to work from.

Lecture by Liza Stark

Whe we wear things:

  • express - e.g. crying dress by kobakant
  • communicate
  • protect - e.g. climate dress Diffus Design

Second skins, and ways to collect data about our bodies and interactions with the environment. E.g. Embodisuit by Rachel Freire.

Considerations for wearable projects

  1. Application: proof of concept or runway or everyday product?
  2. Durability: does it need to be worn daily or for a single event? Demo or shown on a mannequin?
  3. Wearability: how should it feel? What types of textile are appropriate for the garment? Do you need a base layer to accomodate electric needs?
  4. Washability: does it need to be washable, does the board need to be removable?
  5. Power: how long does it need to be powered for? Does the power source need to be reachable?
  6. Circuit layout: where will you place the IC, the power source? Should the components be visible or invisible?

All these things need to be in conversation with one another.


Component of a circuit that moves or controls another part based on input. E.g. LEDs, motors, speakers and much more. They can create visual, sonic or motion state changes.

Visual approaches are LEDs, Neopixels, fibreoptics and thermochromic ink.

LEDs Light emitting diode. Consider the viewing angle, it can be wide or narrow, leading to less or more diffuse lights. Throughole or SD. Try to get diffused LEDs. For RGB LEDs, check whether it's a common anode or a common cathode.

Making LEDs sewable, like the Lilypad LEDs that already have a current limiting resistor on it. It can really reduce the brightness of the LEDs. DIY it to control it more.


  • Climate Dress by Diffus Design
  • Hussein Chalayan in collaboration with Swarovski (and the Katy Perry dress after)
  • Currente Calamo by subTela

If you connect LEDs to Arduino, you need a 220 ohm resistor for each one, because otherwise it burns at the 5V. Connect no more than 3 LEDs in parallel to an Arduino pin.


Adafruits programmable LED. They are RGB LEDs with a driver chip embedded, which makes them addressable so can each be controlled differently with only VCC, GND and a signal pin. They don't light up without a microcontroller programmed to light them up. You can cut them to the desired length. Handyyyyy. You probably want to attach some kind of breakout to connect it.

Flora is a nice board to use neopixels with because it has a lot of GND pins and big sewing holes.

Power them with 5V, lower will result in dimmer lights. Amperage at 60mA per neopixel at full brightness. 40mA also works.

(# of neopixels x 40mA) divided by 1000 is min amount of Amps needed. You can use a power bank or something. Add an 470 ohm reistor between the VCC and the signal pin on Arduino. Also add a 1000uF capacitor across the VCC and GND lines to protect the neopixels from power surges.

E.g. Machine Sewn Neopixel Strips by Kobakant.

Fibre Optics

Light goes in on one end, down the other. Consists of core and cladding which together determine if you can see it visibly from the sides.

Consider LED intensity and the type of fibre. High watt Leds and LEDs with narrow viewing angle work well because they produce a concentrated light source. Neopixels work too.

End emitting fibres, like the lamps, or side emitting fibres, such as EL wire.

How to connect the fibre to the LED with very close contact. Drill hole + heat shrink by Forest Mimms III. Tubing and glue by Maurin Donneaud, or 3D printed enclosures + Glue by Elaine St. Blaine. Try to get the fibre as close as possible to the LED and prevent the light from escaping outside the fibre optics.

Note: Heat can melt the fibres! Hot glue and crazy glue are not great. E6000 glue is a good adhesive.

  • Fiber optic dress by Zac posen
  • The Burning Bolero by Kobakant

But all too often you either see the woman or the dress, but not both.

Thermochromic ink

Thermochromic inks or pigments change state in the presence of heat. Once they reach a temperature, some inks become colorless. Pigments can be mixed with different substrates like paint, glue, polymorph etc. etc.

Sparkfun Thermochromic pigment turns clear at 33 degrees celcius. Can also get them from SFCX in Europe! This one turns clear at 27 degrees celcius. These guys also have pigments and screen printing inks for textiles and paper.

You can also use the eat of your body or a hair dryer to effect this state change. Or with an Arduino by amping up the current so it starts to generate heat.

We bought a bag of this green pigment at the only shop we could find locally that could deliver in a few days: https://www.hackerstore.nl/Artikel/1003

Pigment variables

  • Pigment: takes more time/energy for it to change state
  • Base: what will you mix it with? Will affect transformation time. Screen print base takes longer than white acrylic. White acrylic and blue pigment is the most immediate. You can also combine colors. E.g. red thermochromic pigment with yellow paint = orange.
  • Substrate: the material you apply it to. E.g. tracing paper reacts more quickly than canvas.
  • Application: how you apply it: paint brush, silk screen? The latter will be more even.
  • Ambient temperature: if you show a project in the hot sun, you might have a hard time making state changes.
  • Conductive materials: what is their resistance? IF it's too high you won't get a state change, if it's too low you create shorts. E.g. copper tape has no resistance so won't genereate heat. Stainless steel works well, conductive yarns work well. Do not use conductive paints.

Circuitry for heating element

We need a lot of energy! So we need a high-load power circuit, which we create with an N-channel MOSFET transistor, that we can use the generate the 500ma to 1A we need to create the transformation. An arduino pin can never supply that kind of current. You use the arduino to control a gate to an external power source.

  • Check out Moving Target by Maggie Orth. Animated textiles!
  • Wifi Tapestry by Richard Vijgen
  • Chromosonic by EJTech
  • Codachromics by Lyndsay Caulder

Time is a very important factor here, these transformations are not immediate.


Fabric speakers!

  • Substrate
  • Magnet
  • Amp
  • Sewn coil

What is sound? Vibrating air particles. It causes the hair in your ears to vibrate which the hair reads as sound.

What is a speaker? A coil that creates electrical signals, wrapped around a coil. A cone that vibrates a membrane and makes sound. The coil makes the magnet vibrate. Speakers use electromagnetism to work. When you run current through a wire it generates a small magnetic field. You can amplify that field by coiling the wire, so you get a stronger field.

So you create a temporary electromagnet by applying current, and it's paired with a static magnet. So you can vary.


  • Coil tightness: tigher is louder
  • Material: sound waves need to vibrate off the material. Stiffness and thickness affect loudness.
  • Magnet size: larger magnet, louder volume. You can combine magnets, but be careful: neodymium magnets are very strong.
  • Magnet placements: closer to coil = louder

Making a speaker

Create a spiral-shaped coil. You need to have access to one end of the coil. Create length by spiraling outward. Keep threads separate though!

Circuit: Use an ATtiny with Tone() or AnalogWrite().

Amp: Create an amp from an audio jack. Greaaaat. I just followed the tutorial provided by Liza Stark.

DFPlayer Mini: Plays audio files from an SD card. OMG YES!

Example: Sound Embroidery by Claire Williams


Shape memory alloys (SMAs)

Metals tha tchange shape when they are heated to a certain temperature. The behave like regular metals when cool and return to preset shape when heated.


Has been trained into a shape through a heating process. When heated it goes into the trained shape.


Contracts 10% of its length when heat is applied. Is straight.

  • Material Substrates: lighter weight paper or fabric is best, no jerky movement like the servos etc, but no torque. Paper, cotton silk are great, not polyester because it can get burned.
  • Diameter size: the wider diameter 0.008 inch diameter is pretty good, it's pretty strong but doesn't need too much power.
  • Length: resistance increases with length.

Examples: GK? Kobakant examples with paper folding, curling and smocking.


You cannot solder directly onto the flexinol because of the oxidation. Use a crip bead, pass wire through crimp bead, and press it with pliers, and then solder the crimp bead.

Power circuit Use the same circuit for heat that we used for thermochromic ink. Use the analogWrite (pin, value 0-255) function. Start with a low duty cycle of 75 and work your way up. More power makes the movement faster, not more dramatic. If you give the material time to breathe and relax, the next reaction will be more dramatic :)

Datasheet Look at the datasheet, assuming a 9V battery. To know resistance and amps etc.

  • Luttergill, Kinetic Skorpion Dress by XS labs
  • Input Output paper by Jie Qi
  • The Culture series by Afroditi Psarra and Dafni Papadopoulou

Flip dots

Vibration motors