We wanted a Christmasy version of this: https://www.youtube.com/watch?v=cM_sAxrAu7Q
What it does
Plays music by pulsing the stepper motor driving the floppy driver read-write head at the specific frequency of the note we want to play.
How we built it
We power it using a hacked apart and soldered ATX power supply four pin power cable, and we are using an Arduino to pulse the motor control pins on the data connector of the floppy drive, and we flashed the Ardiuno with the music as part of the instructions.
Challenges we ran into
We wrote a system to stream audio over USB from a computer to the Arduino, but we then discovered that our USB-serial adaptor is broken, so we have no way of communicating with the Arduino without connecting a laptop to the same Arduino microcontroller that's connected to an ATX power supply, which we suspected could start a fire. (So we completely abandoned that idea).
Therefore, we tried to make a MIDI interpreter in Python to convert MIDI audio instruction files into a list of notes and their durations, but we didn't manage to get it working in the time. Our demo involved music flashed onto the Arduino, which is not the most elegant way of communicating with it but we got the speakers working so we wanted to demonstrate that.
Also, the sound is really quiet, so we made some hollow boxes that slightly improve the volume. We experimented with drinks cans but we found them to be less effective and sharper to work with.
Accomplishments that we're proud of
- Making a floppy drive play music without needing to take it apart.
- Writing a very nearly functional MIDI parser
What we learned
- To test serial adaptors before we spend a while programming whilst assuming they'll work
- About the innate simplicity and hackability of the humble floppy drive