floppy
floppy disk jukebox
the disk
recently at work i've had to use floppy disks - the 3.5 inch, 1.44 MB plastic rectangles from the 80s.
younger people might never have even used one of these disks, which were so ubiquitous at their peak
that we STILL use a floppy disk to represent the "save" icon in thousands of GUIs.
i want to do something... stupid with them.
humans love tangible things, even if equivalents are better in every way; just look at casettes, vinyls,
even old iPods over streaming audio off your phone. It's worse in almost every way, except silly human
brain go "oooo" - why can't floppy disks be the same?
the plan
they're 1.44MB - this is *just* big enough to fit a VERY compressed mp3 file, and what's better than
only being able to fit one song on each disk? (this is such a stupid idea).
i want to keep this project absurdly simple too - if i'm going to make a jukebox floppy disk player,
it's not going to have play or pause, no FF or RW, and to "skip" a song, you'll have to change the
disk
yourself. It's definitely going to be a gimmick, but so is using vinyls in 2023!
it needs some kind of output, other than audio, so a small 16x2 LCD should fit the theme - It'll show the status of the player, and current song metadata.
the hardware
here is every component needed for the simplest version:
- Raspberry Pi (any model)
- 16x2 i2c LCD Display (larger ones work too!)
- USB floppy disk drive
- some kind of chassis or frame (optional)
the floppy drive plugs into the Pi, the LCD display to the GPIO pins, and all the Pi needs is power and aux out connected. At the moment I have no plans to include any buttons or dials (although i did draw them on the diagram!)
the software
there's a few ways this could go together on the software side, but here are the facts:
we have a floppy drive connected, and sometimes a floppy disk insertedm which may have an
audio file on it.
we want to make sure the disk is mounted, and if a valid audio file found to play it!
We could keep the audio file on the root of a formatted floppy, but this will lose some available space.
We could also write the audio file directly to the disk, but then we'll have issues with checking if the
file is valid and storing metadata too - standard DOS formatted floppies should be fine.
all we need to do is mount the disk and play the file - metadata can be read from a .txt and printed to
the display.
In the video above, I tested only two audio formats. MP3s compressed down to 1.44MB turn out to be
barely recognisable. MP3 really isn't meant for the modern world - so i tried the OPUS
compression format. It's designed for voice and streaming, but it performed very well with a significant
improvement over MP3. Unfortuately it's still audibly compressed, but that's a tradeoff i'm willing to
make.
prototypes
two functional prototypes, where the disk is autoplayed when inserted into the drive