Playing music using floppy drives

The Moppy project, which enables an Arduino to use floppy drives to play music, is something a lot of people have tried, but I was not comfortable with installing Netbeans to run the Java app. Instead, I built my own system from scratch.

I used my NXP LPC1768 dev board “LandTiger” for all the complex stuff. It had the MID file in its memory as an array, parsed it and sent the notes over SPI.

A Micronova Mercury FPGA board received the notes and generated the waveforms to play the notes. I used an FPGA so that I could utilize its parallelism for the waveforms and to prevent my VHDL skills from rusting. A neater way would have been to replace the microcontroller with a softcore one inside the FPGA, but I didn’t feel the need as I was just dicking around.

Regrettably, this video is the only piece of evidence I have left. Well, the system consisted of a lot of software and a few wires, so there was nothing much to see.

Transmitting audio using light

I’ve wanted to try transmitting audio using light for a long time, and this afternoon I finally tried it. To modulate the beam I shifted the MP3 player output using a MCP602 op amp. 3 V +/- 0.3 V seemed quite ideal. I generated the 3V reference using a zener diode (the current limiting resistor doubled as the R4 of the aforementioned level shifter circuit). This level shifter is in the left side of the picture.

Audio transmission setup

The receiver circuit (top right) consisted of a phototransistor with a few passive components for setting the current through the transistor and a high pass filter. I amplified the signal using a TBA820M amplifier chip (in the middle) and used an 8 ohm speaker for output.