Blog - Sketching with Hardware

Practical Course on Physical Computing

Team 7 – Smoke on the Floppy – Technical documentation

Published on: April 20, 2017 | Author: Daniel Peter Neumann | Categories: 2017a, Final Presentations, Projects, Tutorials

Another take on “floppy music”. 

Please note: This is just an excerpt of a 20+ page-long, super detailed tutorial, especially made for absolute beginners.
If this blogpost is not enough, please download the whole step-by-step-tutorial, including example-files and the main-code!

After spending a whole day on an impossible idea, we had to think about something new and different – and yes, we we’re quite lucky as Adina’s father offered us an unused pc-housing and I got the idea of turning it into a music-station with sound-generating floppy drives as the main attraction.


How it works:

Every floppy drive (FD) contains a stepper motor alongsides it’s driver-chip – this is the perfect starting-point for some nice vibration-action. (I may have to rephrase this). Moreover, a PC-housing offers some nice surfaces, which will produce loads of different sounds when beaten – e.g. by solenoids. Simply add an Arduino-micro-computer as the “brain”, power and some wires and you’re good to go.
– 1 x Arduino Mega (in this case)
– 1 x Floppy drive
– 1 x PS2 keyboard
– 1 x PS2 adapter
– 1 x 12V power-supply
– 1 x 5V USB charger
– 1 x breadboard power-adapter
– a bunch of jumper wires
– plain perfboards and wires for the DIY adapters
– tools

First, connect short pins 12&13 on your FD, which act as a drive-select and turn your FD “on” when grounded. Then, connect pin 16 (direction) to your Arduino’s pin 5 as well as pin 18 (step-pin) to pin 4 on your micro-computer. These pins will dictate your FD the direction and movement, you want. IMPORTANT: connect the pins right below the just used pins to any ground-connection on your Arduino!

Moreover, you have to connect your FD to power – just as usual, the black pin goes to ground, the red pin demands for +5V.
The other connections are as shown below: keyboard CLOCK to pin 3, it’s data-out to pin 8. To connect the solenoid, first have a look for a matching driver-board, then connect it’s data-IN-pin to pin 12 and it’s consecutive, if you’re some sort of hippie, who needs more than a single kickdrum. (just like us)


ProTip – DIY-adaptors:

Even if does not seem that necessary at first – it is. You’ll find yourself connecting and reconnecting your floppy drive many times experimenting with it. Simply solder some header-pins to some cut-to-size perfboards. This step is not hard at all, may take some time, but will as well come in handy at future projects. You’ll thank me for it!


What you need to know:

We tried something fancy first, as we wanted two drives to move their heads along the whole track creating polyphonic melodies, provided you get the Arduino to simulate multi-processing (or at least threading), which it doesn’t do naturally offering only a simple single-core processor. Regarding the first day, we lost as mentioned above, time flew and the deadline felt quite deadly. Therefore we designed a new tone-generating method, based on some often used methods on the internet as well as our first attempt of moving the read-head in between to points, but in this case – these two points are only two steps away. This results in a vibration, which’s speed is set by the delay in between two rising flanks.  There’s no need to track either the current position nor direction.


As mentioned above – if you’re looking for some step by step tutorial, please have a look at the larger tutorial. In this section I’ll only show you the very core-methods and explain their main functionality.

First, the very easy vibration-method, which is capable of (theoretically) produce every given frequency. This method takes a frequency and turns it into vibrations as explained above. Moreover it is able to produce notes of different lengths by involving a timer, which counts the “up” time of the current program. By setting a time-stamp in the future (currentTime+duration) and checking if it has been reached / passed within every loop, we are able to time our notes from as less as a few milliseconds!

