5. Feb 4th-10th: More prototyping, space-filling curves, and design inspiration#

More experiments with textile potentiometers#

This week I’m back working on textile potentiometers, as they’re a key part of my project. I figured out a way to expand on my weaving experiments from 2 weeks ago to make a new (ish) potentiometer design.

Materials used#

The idea#

A potentiometer is a strip of resistive material, with a ‘wiper’ that can move along the resistive strip. It can be used as a variable resistor, or as a voltage divider.

I started with a piece of fabric with a grid laser cut into it (I guess you could also cut it by hand!). Then I wove a strip of resistive fabric into the grid, creating loops (below I’m making five potentiometers at once). Changing the size of the loops by pulling on the fabric strips will increase or decrease the resistance between the points where the loops make contact with the fabric grid. Larger loop = longer strip of resistive fabric for the current to travel through = higher resistance (and vice versa).

weaving with resistive fabric

Then I wove in some conductive thread. As I was planning on using all the potentiometers in one circuit, I used two pieces of conductive thread - one to connect all the ends of the resistive pieces on one side, and another to connect all the other sides. The idea was that one side would all connect to +, the other all to -, and I’d connect different Arduino pins to the different individual potentiometers. But then I realised that I’d created two types of potentiometer - one functioning as a variable resistor, and one as a voltage divider:

voltage divider vs variable resistor

textile potentiometer grid

I made some more adjustments and ended up with this:

Variable resistor: pulling on the loop to make it bigger/smaller increases/reduces the resistance between the two ends.

Potentiometer: Measuring the resistance between the middle point and one of the ends, pulling on the loops increases/decreases the resistance.

Alternative potentiometer: I wove in a strip of copper conductive fabric under the resistive loop. It’s connected to the resistive fabric on one side, and pressing the loop down on top of the fabric reduces the resistance.

Improvements needed#

This design needs a bit of work to function properly. The first prototype doesn’t make a very secure electrical connection between the resistive fabric and the conductive thread. What I’m going to try next is taking inspiration from this soft potentiometer, and adding some metal rings used in jewellery to connect the resistive and conductive traces. Or using strips of non-conductive fabric and stitching resistive thread on top of it.

Material choices#

The first fabric grid prototypes I made were cotton canvas and stretch denim, both of which were ok for testing, but not sturdy enough. I want my final design to be able to be assembled, taken apart, and re-assembled. It needs to be easy to fabricate (I don’t want to be sewing tiny hems on all the slits in the fabric grid), tough enough to survived being handled a lot, and easy to clean.

frayed fabric

Cecilia suggested a material she had used before - a fabric with a rubber top layer, which we’re not sure what to call in English, but in Italian it’s called ‘Spalmato’ (ᵔᴥᵔ)



At the moment, though, everything is mostly black, grey, and metallic. I need to add some colourful elements, because it’s not really me if it doesn’t include bright colours ◔ᴗ◔

I’m thinking of something like this:

leather weaving

(which was pinned to Pinterest from a website called klikrugs.com, but their website appears to be inactive so I haven’t able to figure out who originally made it)

Closing in on a final electronics design#

Having a chat with Cecilia about my plans also helped me focus my ideas a lot. In last week’s notes I wrote a bit about how I had been flipping back and forth between different strategies (whether to make an analog, Arduino, or Raspberry Pi synth), and leaning towards the analog route. After spending more time reading Handmade Electronic Instruments by Nicolas Collins, this seems way less intimidating than before, and I have a solid plan:

Core modules#

The plan is to make:

Bonus modules#

If there’s time, I’d like to make

Next steps#

I’ve ordered a bunch of parts and am waiting for them to arrive (which should happen on Monday!). Then I’ll build the modules on a breadboard with traditional hard components, to check that it all works. Once that’s done, I’ll start swapping out hard components for soft components, and see how that changes the sound / what problems arise.

Exploring space-filling curve designs for resistors#

I’ve been thinking for a while about how to make textile resistors of different values (that also look interesting), using just one type of conductive thread / fabric. One idea I’ve been exploring is to use ‘space filling curves’, such as the Hilbert curve, a fractal curve that looks like this:

hilbert curve

gif from Wikimedia Commons

Each ‘iteration’ of the curve replaces each straight line segment with a more complex shape, and doing this a couple of times results in pretty complex shapes! My idea is to make resistors of different values by using the same type of conductive thread / fabric and having it follow the path of a space filling curve.

space filling curve as resistor

Besides the fact that I really like the look of these curves, making resistors in this way is a quite nice way of illustrating how resistors actually work - travelling through more resistive material = higher resistance.

Rabbit / L-Systems in Grasshopper#

Unsurprisingly, someone has already figured out how to do this in Grasshopper (ಠ‿ಠ)

I added the Rabbit plugin for Grasshopper, and downloaded a Grasshopper definition that creates two kinds of Hilbert curves. There’s even a short tutorial on how to make Hilbert curves with Rabbit, including a Grasshopper definition you can download. This generates two variations on the curve by default:

hilbert curves in grasshopper

To make some different patterns, I did some reading about L-Systems for representing fractals, which is the method Rabbit/Grasshopper uses to generate these shapes.

Here are a few I’ve made so far:

image of space filling curves

I also edited the definition to add a bit that calculates the length of the curve - this could be turned into a calculator to figure out what iteration / length you would need to make resistors of different values from different kinds of conductive thread. I need to fine-tune this before uploading it :)

Fixed vs variable resistors#

I could make these designs as resistors of fixed value, but it could also be fun to try and use these as variable resistors, by connecting each end to the circuit, and then scrunching the fabric together to create short circuits.

I tried a very simple test of this by sewing some resistive thread (8 Ohms / cm) in a square wave pattern on a piece of fabric. But I found that this thread doesn’t short circuit easily - I think this is because it’s made of linen woven with some steel fibres, so not all of it is conductive, and it only makes good electrical connections when sewn securely to another material / circuit.

test resistor

Next steps#

what I need to do next is figure out how to make these! There are a few options:

Design inspiration from the “Space Age”#

This week I realised that a lot of the things I love dearly, and the influences for this project, come from the late fifties and 60s. Such as:

In other words, the “Space Age”: the period where humans first started exploring space. A time of wonderful sci fi, wacky fashion, and a general sense of adventure, imagination, and optimism.

cardin / courreges

I really like the bold geometric (and whimsical) designs of Pierre Cardin and André Courreges.

sci fi inspo

The imaginative sci-fi of that era is also a major influence - particularly Doctor Who!

Oramics-inspired designs#

Another major source of inspiration for this project is the history of female pioneers in the world of electronic music:

women of electronic music

Clockwise from top left: Daphne Oram, Wendy Carlos, Delia Derbyshire, Suzanne Ciani

I want to look for ways to reference the work of these women in my project. One way I’ve been exploring is taking inspiration from Daphne Oram’s ‘Oramics’ machine - a machine where you would draw waveforms that would be turned into sound. I took an image of some Oramics waveforms, and created similar curves in Rhino. then I used the TweenCurves command to create a set of Oramics inspired curves.

oramics curves

I’m planning on using these for:

stroke sensor