Instructables

How to Make Musical Floppy Drives

Featured
Picture of How to Make Musical Floppy Drives






My brother posted a video about this on facebook almost a year ago. Some old floppy drives playing Bach's masterpiece Toccata & Fugue and it got me really interested. So I read about it when the author posted a how-to on his blog and did a couple of tweaking using SammyIAm's Musical Floppy program when the project gained a lot of attention.

WHAT YOU NEED

1) Arduino - Ideally, you need the Arduino UNO but any Arduino would work. You just need to tweak something in the program with the pin assignments. In this mini-project however, I used Duemilanove. It works almost accurately as Arduino UNO and I didn't have to tweak anything.

2) Floppy Drives/Disks - Any floppy drive would work but it's a lot easier to use the 34-pin simply because it's common. Other than that, you would only be needing to determine 3 pins from your floppy. Pin assignments are available online, particularly here. Furthermore, I was trying to acquire a 5.25 floppy drive but to no avail, and ebay sells them around $20 so I said never mind about that. As a result, this project is composed only of the 3.25 floppy disk drives. You also need some floppy diskettes for this project.

3) Power Supply - Again, it depends on you. You can use any 5-volt power supply available but since an ATX power supply is just lying around at home, I conveniently used it instead.

4) CAT5 UTP Cable - Only because of the wires. I want my wires to be color-coded.

5) Breadboard - If you want a solderless-free project.

6) Soldering Iron/Lead - For soldering the pins you would need to connect your CAT5 UTP cable to, but if you still have the flat ribbon cable then good for you. Might as well use that to make it easier.

7) Cutter, Phillips/Flathead screwdrivers - For dismantling purposes.
 
Remove these adsRemove these ads by Signing Up
compukit11 months ago
How many drives you can on an adruino to close and which pins do you have to use.
Thanks in advance.

You have to count your remaining pins

Analogue-Chick (author)  compukit10 months ago
Depends on the model of Arduino that you use, as for UNO, since you will be needing two pins to control a single floppy drive, you can connect up to 8 drives maximum.
cool thats the max drives i gone use :).
thnx :)
Analogue-Chick (author)  compukit10 months ago
Congrats! Hope you post your version here on instructables too. :)
i dont have everyting bad i can upload some imige from it :) hope you like it and i have to solder 2 drive the 11 e 12 pin bekose i forgot somting famalie say when i was a chld (all the botom pins are ground) and the 2 drive dont have te pin 11 bad thy workd :)
20130526_000557.jpg20130526_000322.jpg
compukit compukit10 months ago
hire is the schematiks i drow for the print (whel i modefide it after i have to repear a little mistake i maket ) now it is posibel to use a kabel that is strait or whit a twist in it.
voorbeeld music floppy drive print.bmp.bmp
Analogue-Chick (author)  compukit9 months ago
Thank you for this supplemental data. Will help many people who would want to try this out! Wish you could post your version of Instructables.
Analogue-Chick (author)  compukit9 months ago
Yay! Congrats!!! :D
D-I-O-N2 months ago

I got the rxtx error, but i don't understand how to get the files from the website into my own PC. I tried all kinds of stuff but I don't get how Github works, do you have to download the files??

Please help!!! ;)

greynolds63 months ago
I've got this successfully working with 6 floppy drives. No soldering required, just use jumper wires and a breadboard.

If anybody wants to check out my circuit diagram then it's here:
http://easyeda.com/6oGASrJDVd

It's probably not very good but feel free to improve it. I do believe it's pretty much correct. The best thing would be to make a proper edge connector soldered into place, rather than just pushed together.

YYMV however though because of the floppy drive types - some are very quiet!

