Every device with an electric motor is able to generate a sound. Scanners and floppy drives use stepper motors to move the head with sensors which scans the image or performs read/write operations on a magnetic disk. The sound generated by a motor depends on driving speed. The higher the frequency, the greater the pitch. Hard disks use a magnet and a coil to tilt the head. When voltage is supplied for long enough, the head speeds up and hits the bound making the „drum hit” sound. The disk head coil can also be used as a speaker to play tones or even music, but… that would be too easy and too obvious.
Every column of 8 floppy drives is connected to one 8-channel controller built on ATMega16 microcontroller. One controller acts as one voice with envelope simulation – the higher the volume, the more drives are playing. This allows to make ADSR-like shape and simulate a musical instrument, like a piano (exponential decay) or string instrument (sine, „vibrato”). The boards which were made a few years ago, were designed as a stand-alone „players” with optional USB-to-UART bridge and was not intended to be chained. My goal was to re-use old stuff and get the job done as fast as possible, so I used the on-board ISP (which in fact is a SPI interface) connector to link 8 drivers in a SPI chain. Long SPI chain with unidirectional communication is not an example good and reliable design, but it did not require any hardware modification and took a minute to build a controller network, so let’s call it… good enough for this kind of project.
Read more! If you aren’t a fan of Toto there are even more videos of the Floppitron playing a variety of songs
Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.