Studio Contrechoc

design & textile & technology entries

Monthly Archives: September 2014

Workshop From Conductive Printing to Music/Sound Shirt

This workshop wa inspired by

(Thanks also Wilco and Gera from the to help out!)

The goal is to explore the possibilities of “sensing humans” by using static electricity, which influences the readings of the analog PIN’s of the Arduino. These fluctuating readings of the analog PIN are connected to sound, melody, or ticks in a simple 8Ohm speaker.

We started with thinking about music and sound, what actually is a melody (looking at the western notes, scales and music coding). We then made our own “note” by clicking the speaker.

There are notes in powerpoint format:

Coding examples, starting with toneMelody script from the examples of Arduino

Captura de pantalla 2014-09-25 a la(s) 19.47.14

We modified this script a little bit, making the PIN 9 a GND, to be able to connect the speaker to two adjacent PIN’s.

(pinMode(9, OUTPUT); dihitalWrite(9, LOW); added in the setup function.

We experimented with recognizing this melody by changing speed , note duration, the intervals etc.

We made a “box” (function), for the melody scripting with: void playMelody(int speedOfPlay, int pausing), and could then easily use the name of this function in the loop:

playMelody(1, 50);
playMelody(2, 30);
playMelody(3, 20);

The simple hardware for studying music and sounds: speaker with an arduino.

Captura de pantalla 2014-09-25 a la(s) 19.45.36

After the melody we started making clicksounds using delay(10); to delay(1);

digitalWrite(8, HIGH);
digitalWrite(8, LOW);

This can suddenly cause a “note” appear, out of clicks

We made this click sound thing into a function, another programming box.

Realizing that this clicking is too slow even with delay(1), so that we couldn’t reach the higher notes we used this trick:, the fast “assembly” command:  __asm__(“nop\n\t”); instead of the dealy.

This is then way to fast!!!!

Slowing down this command with a extra “for loop”.

void giveSound(int beats){
for (int i=0;i<100;i++){
digitalWrite(7, HIGH);
for(int i2 = 0 ; i2 __asm__("nop\n\t");
digitalWrite(7, LOW);
for(int i2 = 0 ; i2 __asm__("nop\n\t");

We could than also in the program change the beats and make an upgoing and down going sound, a sirene:

Thus we could experiment with mixing melody, sound, and sound effects.

Next step: Making a silk screen

2014-09-25 13.14.472014-09-25 13.40.59

Printing with conductive inkt

2014-09-25 13.10.072014-09-25 13.28.16

Using the bare conductive ink

Printing on textile shapes that can be made into a t-shirt. Making a real “thing” – even simple –  is always more interesting than just making a rectangular shape to test…

2014-09-25 13.39.39

After printing and drying we started experimenting connecting the analog PIN to this printed shap and making sense of the soundscapes related to the signals coming from the shape.

Connecting this shape to an analog PIN of the Arduino

2014-09-26 08.53.142014-09-26 08.52.48

We also compared this with signals coming from aluminum:

We saw signals sometimes clearly, sometimes it was “on its own”. The capacitive signales are very noisy. This is great for designers since this creates more than a strait causal signals (more light higher value of the LDR) the idea of being alive.

2014-09-25 15.25.362014-09-25 15.19.21

scripts for studying the unstable signales of this conductive shape (using the Serial Monitor)

After experimenting we linked the values ranges to sound functions in a very simple way:
with an “if statement”.

if ( abs ( value - lastValue ) > 400 )
Serial.println( "COOOOOOOOOOOOOOOL!!!!!!!!!!!");
else if ( abs ( value - lastValue ) > 300 )
Serial.println( "medium cool!!!!!!!!!!!");
else if ( abs ( value - lastValue ) > 200 ) {
Serial.println( "medium boring :-(");
lastValue = value;

Having done this experiment we are left with the task of making it into a shirt, attaching batteries to the Arduino (inside a pocket for instance.

Hopefully the participants will send some pictures of this t-shirt assembled soon…..







GPS track fiddling, knitting and 3D printing

To have some pratice (or fun) we did a GPS tracking of rowing on a small river in Holland.

We used Open GPS Tracker on an Android to make the track.


You can add pictures, notes etc…

We tracked, sent the .kmz  file to ourselves using email. This kmz file can be imported into Google Earth to show the track:

Captura de pantalla 2014-09-05 a la(s) 14.25.18

To extract the coordinates we changed the file to .zip, unzipped and got the .kml file. Here you cen get the coordinates out and (using some find and replace tricks) import the file as a .csv into excel, using visualising tools to get the track again:

Captura de pantalla 2014-09-05 a la(s) 14.01.45

Using this line to make a low resolution image which can be knitted:

titanic_vlist_120_168            nordic1

Making a new version because it became a mess in the knitted version:


The diagonals are meant to restrain the wires at the back of this Nordic Knitting.Still this track is not really “designed”.

Somehow we fiddled further with the excel file, rounding of the numbers and got this more designed “London sub-way map” straight version of the track:

Captura de pantalla 2014-09-05 a la(s) 14.11.48

titanic_stile_100_80      titanic_knit_b

The two versions were also printed on a 3D printer using the contrast to relief script of Blender:

Captura de pantalla 2014-09-10 a la(s) 18.51.58

track_print2       track_print1

It was fun to add water inside the square boxes to get the tracked (which was rowed on a river) in the water again.


But this straight line of “real” GPS coordinates didn’t show all the details of the track. There is an infinity sign hidden in the starting point. This can be seen by turning the track in the perspective of Google Earth:

Captura de pantalla 2014-09-10 a la(s) 06.46.22

W have to figure out a way to make this perspective line into a subway map design transformation…:-)

We returned to the track, redesigned by excel, and copied the rounded coordinates out of the excel sheet, pasting them into the .kml file, zipped this file again and made it into a kmz file. Then importing it into Google Earth again as a track we obtained the “square rowing” track:


One of the students, Naomi, has written all the conversion steps in a pdf: (Dutch language)

and if you want to play around with coordinates, here is an excel document, with the right formula’s, and an excel graph, which updates when you change the orange cells:

Captura de pantalla 2014-09-14 a la(s) 20.25.41

There remain a few versions to be knitted and printed, and a way to add water to the knit 🙂




Return to cellular automaton Knitting

For A low resolution workshop we revisited the knitting of patterns generated by Cellular automaton strategies. Of course as a designer we liked the choatic rule set number 110 very much!

This tutorial explains all about the chaotic rule set:

The image was generated using a cellular automaton program. Then the image had to be reformatted in low resoltion. (Using the Nearest neighbor/Hard Edge option in Photoshop.) Then the image could be transferred to the Brother KH-940, using either Designaknit or the Arduino Due (with the Knitic board, but our own software.)

Later on we added text to the image (Protest Knit).


cel44 cel2




protest30  protest23

The powerpoint of the Low Resolution Workshop can be found here: