5. E-textiles¶
Initial thoughts¶
Since I was a freshman, I have been fascinated by how microcontroller boards look: the lines, the connections, the board colors... I even made handmade jewelry with them in my 20s. Of course, back then, I could not imagine myself understanding the boards or dealing with them at all. But after attending Liza Stark's online lecture and acquiring knowledge from my Fabricademy local instructor, Anoush Arshakyan and Fab Lab Armenia director, Onik Babajanyan, I felt confident practicing making circuits and designing my own sensors.
So, my weekly to-dos are:
-
understand voltage, resistance, and capacitance
-
learn about boards, conductive materials, and Arduino software
-
practice making various sensors
-
make 1 digital and 1 analog sensor
-
do not forget to take photos and videos
-
document them
Research & inspiration¶
From day one of E-textile week, my curiosity was sparked by Liza Stark's lecture; by her way of explaining complex ideas, her presentation, the care and confidence she transferred to the attendees—at least personally to me. So, my first inspiration is her! This specific website of hers was encouraging and informative. In one of her videos, she gave tips to newbies in e-textiles, and definitely, I will take some with me forever: "Own your voice," and "it does not have to be complex to be awesome; the simplest circuit with a simple button and an LED can be incredible in the RIGHT CONTEXT."
I was highly inspired by Eldy Lazaro's portfolio on a conductive biofoam. Before watching the video, I read the description and it sounded like she created a material that is not real, but rather sci-fi: "The conductive biofoam can be cooked, molded, layered, extruded, dissolved, or recooked, opening up possibilities to consider the entire material life cycle in the design process." Well, it is real, conductive, highly versatile, and incredibly circular. This inspired me to think of my final project from a different angle: incorporating e-textiles with such a material and bringing some patterns to life.
My next inspiration is from Irene Posch's conductive yarn experiment. While researching Kobakant, I came across this great idea of making conductive yarn at home.
Irene Posch spun short conductive steel fibers with wool, which results in the steel fibers touching each other under pressure, enabling electricity to pass through. The risk in this method can be the conductivity dependence on the density of the steel fibers in the spun yarn. I had the idea of making a sensor carpet in the end; however, I was not sure how to turn already woven carpet patterns into sensors.
But due to this experiment, I rethought the order of the carpet weaving process and got inspired to first spin my own yarn with a conductive material, then weave the carpet. I should experiment with Irene Posch's method and the method I thought of after Christmas to understand which one works best for my project.
Tools¶
- Alligator clips
- LED lights
- 3V battery
- Battery holder
- Conductive threads
- Insulation tape
- Conductive materials (Velostat, copper plate, VeilShield)
- Multimeter
- Breadboard
- Jumper wires
Resources¶
- E-textile workshops, tutorials, and much more by Liza Stark
- Exploring Biofoam as a Material for Tangible Interaction by Eldy Lazaro
- E-textile tutorial by Emma Pareschi
- Kobakant
- Computational craft
- E-textile and wearables vocabulary
- Datasheet for electronic components
- Google AI mode
Software¶
Process and workflow¶
Multimeter¶
A multimeter is a device with a central rotary dial with an arrow sign, which can be used to turn to the function needed. I used a multimeter to check these measures:
- Voltmeter (V) - to measure the electric potential difference (voltage) between two points in an electrical circuit;
- Ohmmeter (Ω) - to measure electrical resistance in ohms (Ω) and check for circuit continuity;
- Ammeter (A) - to measure the electric current flowing through a circuit;
- Continuity ( •)))➔| ) - to check if materials are conductive.
Resistor and Voltage Divider¶
A resistor is a passive two-terminal electronic component that opposes and limits the flow of electric current in a circuit. Resistors are marked with various color bands defining their values.
A voltage divider is a simple passive linear circuit that turns a larger input voltage into a smaller output voltage. It is built using two or more passive components in series (most commonly resistors, potentiometers, or capacitors) to scale down an input voltage into a smaller output fraction. In my sensors I used resistors.
Sensors¶
Photo is taken by LuizA Naslyan
Sensors are devices that detect changes in their environment, like pressure, sound, movement, etc., and convert that stimulus into an electrical signal. We can program them to produce an output based on a certain signal. Thanks to Onik Babajanyan, I understand sensors more deeply and learned the signs.
Digital sensors are electronic devices that measure temperature, pressure, light, motion, etc., and converts that measurement into digital data (binary codes are 0s and 1s, where 1 is on=high and 0 is off=low).
Analog sensors convert physical environmental inputs (such as temperature, pressure, light, or sound) into a continuous electrical signal (proportional voltage, current, or resistance).
Digital Pressure Sensor¶
A pressure sensor is a device that measures the pressure converts that mechanical force into a readable electrical, analog, or digital output signal. This one is a digital pressure sensor:
Tools needed: alligator clips, an LED light, a power source (3V battery), 2 copper plates, a piece of Velostat.
- Attaching the longer leg of an LED light to the positive (+) side of the power source (3V battery) with an alligator clip
- Attach another alligator clip from the short leg of the LED light
- Attach another alligator clip from the negative (-) side of the power source
- Now we have 2 ends of alligators from positive and negative sides free
- Attach small copper plates to each free end
- Cut some Velostat a bit bigger than the copper plates so they will not touch each other
- Press them
Here is a video of practicing the pressure sensor with the values changing in the Serial monitor in Arduino IDE:
Video by Anoush Arshakyan
Digital Button Sensor on a Hairpin¶
I checked my box full of odds and ends, and chose my 20-year-old hairpin. I could not even remember what brooch was attached to the metallic pin, but I am glad I saved it. So, I thought to dare me to make a hairpin with an LED light on top, when I pin my hair, the light will turn on. Then, I sketched the sensor circuit with a pencil.
I put everything that I was going to use together. The tools and details are: silicone covered conductive wire, linen fabric, a hairpin, a resistor, an LED light.
So, I started putting it all together step by step:
- I checked the hairpin with a multimeter Continuity function to see if it is a conductive one. It was, so I had to insulate the wires to avoid any contact with the pin.
- So, I chose linen fabric from my fabric scraps and sewed a rectangular tube to place my pin into.
- I chose silicon covered conductive wire to secure a safe, non-conductive connection between the sensor components.
- I chose fabric pieces that I dyed with madder roots and marigold petals during my BioChrome week, picked up some leaves from my garden and pounded them on the fabric pieces with a hammer. I used them as a bow on top of the pin to cover the circuit and decorate the LED light.
- I stitched the linen fabric on the upper part of the pin.
- I measured the wires and cut them according to my pin.
- I rolled the LED light and the resistor legs, making sure to roll the LED LONG leg in a different way to remember later.
- I started to attach the wire to the positive side (+) of battery holder, then to the resistor, then to the LONG leg of the LED light, then one more wire that connected the short leg of the LED light to the upper end of hairpin.
- I attached one slightly longer wire to the negative side (-) of the battery holder and attached to the lower part of the hairpin.
- I turned the dyed and pounded fabric piece into a bow, used my carpet weaving needle to make a hole in the center by pushing my needle through without cutting any threads.
- I placed the bow on the LED and stitched the sides on the linen underneath.
It looked neat and tidy, it worked well.
Analog Flex/Bend Sensor¶
A flex sensor (also known as a bend sensor) is a thin, flexible electronic component that measures the amount of deflection or bending.
Tools needed: alligator clips, jumper wires, an LED light, power source (3V battery), 2 pieces of conductive fabric (VeilShield), a piece of Velostat.
- Attach an Arduino Uno board to the laptop with its cable
- Insert a jumper wire into an analog port on the Arduino Uno board (e.g. A0)
- Connect the other end of the jumper wire to an alligator clip
- Attach the other end of the alligator clip to one of the conductive fabric pieces
- Insert another jumper wire to the 5V port on the Arduino Uno board
- Connect the other end of the jumper wire to an alligator clip
- Attach the other end of the alligator clip to the second piece of the conductive fabric
- place a bigger piece of Velostat in between the conductive fabric pieces
- bend and test how the conductivity changes when the sensor is bent
Here is a video of practicing the bending sensor with the values changing in the Serial monitor in Arduino IDE:
Video is shot by Anoush Arshakyan
Flex/Bend Sensor with Servo Motor¶
I also practiced analog flex/bend sensor with Servo motor where Servo motor was moving according to the bend sensor, the values on serial monitor were changing ranging from 200 to 900 bits.
Photo is taken by Luiza Naslyan
Video by Anoush Arshakyan
const int sensorPin = A0; // DIY sensor pin
const int servoPin = A1; // Servo signal pin
void setup() {
myServo.attach(servoPin);
Serial.begin(9600);
// Initialize the servo at the first position
myServo.write(30);
}
void loop() {
int rawValue = analogRead(sensorPin);
int targetAngle = 30; // Default fallback position
// Check which zone the raw sensor value falls into
if (rawValue < 320) {
targetAngle = 30; // Lower zone
}
else if (rawValue >= 320 && rawValue < 460) {
targetAngle = 60; // Middle zone
}
else {
targetAngle = 90; // Upper zone
}
// Command the servo to snap to the designated angle
myServo.write(targetAngle);
// Debugging outputs
Serial.print("Sensor Value: ");
Serial.print(rawValue);
Serial.print(" | Locked Angle: ");
Serial.print(targetAngle);
Serial.println(" degrees");
delay(100); // Check 10 times a second
}
Flex/Bend Sensor with Piezo Speaker¶
I also tried an analog bend sensor with a piezoelectric speaker using an Adafruit board because it can be good practice for my final project. I needed these tools for my sensor: an Adafruit flora board and cable, a piezoelectric speaker, jumper wires, alligator clips, conductive thread, 2 conductive fabric pieces (VeilShield), Velostat, a 10K Ohm resistor (voltage divider).
Photo is taken by Luiza Naslyan
-
first of all, I installed an Adafruit AVR board in my Arduino IDE;
-
I generated a code via Chat GPT, checked it and edited the pins;
-
I connected the piezo speaker to the board: the black wire to the GND and the red one to D6 / A7 pin and programmed that pin in Arduino IDE to be sensible to the bend sensor;
-
Then, I connected a piece of the conductive fabric to the resistor and the resistor to the GND on Adafruit flora board;
-
I connected the other piece of the conductive fabric to 3,3V pin on Adafruit flora board;
-
another wire connected the resistor and another GND pin on on Adafruit flora board;
-
I rolled one leg of the resistor twice because I needed to connect to wires from it. This might be useful for others too:

