Archive of February 2009
The alarm can!
My best invention ever!
Instead of the hassle setting that annoying alarm clock of yours; Let me introduce:
The alarm can!
When it’s time to wake up, simply turn the can and it will wake you up!
ORDER NOW!
I actually wanted to build one of these things, but lacking some material, this was the best I could come up with…
09:58 PM | 0 Comments | Tags: Projects, DIYHacking a portable cassette deck
Studying, the somewhat broad spectra of interaction design, I’ve started this semester with a course, locally called Physical prototyping 1 (there is also a 2!).
The course involves us getting an Arduino USB board, and spending a lot of time in the school wood workshop.
For our third project we decided to build a music instrument. Electronic, of course. Fantasising away on the amazing sounds of the Piezo-speaker.
It did not end up quite as we fantasised. The amazing sounds of the Piezo-speaker can, it turns out, easily get really monotone to the mind. So we thought of the idea of using an input of some kind and simply tweak the input data before putting it out again.
Looking for the cheapest possible solution we looked to the option of hacking some already existing machine, without having to purchase extra equipment for the Arduino.
The portable cassette deck were found in a second hand shop and costed us 25 sek (no it’s not a Walkman, it’s an Yusan). And it turned out to be relatively easy working with. Following is some rough guidelines for doing an exact copy of our prototype.

Do note:
If you, by the time of reading this, is a complete stranger to me, sitting with your newly acquired Arduino and some screwdrivers, ready to hack away on some electronic device. Know that I am a total beginner and have no idea what I am doing or even should be doing.
We also learned along the way that on the circuitboard found in this little gadget there were, easily recognized potentiometers (like small plastic screws in cheerful colors). Turning those might do things (not on our machine since we’d already killed it and revived it like, twice, before knowing), possibly exactly what we did, but better, faster and easier…
Also, check out the tape-stuff at Little-scale.
Alright, first off you need to open up the player, preferably with care and a screwdriver, but mindless violence might work.
Locate the motor which runs the tape, it will probably (hopefully) be a simple DC-motor. The motor runs through two wires, cut ‘em up! We had to solder some extension wires on to be able to hook them up on our breadboard. In my experience (which on the other hand is slim to none), cables in this kind of apparatus tends to be rather weak (and old), so while you’re tuned into soldering, it could be a good idea to enforce the soldering, or maybe re-solder the ones leaping an apparent risk of being accidentally torn off.
To control the speed of our DC-motor from the Arduino we need to use one of the PWM pins, for example: 9. The PWM allows us to send a value in the range of 0 – 255, instead of the “HIGH” or “LOW” (1 or 0) used in the other digital pins.
Since the Arduino cannot handle the amount of current needed for running a motor, a transistor must be used. To pull it off we used a BC547 transistor and a 1k resistor. There are surely some better adapted equipment for this, but this worked and was close to hand at the moment.
Hook the middle pin of the transistor, through the resistor, to the PWM pin of your choice. The left pin of the transistor (if you’re facing the flat side, let’s not get too technical here, of a BC547) goes to 5V on the Arduino, and the right one to your motor, and from the motor to GND.
By sending out different values to the transistor you should now be able to control the speed of your tape. Values below 80 seemed to bring our motor to a complete stop. Possibly cause it couldn’t manage running the whole set of cogwheels located in the belly of the deck.
If you want to control the motor speed with an analog sensor, like, say a potentiometer or a LDR (light dependent resistor). Simply wire the sensor to an analog pin in your Arduino. Read the value with analogRead() and map the value to suit your motor (for us: 80 – 255).
By cutting the wires power-supplying the rest of the cassette deck (excluding our newly hijacked motor), and re-wiring them in a similar fashion to the previous motor-wiring: PWM pin to BC547 transistor, from 3.3V to the transistor, from the transistor to “the rest of the deck”, and from “the rest of the deck” to GND. We can now control the overall sound output by cutting, or limiting, the flow of power to the fresh machine cadavre. This can also be controlled with an analog sensor of course!
As a finishing touch we also wired the 3.3V output through a tilt sensor, allowing us to “turn the power” by tilting the package.
What it could look like:

(Yeah, we were lazy and took the easy way out by mounting it all on a breadboard. Our soldering-hands all shaky from caffeine and all)
This project really got me a taste for hacking and modifying stuff with my Arduino, and I’ll probably swing by my second hand store for more cheap electronics soon..
Do let me know if you have some thoughts. Or tips…
Update:
How it turned out:
And if you’re interested: The Arduino code (really basic stuff).
Update 2:
Added two pictures, as you can see we added a knob (which really made a difference! Every interface should contain at least one knob!).
The project is also mentioned on the Arduino blog.
Welcome to the new vmguld.se
We are currently testing a potentially new bloging platform.
Our goal is to provide more frequently and casual bloging.