lip 062016
 

Remember the famous floppy drives? They’re back… with multiplied force (yes, THAT „force”) and some friends!

I have bought some more drives in order to expand the previous project back in 2012, which spent four years in a carton box. Together with new floppy drives, some more hardware has arrived: hard disk and optical scanners. Now I have the whole computer hardware orchestra – 64 floppy drives, 8 hard disks and 2 scanners – The Floppotron.

How does it work? The principle is simple. 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.


        
Scanner and disk head controllers share the same base with floppy controllers, but have a different „instrument interface”. For driving the coils, I used 2 push-pull outputs (H-bridge) built with discrete SMD MOSFETs. Scanner head controllers were built using of-the-shelf boards – an Arduino Uno (firmware also builds for ATMega328 using AVR-GCC / Atmel Studio; none of this Arduino crappy software and libraries was used) and L298 breakout to save time needed to draw and etch the boards. PC interface (another Arduino board) receives the data over UART (USB-UART), buffers the messages and keeps the timings while passing packets to „musical instruments” over SPI interface, so a Windows hiccup will not affect the playback. It can also be driven by anything else like Raspberry Pi, Android smartphone (with USB-UART or UART-over-Bluetooth adapter) or another microcontroller.

Host application was written in Python 2.7. I wrote it mostly on some boring lectures when I was still studying at the university, so it’s a one big mess, but… at least it does the job. It parses the simple language used for writing note sequences arranged in tracks tied to a specific controller / channel and merges those parallel tracks into one command list which is transferred over COM port. It can also partially generate „song script” from MIDI file which speeds up the „song porting” process.

Like the project? Here’s some another records.

  262 komentarze to “Return of the Floppies”

  1. I love the way people think this stuff up! It’s genius. NUFF SEDD!

  2. […] how Pawel Zadrozniak built his “orchestra”: Return of the Floppies. He has videos of dozens and dozens of songs, the most recent is Africa by […]

  3. there where some of the first, recordable keyboards, in the age of analogue, that played, a prerecorded tape track, by pressing a keyboard key, and it was just small length a magnetic audio tape, pulled over a tape head as the key was pressed, and to it time, 8-10 second was the max if that in one key press, and it would need time to rewind tape for second play, of the key note after that too.

  4. […] lea una explicación más larga en el sitio web de Zadrożniak, pero la mayoría de la gente probablemente no necesita saber cómo se hace la salchicha, solo que […]

  5. […] あなたはできる Zadrożniakのウェブサイトでより長い説明を読む、しかしほとんどの人はおそらくソーセージがどのように作られるかを知る必要はありません-それは絶対においしいということだけです。 ソーセージsmörgåsbordからの別のいくつかのサンプルは次のとおりです。 (adsbygoogle = window.adsbygoogle || []).push({}); […]

  6. […] 할 수 있습니다 Zadrożniak의 웹사이트에서 더 긴 설명 읽기, 그러나 대부분의 사람들은 소시지가 어떻게 만들어지는지 알 필요가 없을 […]

  7. […] lea una explicación más larga en el sitio web de Zadrożniak, pero la mayoría de la gente probablemente no necesita saber cómo se hace la salchicha, solo que […]

  8. […] rendition of Toto’s Africa using old floppy drives. He goes through the process on the blog Silent.org.pl:Every device with an electric motor is able to generate a sound. Scanners and floppy drives use […]

  9. […] ide viac do technických detailov Floppotronu na jeho webstránka, tak si to určite pozrite, ak budete mať […]

  10. […] kan läs en längre förklaring på Zadrożniaks hemsida, men de flesta behöver nog inte veta hur korven blir gjord – bara att den är helt underbar. […]

  11. […] tonos o incluso música, pero … eso sería demasiado fácil y demasiado obvio «.Usted puede lea una explicación más larga en el sitio web de Zadrożniak, pero la mayoría de las personas probablemente no necesitan saber cómo se hace la salchicha, solo […]

  12. Curious if you need to take into account the scanner position, should you need a longer sustained note. Say for a 20 second note, you may need the scanner at one of the end stops for the scan head, in order to create a 20 second high pitched note. Or maybe you have never run into this type of constraint in your music programming.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>