-
the final step was to connect the Adafruit flora board with the laptop and check the Serial monitor on Arduino IDE.
Video is shot by Anoush Arshakyan
Here is the code for my analog bend sensor with piezoelectric speaker:
const int sensorPin = A9;
const int piezoPin = 6; // A7 / D6 on Flora
// Sensor range
int sensorMin = 200;
int sensorMax = 1000;
// Piezo frequency range
int freqMin = 200;
int freqMax = 2000;
void setup() {
Serial.begin(9600);
pinMode(piezoPin, OUTPUT);
}
void loop() {
// Read bending sensor
int sensorValue = analogRead(sensorPin);
// Keep values within selected range
int limitedValue = constrain(sensorValue, sensorMin, sensorMax);
// Map sensor values to piezo frequency
int frequency = map(limitedValue,
sensorMin, sensorMax,
freqMin, freqMax);
// Play sound
tone(piezoPin, frequency);
// Print values
Serial.print("Sensor: ");
Serial.print(sensorValue);
Serial.print(" | Frequency: ");
Serial.print(frequency);
Serial.println(" Hz");
delay(50);
}
Capacitive Touch Sensor¶
Photo is taken by Luiza Naslyan
A capacitive touch sensor detects touch and proximity by measuring changes in electrical capacitance when a conductive object—such as a human finger—nears or contacts the surface.
Tools needed: an alligator clip, an LED light, Arduino uno board and a cable, a copper plate, a breadboard, a resistor (up to 1K), a mega resistor (1 M to 10 M), 2 jumper wires.
- Attach an Arduino Uno board to the laptop with its cable
- Insert a mega resistor into 2 digital ports on the Arduino Uno board (e.g., D4 and D2 ports)
- Connect one end of an alligator clip to the mega resistor
- Connect the other end of the alligator clip to the copper plate
- Insert one jumper wire to a port on the Arduino Uno board (e.g., D11 port)
- Insert the other end of the jumper wire into a breadboard
- Insert the resistor into the same segment on the breadboard as the jumper wire
- Insert the long leg of the LED light into the same segment on the breadboard as the resistor
- Insert the short leg of the LED light into another / a new segment on the breadboard
- Insert the 2nd jumper wire into the same segment on the breadboard as the short leg of the LED light
- Finally, insert the other end of this 2nd jumper wire into a negative (-) / GND (ground) port on the Arduino Uno board
- Test
Here is a video of practicing the capacitive touch sensor. The LED light turns on both when I am touching the copper plate and when my finger is at a certain distance from the copper plate. Depending on the mega resistor, the higher the resistor, the further my finger can expect the light to turn on without touching the copper plate.
Video by Anoush Arshakyan
Arduino¶
Arduino uno board
It is crucial to understand the board in terms of the functions needed for making digital and analog sensors. First, on the right side there are the digital ports marked with DIGITAL and on the left side there are the analog ports marked with ANALOG.
The ports marked with GND are for the negative (-) side of the circuit.
The ports marked with 5V and 3,5V are for the positive (+) side of the circuit.
Plug in Arduino uno board
To program any function using an Arduino uno board, first it's necessary to plug in one end of the cable to the laptop and the other end to Arduino uno board.
Settings
It is important to make sure the board and port are selected correctly, the code is verified for the correct result. Here I share the steps of selecting the board and the port before or after the code is ready:
-
press on the dropdown arrow and choose the board name: e.g. Arduino uno.

