A friend and I recently uncovered a 1992-ish PC, boasting 4MB of RAM, a nearly
500MB hard disk (aftermarket, we believe), and a dual 5.25/3.5″ floppy drive!
Stymied by the lack of a compatible mouse (as this was well before the era of
USB devices), we could boot from it, but not operate it. So after wondering for
a bit what we could possibly do with it, we decided to take out the floppy and
try to adapt it for a modern computer.
Of course, there do exist USB floppy controllers; however, as any enterprising
computer science students would, we wanted to build our own.
We started by breadboarding some circuitry along the breakout of the floppy
With some knowledge of the pinout—check
it out on the iPad in the image!—and the fabulous documentation available at
we started building the simplest circuit we could. Since we didn’t have an
actual floppy disk on hand, as far as we can tell we couldn’t run the drive
motor. (If this isn’t the case,
drop us a line!) Instead, we found we could
step the head in and out one track at a time using only the “Drive Select”,
“Step”, and “Direction” pins. After we figured this out using buttons, we wanted
to push the limits of this technology. We wrote a quick Arduino sketch that
started at 1 track per second and increased the frequency with a button press.
We found that the drive would work fine in excess of 400 tracks per second. But
what we also found was that (possibly unsurprisingly) it would emit tones at
the frequency it was being pulsed. So a plan was born.
This uses the
MIDI Arduino board
I’ve used for a few other projects. It takes MIDI in over
USB1 and if it’s in the range it handles,
plays the floppy drive, one note at a time. (Ideas on polyphony,
Since we use USB, we use SendMIDI to,
well, send MIDI to the device to play. Currently, we send single track MIDI to
play melodies like this recognizable one
full res on YouTube:
For this project, we took great inspiration from
Return of the Floppies—I
highly recommend you read it; it’s great!
We initially started this project using
hardware midi so we could hook this up to any MIDI controller (the
Pedalboard perhaps?) to make music.
However, we determined there are likely hardware issues with the board that
prevent us from doing this. We’re still attempting, so look for it in a future iteration! ↩
If you have any questions or comments on this project, or if you're about to
do or have done something similar yourself,
send me an email!
I'd be delighted to hear what you have to say.