/* Easy tone-generator*/

 void vibrate(float notefreq, float noteduration) { 

float dDuration = millis()+noteduration; 
//(1) computes how long our loop will repeat itself 

float vibration = (3000000/notefreq*2); 
// (2) calculates the speed of change of movement in each direction -> velocity 

while(millis()<dDuration){  //have a look at (1)

digitalWrite(FDD_DIR, LOW); //first move forwards digitalWrite(FDD_MOV, LOW); delayMicroseconds(vibration); 

//delay between movements determines movement-frequency

digitalWrite(FDD_MOV, HIGH); //on step at each rising edge / flank delayMicroseconds(vibration);
digitalWrite(FDD_DIR, HIGH); //then backwards digitalWrite(FDD_MOV, LOW);delayMicroseconds(vibration); digitalWrite(FDD_MOV, HIGH); delayMicroseconds(vibration);



Then we need to enable the keyboard to talk to the above method. You may solve this with directly mapping your ASCII-outs to a range of frequencies, then again produced by taking a base-frequency (e.g. “A” at 440Hz) and multiplying it by k*2^(1/12) (k times twelth root of two) which will get you the k-th halfstep-succesor of your base-note.
Or: simply write an array or even just switch/case-method with the desired frequencies.

E.g. it may look like this:

void keyboardToFloppy(){


char c =;
case ‘a’: {vibrate(440.00, 1000); }  //vibrate at a frequency of 440Hz (A) for a second
case ‘b’: {vibrate(466.16, 500); }
case ‘c’: {vibrate(493.18, 1000); }

 //[…and so on!]

And that’s basically it! Of course, you could go way further. I already gave you same ideas in the last section. Some more are e.g. storing whole songs as arrays of their frequencies and note-durations and playing them back by reading them as input parameters on each loop-cycle, including midi-input (what we did -> “chaos” file in the tutorial-package), other input-devices,…

I really encourage you, to grab an old floppy drive and start your own floppy-drive-driven project.
If you’re not feeling any time pressure, these basics offer some quite amazing possibilities – it’s fun, I promise!

Day 4 – Ideas Take Form

Published on: April 17, 2017 | Author: Fuad Soudah | Categories: 2017a, Daily Log, Projects

Day 4

Introduction: It seems that every group stepped beyond the preliminary brainstorming process and went ahead with the upbringing of their ideas. Either that or continued deciding between the remaining alternatives. At this point the matter in question was whether we’ll have enough time, but some teams remained confident, with their minds already preset on a common idea. Therefore, making sure that it comes to life was an objective that was continuously being undertaken in a rather diligent manner, simultaneously by all. By the end of the day, despite the interviews of which outcome varied a notch, it seemed that everyone was on point. That was a good harbinger for our projects, as they were about to become sound quite soon!

Team 1 (BoomBox?): Having managed to agree on the preliminary idea on the second day, we pursued the initial concept and made subtle iterations to accommodate the physical constraints that we have ran into along the way. At early stages we browsed through the provided tools and tested the Arduino kit. Martin designed and laser-cut an ideal acrylic plate, which turned out to be perfect for mounting the capacitors onto. Afterwards, he prepared the wooden blocks to mount the motors on, which came with some struggle, considering the fragility of the material. I measured and mapped out the objects in Adobe Illustrator and then managed to adapt them accordingly onto the physical surface. I also tried running all five micro-controllers, but it seemed that they lacked power. We decided to address this issue tomorrow.

Today we have mounted a significant amount of our crucial parts. We are looking forward towards testing out a variety of capacitors in order to figure out whether the auditory performance will be of satisfactory value (otherwise, we’ll need to amplify the sound in some way). Completing the rest of the build and refining the programming part of the Arduino are left for this week. The remaining part ought to be refining the packaging itself, which we’ll leave probably for Monday. Perhaps we’ll test the capacitors out tomorrow. Wish us luck! Regardless, we’ve done quite well so far!

Team 2 (Augustiner Bierkastenorgan, MidiMassOrgel)

Unfortunately, the second team feels as if they are running out of time, despite having almost completed their build. A few substantial problems surfaced along the way, which primarily involves fixing the air pump properly with the device and delivering a significant amount of air inside 12 bottles in order for them to produce any sound whatsoever. The build will operate on an according amount of servos attached with caps, opening and closing in conjunction with the midi controller. Once the lid opens, the air will flow in and sound. At this moment the team is operating on a hand pump. One idea they had was to use an air mattress, put the box on it and let the air pressure play the tune out.

The idea did not work out that well, though, so currently they’re thinking of alternatives. Things that still need to be done? The laser cut boards will need to be painted. Programming the servos will be required to steer the servos in conjunction with the midi controller. They feel that they might be ready by Tuesday, but it depends whether they’ll fix the air pressure riddle. The inspiration was drawn from the church organs, which as a design feature I consider a classic and a solid approach. The following day, they’ll try channeling the air and connecting each bottle in combination with the servos and so introducing a bit of code. All in all, it doesn’t look quite bad, actually!

Team 3 (Graphophone! // Graff-O-Phon)

This team is quite passionate about their project. At the moment, they are working on the horizontal movements operating on the motor. One broke down, so they thought of getting additional parts. They’ve spent most of their time on tweaking the motors and making sure they worked precise vertically. The construction seems extremely provisional, as they’ve made use of a plastic pipe for a part of the body and a tiny screw to hold the motor on. Most of the afternoon was invested in refining the x, y axis movements and coding the remaining in the Arduino kit. Potentially, a hammer would operate the instrument, by hitting each spray can to produce a distinct tone.

The machine seems fairly complex at this stage. Still, more tests are required, but the engine itself works like a charm at this point! Apparently, there were some bizarre things happening yesterday, the machine went completely out of control. Still, the machine seems impressive, it works fairly fast, there is the right amount of complicity embedded and it seems that the team is doing well and might finish the project quite soon! In fact, they mentioned Monday, when they ought to have the entire project done by!

Team 4 (Wordplay with Octopus, OctoRocks)

The team has created an octagonal instrument with a guitar string attached to each side. In total, 8 different sounds raised by a robot controlling the entire system, personified as an octopus (hence octagonal form). The concern was raised in regards to the midi translation, rather than the design of the device itself. The build seemed quite ready at that point, except for the box itself. Holes were meant to amplify the sound of the strings being pulled. The design worked closely to how a standard guitar works. The plan for today encompasses finishing the physical box design and making the sculpture of the octopus. Strings are supposed to be due tomorrow and so will the beta-test commence afterwards, in order to find out if the idea as a concept works well, all in all. The team even has an octopus painting on the wall, as means of motivation. A great incentive!


So, to sum up: a physical octopus placed in the middle of an octagonal instrument equipped with a different string each, pulled and steered by the coded Arduino chip. The idea seems strong and solid. Entertaining most of all! Can’t wait to see the final outcome!

Team 5 (Nothing Right Now ;), The Mystery Box)

This team didn’t have it easy. First of all, they worked on laser-cutting the box, which came with problems of its own, so they had to redo the entire process again. As an idea, the entire structure would rely on five motors. Each would operate an object, which with the vertical movement of the motor would hit and bounce of metal blocks. The entire structure as an idea is supposed to be boxed off, some buttons embedded. Sheets of metal will form as if a letter U, midi controller attached and configured to work with the arduino kit. Still, more work is required on the box and completing each part including messing around with the electronic stuff and making sure the device plays out 5 tunes in total.


They are still quite worried about the cozy time frame given, but they believe that the box may be finished by the end of the day. The instrument will rely on objects bouncing off walls, in consequence providing sound, controlled by the midi-controller and arduino kit. Not bad!

Team 6 (Merry-Go-Round)

The elements of the device are already assembled with different objects which total more over the standard 5 tunes required for the project to play out. The idea relied on the classic idea of a merry go round, except, in this case a few variations would be introduced. Step motor placed in the center in combination with a servo and a drumstick attached would play different tunes out on multiple instruments as the stick would hit each instrument and make a sound. The setup apparently works so far. The plan for today is setting up the electricity and programming the step motor. The following day will be spent on cutting out the wooden parts, the process of which still needs to be thought through. A few ideas surfaced, such as putting something at the top of the merry-go-round, such as light and touch sensors, something that would activate the stick. The parts still need to be assembled, though.


The team remains fairly confident, they hope that they’ll make it until Monday with the entire setup already at an advanced stage. The interaction between the user and the device still remains problematic, but at this point, it’s going quite relatively well!

Team 7 (Smoke on the Floppy)

This team makes use of a really old school idea, which is the manipulation and sound extraction from a floppy drive. Yesterday they programmed the keyboard to work well in conjunction with the arduino kit. Today they will get ahold of the floppy drives and make it work with the rest of the setup and produce according sounds! The programming part and combining a couple of drives so that they work neatly together remains problematic, especially the already quite advanced part of how a floppy drive works. Although two ideas are still floating around in case of the sound creation plan.


First idea revolves around the use of a step motor and another object that will keep on coming down on the floppy at a specific distance, producing certain sounds. The second involves the sole use of the floppy drives themselves, basically by manipulating the speed of how the drive reads its disks. Executing it at different speeds and intervals will sound in a number of different tones, but the development of the idea might become a little difficult as the hardware limitations might deliver unforeseen shortcomings. Despite that? The team seems to have a clear idea of what they’re about to create, although, again, the time shortage might become an issue sooner or later.

Team 8 (CandyMachine/Candy Melody!)

The team is designing a prototype at this point. With the use of marble balls and magnets the machine will release according hatches (and balls) to sound on impact with an actual instrument – cymbals. They already tested the magnets yesterday and they actually have worked! The design sketches have already been done since yesterday but the team had to iterate the primary idea as it involved operating on/with water. They were eventually discouraged by the idea of potential leaking and so they moved on to magnets in which they’ll be using a combination of 8 columns and therefore 8 possible notes that may be sounded. The melody may be also played out individually by the user which I found to be an exhilarating idea. Each hit will make an assigned interaction between matched marble-cymbal, that way a melody will be played.


The team still has ways to go and a lot of work in need of conducting but so far they’ve made quite progress! Yet, there is a number of steps that need to be taken. Lasercutting 8 columns that will carry the marble. Refining and calibrating the entire device. They’re a little stressed, especially after changing the scope of their idea, but I believe they’re on the right track.

To Summarize, all teams have made great progress so far, fluently shifting from the brainstorming part towards the actual establishment of ideas. If we carry on just as well as we have so far, I believe we might become ready even by Monday!

linked categories 2017a, Daily Log, Projects | Write a comment

Team 3 – Graff-O-Phon Technical Documentation

Published on: April 12, 2017 | Author: Florian Lehmann | Categories: 2017a, Projects


We started with a brainstorming phase after Bernhard announced the topic on day two of this “MIDI-Madness — creating a musical instrument”. Therefore we collected several ideas and picked the most promising:

Using old graffiti cans with different fill levels to produce sounds in analogy to a drum set.

Based on this theme we sketched first ideas on how to build the instrument and experimented with electronic actuators to test sound generation with graffiti cans, e.g. with servos and solenoids. We decided to use a solenoid to “shoot” on the plain metal surface of the cans to generate sounds. In total we used six graffiti cans and hit them along the vertical axis on two different position to generate twelve sounds.


Technical Construction

First, we had the idea of cans hanging down from a wooden construction but went on with a less complicated construction. We arranged the cans semicircular around the actuators, mounted with a self-designed construction made of acrylic glass. The cans are kept in place with two laser cut acrylic glasses: A base plate and a second plate with holes in it to hold the cans in their position. We used thread rods to align the plates properly.


In the center of the graffiti cans, we placed the stepper motor with the servo motor and the solenoid attached to it. Therefore, we glued the solenoid to the servo motor to control the vertical positioning and attached the servo with an offsetting wood construction on top of the shaft of the stepper motor. The whole construction, including the electronics, is screwed on two wooden plates.

From an creative perspective we chose an industrial look with strong links to the graffiti culture. We painted the wooden base with black graffiti ink and dripped color splashes on them.


Electronic Components

  • Arduino Duemilanove Micro controller Board
  • Bipolar Stepper Motor
  • Servo Motor 5V
  • Solenoid 12V (Push)
  • Pololu md18a H-Bridge Motor Driver Module
  • L298 Dual Motor Driver Module
  • MIDI In/Output Module
  • 2200uF 16V Radial Electrolytic Capacitor
  • Computer Power Supply (2 x 5V DC)
  • 18V DC Power Supply
  • 6V DC Power Supply



Core component in our circuit is the Arduino Duemilanove microcontroller board (we show a Arduino Uno, but it should work as well). The Arduino communicates with the MIDI I/O module on GPIO pins 2 and 3. In our case we only use the MIDI output functionality, which is the input for our instrument. On pin 6 we attached the servo motor directly and on pin 4 the L298N h-bridge that drives our solenoid. Pins 8 – 11 are connected with the Pololu md18a h-bridge that drives our stepper motor.

To supply sufficient power, we used a computer power supply with independent 5V DC supplies for each motor. Another 18V DC power supplies the solenoid. The Arduino gets supplied by a 6V DC power supply. All supplies share the same GND.

Source Code

Our source code is well commented and publicly available on GitHub: Graff-O-Phon Gist.

Final Graff-O-Phon


In Action


linked categories 2017a, Projects | Write a comment

Team 3 – Graff-O-Phon

Published on: April 12, 2017 | Author: Florian Lehmann | Categories: 2017a, Projects

YO! We are Matze and Flo, both master students in media informatics and human-computer interaction. As we are strongly influenced by the hip hop culture, respectively graffiti culture, we are very proud to introduce the world’s first midi-graffiti-can-drumset: The Graff-O-Phon.

The Graff-O-Phon generates sounds with a solenoid that shoots on graffiti cans and is attached to a servo motor (vertical movement) which in turn is mounted on top of the shaft of a stepper motor (horizontal movement). This way the solenoid is able to hit the graffiti cans on several positions. Depending on the fill levels of the cans and the hitting positions, we generate twelve sounds in total.

Enough said! Fasten your seatbelt and check out the video:

Technical documentation

linked categories 2017a, Projects | Write a comment

Team 1 presents: BoomBox – The Movie

Published on: April 12, 2017 | Author: Martin Gross | Categories: 2017a, Final Presentations, Projects

Find a more detailed outline of the project here.

Team 1 – Boom Box

Published on: April 12, 2017 | Author: Martin Gross | Categories: 2017a, Projects

The Boom Box, built by team 1 of the 2017A intake of SWH-students, tackles the proposed subject “MIDI Madness” in a very unique way. And in a very destructive one, nonetheless.

The basic idea behind this project is to not generate different tones by classical means like hitting objects to produce sound or by electronically producing them. Instead, it produces the sounds in a more destructive way: By employing small explosions.

When thinking about small explosions in electronics, capacitors come to mind as they tend to exhale their live quite easily and quickly when provided with a too high voltage. As popping capacitors this way is quite easy, we chose to go down that route. But it should be noticed, that emitting the “magic smoke” from electronic parts is not limited in any way to capacitors: Using resistors, LEDs and pretty much any other electronic part and a little too much voltage yields the same results.


Having decided on producing sounds by means of the “pop”ing of capacitors and other electric parts, we moved on to design a rig for this special type of instrument.

The easy way would have been to just use a handful of IO-expanders, paired to darlington transistor-arrays. This way, popping a component would have been as easy as switching a specific output-pin to cause the explosion. Using, for example, the Microchip MCP23017, we could have had 128 individual firing-positions: each IC offers 16 ports, whereas up to 8 devices can be daisy-chained onto on I²C-bus. This daisy-chain would have been connected to pins 20 (SDA) and 21 (SCL) respectively on the used Arduino Mega board (please note, that other Arduinos have different pins designated for the I²C-bus).

However, as this seminar was calling for creative use of available resources, it was decided to go down a more difficult route. In the end, our design consists of 5 identical rigs mounted onto a wooden board. The amount was chosen arbitrarily – given enough resources and space, even more rigs could have been made.


Every rig consists of only a few select parts: a stepper motor mounted on top of a wooden spacer, an acrylic disk mounted onto the steppers spindle and a electrical contact-system made out of foam, conductive tape and springs.

The stepper motor

Using provided parts, we chose the readily and cheaply available 28BVYJ-48 5V stepper motor, which is driven by a ULN2003 motor driver. Using the provided miniature PCB with the motor driver enables us to achieve very quickly results, as available Arduino-libraries may be used. Another advantage is that this stepper/driver-combination is only requiring 4 digital pins for control as well as 2 pins for power supply. Using a proper power supply, the latter two may be shared across all steppers. However, as the steppers do require an elevated amount of power, a separate power-supply instead of the Arduino-provided power should be used.

The acrylic disk

discThe acrylic disc is one of the central elements of our rig: It is where the tone-generating elements (the capacitors or – for testing purposes – piezos) are being attached to. By attaching this disc to the stepper motor, we can precisely control the position of the item, that is supposed to obtain the deadly amount of voltage. The pictured disc has been crafted to specifically fit the used stepper motor: not only the center cutout is matching the spindle of the stepper motor exactly, but also the amount of positions for the capacitors has been chosen with the technical data of the motor in mind: Knowing that each step of the motor turns exactly 11.25°, 32 positions had been chosen – that way every step will present a new capacitor to be electrocuted. The 11, 1mm holes per line provide a comfortable way to accommodate electric parts of different sizes and shapes – as long as they obey the 100mil spacing used in most electronic parts.

The contact system

contactfoamTrial and error drove us to use this specific setup to deliver the deadly amount of power to the electronic parts sitting on top of the acrylic disk. While two springs are mounted onto the base board underneath the rotating disc, a block of insulating, yet semi-flexible foam is attached to them. This allows for two degrees of flexibility: the foam is flexible enough to give way to the legs of the electric parts places onto the rotating disc while the springs act as a secondary safeguard if the foam happens to not be flexible enough.

Onto the foam, two lines of copper tape are applied – a narrower one towards the outside of the rotating disc, providing the grounding and a wider strip facing inwards for the destructive voltage. Making this secondary strip as wide as possible allows to accommodate different electric parts to be provided with the necessary voltage.

Wiring it all up

schematicLooking at the provided schematics, it becomes quite clear that not a lot of work has to go into the wiring of this device: In fact, the wiring is limited to connecting 4 wires per stepper to and the provided MIDI-interface to the Arduino, joining all ground connections and providing the necessary power supplies. In order to keep this devices as modular as possible, we opted in actually using three separate power supplies – but they could have been reduced down to one for sure. One power supply (+5V in the schematic) is used to power the Arduino, another 5V to 12V (Vss) is used to power the stepper motors. Lastly, Vcc/2 is used to deliver the deadly power to the capacitors riding the acrylic wheel. If one was to reduce those power supplies into a single one, caution should be employed: the explosion of the electric parts on the wheel may cause short circuiting which in turn may put the power supply out of service – either because of a blown out (poly-)fuse or bad craftsmanship.

Final thoughts

While this project certainly has been fun, it clearly has been a more of a demonstration how to quickly assemble a (more or less useless) device than producing a state of the art device with real-world usability. Just looking at the stability and precision of the device, it is clear that this device cannot be used for more than just demonstration purposes. While stepper motors offer some precision, the variances in the laser-cut discs is too high for 100% precise alignment with the electrical contacts underneath. Lastly it should be stressed, that this contraception should not be left unattended: While we only applied a minor amount of voltage to the contacts, theoretically even deadly 220V could be delivered. Either way it should be considered though that the spring-loaded mechanisms might touch and short-circuit, causing electrical damage or even fires. In short: this device is a nice demonstration of what not to build 😉


Arduino Sourcecode

linked categories 2017a, Projects | Write a comment

Team 2 | MidiMassOrgel

Published on: April 11, 2017 | Author: Manuel Hartmann | Categories: 2017a, Projects

Sketching with Hardware exclaims:

It’s time for madness – MIDI Madness!

So our answer is the MidiMassOrgel (MMO).

  • MIDI – Musical Instrument Digital Interface
  • Mass – In our case not really a Maß but at least a beer crate is used.
  • Orgel – An instrument that produce sound by channeling wind through pipes.

All this components combined create an instrument with monumental sound*!

(*That it could have, if the double action hand air pump would not be so noisy ;))

We built this beauty in roundabout a week full of blood, sweat and tears. With some throwbacks, the final version consists of seven pipes, whereas we initially planed it with 12 … However, space and air pressure problems made cutbacks inevitable. Such a shame … SAD!


Things we tried using for establishing constant air supply:

1st: Compressor – way too loud, unfortunately you could not hear the beautiful sound our tuned bottles make.

2nd: An air mattress with the crate on top of it, pushing out air – we had difficulties channeling the air such a long way through thin tubes.

3rd: A trash bag – bad idea, it just didn’t not work.

4th: Some sort of device to blow dry your bbq set – whatever the name is. Nice thing, works with batteries, not too loud but unfortunately also very weak.

5th: Finally, our tool of choice. An air pump, unfortunately not to use without physical effort and also quite loud, but for now the best option we had …

After all, we tackled and solved all the challenges like the air distribution and the pipe flaps to get the MidiMassOrgel up and running. Every traditional Bavarian will be ecstatic because of our neat design with the skyline of Munich and an alpine panorama. On top, we tuned the bottles with different water levels in order to play a full scale, starting with Mi … Fa, So, La, Ti and so on. Basically you could play every song you like (excluding half-tones so far) 🙂

You can read all the details on “how to build your own MMO” in MidiMassOrgel | The Missing Manual and check out the source code on GitHub.

Enjoy our gallery of making and creating this wonderful piece of midi mess, uhm … art!


linked categories 2017a, Projects | Write a comment

Day 1 – let’s get the party started!

Published on: April 11, 2017 | Author: annabelle.bockwoldt | Categories: 2017a, Uncategorized

The first day at this year’s Sketching with Hardware at the Media Informatics Lab of the LMU Munich.

The lucky students who happened to end up at the 2nd floor of the faculty’s building at Amalienstrasse had to overcome several obstacles first:

1st: Cruel darwinism took its toll. Unfortunately not everyone who applied got accepted (acceptance ratio of 1:3).

2nd: You have to pass the Chamber of Secrets while walking upstairs (there really is that mysterious door with exact that name tag on it) …

The students had the chance to switch partners according to tech-savviness and artistic talent (it was required and also recommended to team up in this formation) and then the class could finally start: Bernhard Slawik introduced the basics of electrical engineering – with the help of Marinus Burger – to his audience of 16 teams à two people.

To keep the course interactive and more fun, the students were soon allowed to dig in the “trash box” which was filled with bizarre leftovers from previous workshops and looked like a personal “build your own Frankenstein” kit.

On top, the basics of “Keyboard Hacking” were introduced and the students encouraged to build their own hacked device by implementing some sort of joystick or any other interaction device, which would allow to manipulate a simple browser web game.

The intro to this electrical engineering/ keyboard hacking workshop ended with all the teams showcasing their ideas. Most of the teams chose the Dinosaur Game, which is another one of Google’s famous easter eggs, hidden within the Google Chrome web browser, when you don’t have any Internet connection (try it, it’s fun!). One team came up with a springboard, when you jump on it, the dinosaur jumps across obstacles. Another team built a joystick from a dog puppet – whenever you’d lift the dog, the dinosaur would jump as well.

After all, the students had a great day with plenty of new learnings and insights and can not wait for the next day, where finally the topic for this year’s Sketching with Hardware will be revealed! Stay tuned 🙂

linked categories 2017a, Uncategorized | Write a comment

The Servo Guide

Published on: April 11, 2017 | Author: Nedko Chulev | Categories: 2017a, Uncategorized

1. Introduction and basic components of a servo motor
2. Weight
3. Energy consumption
4. Gear types
5. How far does the servo turn?
6. How does the servo move?
7. Digital or analogue
8. Servo project ideas
10. Additional information


1. Introduction and general components of a servo motor

What do your robot girlfriend rolling her eyes at you and an RC airplane have in common?
They both use servo motors! The only difference is that one uses them for motion and the other one for emotion. /ba dum tss

Jokes aside, servo motors are really useful and the limit to their use lies even beyond the sky! Through a well constructed Google search, I’ve discovered that servo motors were used by NASA and we know for sure that NASA is aiming way past the sky.

Now, before we jump into any freaky ideas, let’s understand what a servo motor really is.

“A Servo is a small device that incorporates a two wire DC motor, a gear train, a potentiometer, an integrated circuit, and an output shaft.”


Alright, now you go out there and make robots!… No, really, it may sound confusing at first but it really isn’t! Let’s dissect the above sentence to get a better understanding of what a servo is:

A small device – most of the time as big as a walnut but can be a lot bigger.
It incorporates a two wire DC motor – ‘member those toy cars you’ve taken apart for science when you were a kid? A two wire DC motor is nothing more than the motors those toys use.
A gear train – A cogwheel. A round piece with teeth. A toothed wheel if you will.
A potentiometer – This can be its own conversation but simply put it’s a spinning knob (like the ones you have on your oven for the temperature control or your audio system’s volume control) which can be used to control voltage or frequency. A servo motor uses the potentiometer to measure the position of the servo, which is controlled by the next component.
An integrated circuit – Another component that is a science in itself. You can think of it as the brain of the servo, which takes input (for example from an Arduino) and tells the motor to move. If you’ve been wondering why your servo has a 3rd wire other than the power and the ground ones – it is there to enable the communication between the brain of your servo and your Arduino.
The output shaft – The complicated way of describing the actual part of the servo that you’re going to use in your project – the hole with the part that will spin around.

That is basically what a servo consists of but you might want to learn a bit more about those nifty little guys.

2. Weight
A servo’s weight determines it’s category (at a corresponding price, of course) and what projects it can and cannot be used for. Do keep in mind that size doesn’t always mean everything, as servos generally consist of 2 types – those that are created for the purpose of speed and those that focus on torque. Naturally the first sacrifices torque and the second speed. Think of them as of athletes. Those that can run very fast are pretty skinny and thus cannot lift heavy weights. Those that can lift heavy weight are pretty bulky and can’t run as fast. Just to give you a general idea though – the very teeny-tiny servos weighs about 1.5g (0.05 oz) and the hulks among the servos can be as heavy as 80g (2.8 oz).

3. Energy consumption
Servo motors usually need between 4 and 6 volts. The very very small ones can run off of as little as 3.7V whereas the larger ones require between 4.8V and 6.0V. Another cool thing to know about servo motors is that they will consume as much energy as they need to move whatever it is that you have attached to them. So not only do they serve you great work but they are also energy efficient and thus care for our planet.

4. Gear types
Depending on the price you are willing to pay(and wether you want your project to be a total overkill) you are given a choice between a few different types of materials for the gears of the servo motor:

  • Nylon – the lowest price point servo motors (you probably thought that’s plastic anyway)
  • Karbonite – a slightly better option which offers more stability and longevity (can lift heavier than nylon ones and will likely last longer too); also generates less noise when operating in case that buzzing’s driving you crazy
  • Metal – will wear out faster than nylon but can withstand much heavier lifts
  • Titanium – very durable and robust – basically THE overkill for beginner projects but crucial if you need a near 100% reliable servo in your project

5. How far does the servo turn?
Something to keep in mind when using servos is their travel distance. They are usually built to turn in the range of 0° to 180° (in reality it’s from -90° to +90°) and are typically physically limited by the way the gears are built (it can be manually modified but don’t bother – it’s not worth it). Servo motors save even more energy by only investing their full potential when they have to move a long distance. For smaller movements they simply run at a slower speed also known as proportional control.

6. How does the servo move?
The actual movement of the servo happens after its “brain” sends out electrical pulses of different length to the motor. Imagine the range of degrees the motor can move as a scale for the duration of the pulses that are being sent from the integrated circuit to the motor. The integrated circuit checks the current position of the potentiometer against what is being sent and adjusts it accordingly if there is a difference from its current position.

7. Digital or analogue
The only difference between a digital servo and an analogue one is the frequency at which the impulses are being sent. Analogue servos have around half the “refresh rate” of a digital servo thus making the digital servo a more precise companion. Analogue ones send out impulses at a rate of 50Hz whereas their digital counterparts do so at 100Hz. The “only” advantage this has is for projects that require “smoother” or very precise movements.


8. Servo project ideas
That’s pretty much everything you might need for your first (or second) project. The only question that may remain unanswered is what to use servos for?! Fear not, I’ve compiled a highly scientific, futuristically innovative list of 13 ideas for your future project(s) below:

1. The self-turning door key

2. The back-scratcher

3. The toilet paper dispenser

4. The beardcomb

5. The nay-nay

6. The candle lighter

7. The meal-chooser

8. The guitar player

9. The “hold my beer”

10. The GLaDOS

11. The DeLorean

12. The “Let there be light”

…and of course…

13. The emotional robot girlfriend


10. Additional information (did you notice yet?)
Of course there are countless places where a servo could be put to good use and this guide may not be of any help for your super-duper advanced project. If you’re curious how to integrate a hardcore servo motor in a NASA’esque project and travel light years through time and space…

…then all the information about servos you need can most likely be found here.

Happy tinkering!

linked categories 2017a, Uncategorized | Write a comment

Day 8

Published on: April 11, 2017 | Author: Matthias Geiger | Categories: 2017a, Daily Log

Monday, 3rd of April was the last day before the final presentation of every instrument and nearly every team struggled to get everything done in time. A piece of good news: the MIDI ports, which were believed to be broken seemed to work fine in the end. All in all it was a successful day with a lot of progress for each team.

To get a general overview, all teams were asked for a quick status report and some stress level measurements on a scale from 1 to 10 (hard to observe) had been conducted, which show a rather decreasing trend throughout the day, but certainly there would been some exceptions and outliers.

overall stresslevel



Team 1 – „Boombox“

With an initial stress level estimation of “no idea” / 10 (now defined as -1 / 10 for all times), the guys seemed to be pretty relaxed and showed a good progress in exploiting the advantages of explosion. The fusion of the base plate and all electronic parts was nearly done in the morning. For this day, the team planned to improve the control code for the steppers (running the spinning slabs with explosives) and append the provided code for the MIDI-controller. Later on, they planned merging the new MIDI code with the improved control code and packaging everything in a foolproof manner, to conduct some final tests to produce preferably loud detonations.



At the end of the day, the stress level exploded to “zero f***s given” / 10 (equals -2 / 10), although I’m not sure, if I interpreted this statement correctly. The two blasters still imposed pretty confident – and rightly, they progressed pretty well. For the interview, I got them right at moment of the drum machine’s finalization. The adjustment of the spinning plates was finished and their sketch’s code was already extended by the MIDI part. For the next day, they planned to “just look what’s happening” and take it easy.




Team 2 – “MidiMassOrgel”

Rather relaxed and with a stress level of 2 / 10, Team 2 started to install all servos that control the opening and closure of each bottle with a beer mat placed above the bottlenecks. Another job was laser-cutting a wooden skyline to add some more Bavarian look to the scene. A mentioned problem was the production of an appropriate air stream to power the pipe system for seven bottles and they solved it with a hand driven solution including a strong (and sober) person serving an air pump. Getting their laptop’s energy supply from home, properly tuning all bottles with different fill levels of water and merging all parts together had been mentioned as some important tasks for the day.



With a large progress and a slightly decreased stress level of 3 / 10, Team 2 was ready for beer o’clock. They managed to attach all servos and finish the harmonic tuning of the beer organ. Even the forgotten power supply was brought by a team member’s helpful girlfriend, so they were able to optimize their Arduino sketch’s code. At the end of the day, everything was properly merged and connected, so they might have some free time to attach another pipe for bursting bottles the next day.






Team 3 – “Graff-O-Phon”

With a stress level of 5 / 10, Team 3 was highly motivated to fixate their instrument’s robot construction on the base plate which was going to be varnished that day. The robot consists of a stepper (horizontal movement), a servo (vertical movement) and a solenoid, which shoots out a metal “drum stick” for playing tones on spray cans with different (wrecked) forms and fill levels. Other tasks for this day were merging the code for the MIDI input with the control code of the robot, adjusting some fine-grained settings like exact angles (horizontal, vertical) for the sound positions on the cans, and re-shaping some cans to generate different sound styles and pitch levels.




In the evening, the stress level heavily decreased to a chilled out 1 / 10, because the fusion of all parts could be finished during the day. All instabilities could be fixed with a good deal of hot clue, what had resulted in a solid robot structure and some burned up finger tips. While shaping the spray cans, the guys achieved the insight, that the sound design should rather be going into a “drum” kind of direction than trying to force it being a melodic instrument. About 95% of the coding was finished – the only thing left to do on the next day was extending the code with the exact values for the stepper and servo for the “sound positions” on the spray cans, they planned to use for the presentation.





Team 4 – “OctoRocks”

Spreading an upbeat mood and a stress level of 3 / 10, Team 4 started working on their guitar playing octopus. The basic construction with twelve sounding boxes for different tones was nearly done and the Arduino sketch’s code for the controls and MIDI input was ready to use. The overall look of the structure created the impression of nearly being finished with it. Pending tasks for the day were finishing the instrument’s elaborate octopus superstructure made from polystyrene, attaching all servos after equipping them with little picks to play the sounds and cleaning up their workplace.



In the evening, the stress level went slightly up to 4 / 10 through increasing excitement within the team. Team 4 managed to attach all of their servos, tune their sound boxes and successfully tested their MIDI input by controlling all of their servos. Sticking together the several parts of the octopus with glue was the only task left for the rest of the day. For the next day, they prepared for conducting some tests and eventually handling some upcoming bug fixes.





Team 5 – “Hangsome”

Confidently and with not more than 2 / 10 stress level points, Team 5 started the day with a finished wooden base construction for their instrument, which already contained some of the servos and conductors, they use for tossing everyday objects against small metal plates to create special sounds. For the rest of the day, they planned to accomplish the fusion of all elements and connect all of the electronic wires – especially buttons (or conductors), which can be connected by a metal ring. Two are better than one, so this instrument is designed to be played by MIDI input and directly by hand.



All conductors for playing the tones by hand were successfully connected and the servos have been turned around by 90° for a better force distribution and utilization, what furthermore eliminated an annoying buzzing sound. This lead to an even smaller stress level of 1 / 10 in the evening. A bunch of other objects has been varnished and added as well. On the last day, Team 5 wanted to shut the electronic interior by adding some more wooden elements to the frame.





Team 6 – “Merry-Go-Round”

With a medium amount of stress (5 / 10), Team 6 started to work on their project’s centerpiece – hooking up their Arduino and bread board with their construction consisting of a stepper and servo for moving a wooden drum stick horizontally and vertically. Further plans were building a roof construction, merging the robot part with the wooden base, and bringing some light into the scene using multicolored LEDs.



Finally, Team 6 ended up with a pretty low stress level of 3 / 10 and a lot of finished work: The electronic parts had been attached to the base part and a separate handcrafted roof part was ready to use. The LEDs and some “shining” code were added, but they mentioned some problems finding an appropriate stepper speed or rotation angles for the servo to properly hit the sounding objects. On the next day, they planned to implement the MIDI code, mounting the already finished roof of their roundabout-like construction and giving it all some fine grinding.





Team 7 – “Smoke on the floppy”

Bringing along a stress level of 4 / 10 in the morning, Team 7 was able to build on a finished base construction showing a floppy drive’s motor hooked up with an Arduino board. The day’s outstanding tasks were implementing the control code for the floppy to create sounds, enabling keyboard input for a bunch of notes, scripting a low level sequencer for midi patterns and packaging it all up somehow.



A very short but tremendous growth of x > 9000 / 10 was followed by a still high 8 / 10 and the outlook for a night shift. A lot of coding still had to be done and there would been rumors that the whole thing morphed into a software project. Nevertheless, they managed to map the keyboard as a MIDI input device for the Arduino and they were actually able to play some tunes, before they left for a break before the night shift with confidence. The plan for the next day was said to be EVERYTHING and some design related tasks plus bug fixing.





Team 8 – “Candy Machine”

Although Team 8 announced an illogically high stress level of 11 / 10, they were of good cheer to work on their project. At the beginning of the day, they were out of some of the electronic parts for their construction, especially solenoids. For this day, they planned some further test runs after improving their Arduino sketch, inventing a mechanism for collecting the marbles creating the tones of on the pimped up xylophone, and adding some LED ambient lights to the construction for a colorful style.



In the evening I was told that “panicked relaxation” can be roughly defined as  √12 / 10 on a stress level scale. The control code was completed and tested successfully and a well working mechanism for holding back the ready-to-shoot marbles was included. Last but not least, the LEDs had been added for creating a cool background light behind the laser-cut of the logo. On the last day, they planned to get all the electronic party in place And give it all a roundup.



linked categories 2017a, Daily Log | Write a comment

« Previous Posts |