-
on the upper bar press on TOOLS -> PORT -> Arduino uno to choose the port.

-
once the board and the port are selected, click on the upper right corner to turn on the Serial monitor.

Download
To map the code for the sensors I needed to download the Arduino IDE software for my iMac to be able to work with an Arduino board.
Arduino IDE interface
The Arduino IDE uses a programming syntax based on C/C++. It relies on a few basic punctuation rules, capitalion, and a specific structure consisting of two main code blocks (functions): setup() and loop().
The basyc syntax rules of Arduino IDE are as follows:
-
Semicolons ( ; ) Every single line of command must end with a semicolon. It acts like a period at the end of a sentence;
-
Curly Braces ( { } ) Braces are used to group sections of code together. Everything inside the {} belongs to that specific function;
-
Capitalization Capitalization matters. for instance, digitalWrite will work, but digitalwrite or DigitalWrite will cause an error;
-
Comments ( // or /* / ) Double forward slash // is used for a single line or / comment */ for multiple lines.
Every Arduino program is called a "sketch" and runs on these two functions:
-
void setup() - the initialization block, where the settings don't change, like telling the board whether a pin is an input (like a button) or an output (like an LED);
-
void loop() - the main program block, that runs over and over again in a continuous loop. Here goes the main logic, like reading a sensor, checking a timer, or turning a light on and off.
Here you can see more components added under the Void setup and Void loop.
Adafruit¶
Adafruit flora boards and LilyPads are micro-controller platforms that are wearable enabling the users to sew them to e-textiles, DIY electronics, and soft circuitry both with conductive threads and standard sewing threads. In our lab I worked with an Adafruit flora board. To be able to use it, I installed it to my Arduino IDE. I am sharing the steps with you:
-
open Arduino IDE software
-
click on Arduino IDE from the upper bar in iMac and choose Settings;

-
in the Settings, copy and paste this link in Additional boards manager URLs and click OK;

-
go again to the upper bar and choose Tools -> Board -> Boards Manager

-
check if Adafruit AVR Boards is installed, if not click on Install

-
the last step is to close the Arduino IDE and reopen.
Results¶
A digital pressure sensor on a hairpin:
An analog flex/bend sensor with piezoelectric speaker sewen on a piece of jeans:
Weekly reflection¶
- I learned to trust myself more.
- I would take more detailed pictures of my circuits.
- This week was key for my final touch sensor project.
- E-textiles are highly versatile and the only limit truly is our own imagination.
Files¶
Adafruit flora zipped file: Analog Bend sensor with Piezo speaker








.jpeg)








