Reuse, Reduce, Recycle → Upcycle

This year’s workshop theme was “Reuse, Reduce, Recycle”. So basically the idea is to create new devices that use parts of or consist of electronic scrap. Another interesting idea is to upcycle things. Upcycling takes old items and enhances them in some way, either by improving purpose or by getting it all in a whole new context. So we searched basements, drawers, boxes, flea markets and the internet to find stuff that could be fun hacking.

Idea

The idea we have chosen for our project started with a walkman: many of us have one at home and it is hard to throw it away, because it often has good childhood memories attached to it. On the other side a walkman has all controls that are needed to control a music player (Play/Pause, Next/Previous Song, etc.) so our plan was set: let’s build a remote for your computer’s music player that is inside an old walkman. It should contain all the basic functions needed for that: play/pause a song, switch between songs and adjust the volume.

Initial Idea.

Initial Idea.

Our basic idea impressed the participants and the persons in charge the most among all of our ideas we presented on Day 3. So in the brainstorming session we refined our expectations on the prototype and developed further ideas that could be implemented within the small case of the walkman. Some of these creative new facts were to turn the remote in a music streaming device, adding a sleep time or even fitting the whole setup in a cassette (this idea is further explained in the last section of the post). After the creative part of the brainstorming and the presentation of our poster we got to the point of considering technical issues and what can be realised within such a small box casing.

Results of our first brainstorming.

Results of our first brainstorming.

After we first wanted to create our own infrared sender to copy the signals sent out by an Apple remote, the other participants hinted that a wireless connection can be done by hacking yet another keyboard, but this time with a bluetooth sender. More technical issues were discussed like what kind of buttons could be used to trigger commands, how the device could be supplied with power and if the connection between the remote and the computer should be uni- or bi-directional. Having clarified the technical setup we had to obtain all parts we needed. Our shopping list contained a bluetooth keyboard and a bluetooth adapter for headphones. We found the most important part, our walkman, on eBay. A very friendly old man was giving it away for free and as he was located within a half an hour bike ride, we had everything we needed for the project ready.

Getting Started

Similar to the exercise of Day 1 we decided to hack a keyboard controller. As our remote should be wireless we got a bluetooth keyboard and disassembled its controller. Our next objective was to find out the pin combinations for all the keys we needed. We used a systematic approach so that we could easily remember and note pin combinations.

Approaching pin combinations systematically.

Approaching pin combinations systematically.

In the progress of our project a major issue of the keyboard hack was that the media keys of the keyboard and the shortcuts to control the computer’s music player can only be fired by connecting a combination of key-pairs (e.g. Fn + F8). One way to achieve this would be to permanently activate the Fn key. This solution was however not satisfying to us as it would mean that the bluetooth controller permanently fires this key, possibly reducing battery life. Our second approach was to connect the pin combinations for both keys simultaneously via transistors. After some unsuccessful attempts we found out that this approach works, but requires good timing: if the time interval between both keys was a bit to big, the combination was not triggered. Firing the function key a bit longer than the modifier key (as you do with a real keyboard) worked perfectly.

First steps: speaking to Spotify through an Arduino.

First steps: speaking to Spotify through an Arduino.

Stripping the Walkman

When we first opened the case of our walkman, we were pretty impressed. It contained a board with loads of capacitors, switches, resistors and mainly everything that is need for radio reception. The soldering joints looked crafted. There was a lot of manpower involved when the device was built back in the last century. Under that board a lot of mechanics revealed that we needed to dismount in most parts. After a session of screwing, cutting and removing parts the case was finally stripped to its bare minimum.

First looks at the walkman's inside.

First looks at the walkman’s interior.

How does it work?

Our device contains a bluetooth keyboard controller that can trigger certain keys when the right pins are connected through a power circuit. In some cases (like the play/pause key) we could directly close the power circuit by mechanical movement of the walkman’s buttons. In other cases where key combinations and software logic were needed (like the text-to-speech feature) we used the Arduino to close the circuits programatically by setting transistors to high and low.

Major components: 9V battery, Arduino Uno, soldered board with transistors, bluetooth controller.

Major components: 9V battery, Arduino Uno, soldered board with transistors, bluetooth controller.

Bluetooth controller with first wires soldered onto it.

Bluetooth controller with first wires soldered onto it.

Arduino Uno hooked up to bluetooth controller, buttons and transistors.

Arduino Uno hooked up to bluetooth controller, buttons and transistors.

The power supply is a 9V block battery that is connected to a switch which closes the circuit to the Arduino. With the Arduino being powered we could also supply the keyboard controller with its 3,3 V output. The bluetooth adapter for the headphones can be connected by turning it on in the cassette case.

On the software side of the project we needed Arduino code to evaluate control input values and to trigger key combinations by controlling transistors. Furthermore some scripts on the computer enable us to define the output of the key combinations sent from the walkman’s bluetooth. Thus the project is not fixed to controlling a certain music player, like Spotify, as we can change the commands with our script. Additionally we created AppleScripts which allow to change the computer’s audio output device (between line-out and bluetooth headset) and to parse the currently playing song for text-to-speech.

AppleScript which parses and speaks the current song.

AppleScript which parses and speaks the current song.

Challenges

The biggest challenge for the project was to always keep an eye on the limited space the walkman offers. The very first step was to get rid of all unnecessary parts inside. Then we had to plan, where to place the bluetooth keyboard controller, the Arduino and the bluetooth headset adapter. Available space was further constrained by our wish to have an all wireless self-contained prototype which meant that place for a relatively big 9V battery was needed. Even though it was dimensioned for two AA batteries, we fortunately managed to fit our 9V block into the original walkman battery slot with some force and a rather big saw.

One solution to save space would have been to switch form our Arduino Uno to a smaller version, the Arduino Mini. This one has no USB connection so it can only be programmed via an additional programmer module. In our considerations we got to the point that the Arduino Uno could perfectly fit at a certain spot in the Walkman’s case and so we decided to focus on getting the rest of our work done first.

Another challenge was to tell apart all the different wires. As we expected to have a big chaotic bundle of wires packed in the small box casing in the end, we started to colour-code each wire depending on its function early on. That way it was relatively easy to connect the correct wires in the final phase.

Final Prototype

Final Prototype

Going one step further

An ongoing idea from this project is to scale down all of the functional parts of the device so that it could fit in a simple audio cassette. That way every unused cassette player could be upcycled to a music player remote simply by inserting the cassette.

Thomas Burghart and Maximilian Walker
{lastname}@cip.ifi.lmu.de

Advertisements