The java software I've found it quite flaky and often crashes. Also more complicated midis don't even have a chance.
cadder5 months ago
can we program the microprocessor with PIC16F877 ?
najc12258 months ago
cant seam to download the moppy software any suggestions?
Nicola Tesla8 months ago
What would need to be changed to accommodate 4 floppy drives? (How would i get another pin to have output) I connected it to the next pin in line, and it didn't seem to work... I take it as probably because the code doesn't have it written for another pin? How would this be changed?
I made it with four, and had the extra connected to one of the other drives (Two floppies, same output) http://www.youtube.com/watch?v=VGtxO9Bie0k But i would love to have four floppy drives, with four different outputs...
ambrewer10 months ago
Would like to get this working, but despite plenty of googling around RXTX issues, I can't get Netbeans IDE to run the MoppyDesk due to a run time error:
"java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path"
ambrewer ambrewer10 months ago
Fixed as follows in Windows7 64bit: "copy rxtxSerial.dll into WINDOWS/system32"
ajv098710 months ago
So im using ribon cable and cat 5 ethernet. im confused because im hooked in to all the right pins but i cant get any of six different drive to step unless i get frustrated and i mash a big wire across the pins. this is frustrating
Analogue-Chick (author)  ajv098710 months ago
If you have a perfectly working floppy drive and you can't get it to step connected to your Arduino, try flipping the direction and step wires. Some floppy drives have their stepper motor in reverse, otherwise check on your connection as indicated in step 4. Good luck!
acuadras11 months ago
NetBeans is normal for a long afternoon to compile the MoppyDesk
compukit11 months ago
hi when i try to run the program in netbeans noting wil happen and i got this
ant -f C:\\Users\\game-laptop\\Downloads\\FD2U3TRH2MYKAEN\\MoppyDesk run
init:
Deleting: C:\Users\game-laptop\Downloads\FD2U3TRH2MYKAEN\MoppyDesk\build\built-jar.properties
deps-jar:
Updating property file: C:\Users\game-laptop\Downloads\FD2U3TRH2MYKAEN\MoppyDesk\build\built-jar.properties
compile:
run:
apr 29, 2013 11:44:05 AM java.util.prefs.WindowsPreferences
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at gnu.io.CommPortIdentifier.(CommPortIdentifier.java:123)
at moppydesk.MoppyMainWindow.updateComSelectionMenu(MoppyMainWindow.java:55)
at moppydesk.MoppyMainWindow.(MoppyMainWindow.java:43)
at moppydesk.MoppyUI.startup(MoppyUI.java:19)
at org.jdesktop.application.Application$1.run(Application.java:171)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
how can i fix this
Analogue-Chick (author)  compukit11 months ago
Have you copied everything on the MoppyDesk.rar? You should copy everything, download the MoppyDesk.rar located at the bottom of this 'ible. Also, download this version of NetBeans, JDK 7u4 with NetBeans 7.1.2. Could also be some compatibility issue.
yes the program is now working only the flopy drivers dont turn if i coneckt pin 11 and 12.
so if i run te program the flopy drive dont do enny thing.
is it not posibel to use in stad of a floppy a harddisk bekose i have lost of ide and scusi disk hire dowing noting :)
thnx
agis6811 months ago
wow really amazing and amusing....
I've been wanting to try this for a long time. Got it to work without any real problems. I used steppermotors instead of floppydrives and changed your code a bit so they won't change direction. Thanks for your very clear instructable!
Drewseph1 year ago
I got mine working perfectly a while back, thanks for the Instructable :)
Sadiek1 year ago
What if there is a pin at position 3? I've tested them as you instructed and they don't seem to work. Do you have any solution for this problem? The drives I tested that didn't have a pin at position 3 work fine, but with a pin at position 3 don't.
GlitchBob1 year ago
What's the best way to setup the breadboard so that the connections can go in to one area, and back out to the arduino, or at the very least all the grounding taken care of? I'm very much a n00b at this, although I've set up 5 (nearly 6) floppy drives thus far... I'd like to make use of the breadboard to clean up the mess of wiring.
i cant get it to work, when i click play nothing pops up
got the window open now i cant here anything
Analogue-Chick (author)  The nerdling1 year ago
Sorry if I wasn't able to answer your questions promptly. Did you solve this problem?
nah, havnt tried getting it to work in a while
Drewseph1 year ago
I don't really want to use an ATX power supply, so how would I make or where would I find a five volt power supply? Thanks in advance.
Analogue-Chick (author)  Drewseph1 year ago
It's harder without the molex connector, otherwise you can use about any power supply available that can provide 5 volts like USB port, phone and iPod chargers...
usb port or an old phone charger
wicked
thax...
rimar20001 year ago
lOl

Thanks for sharing!
Analogue-Chick (author)  rimar20001 year ago
Not a prob. :)
kenbob1 year ago
This is the geekiest thing I have seen in a long time. I am smiling ear to ear - Great job!
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!