Introduction: DIY Floppy Drive Piano (Floppiano)

There are many Instructables and videos on the internet showing how to build a musical floppy drive, but I have never seen anything about building a floppy drive piano. Because I like playing the piano and building electronics, I figured that building a Floppy drive piano would be the perfect project. This Instructable will show you how you can build your own Floppy drive piano and how to program it. Too see a working model of the floppy drive piano, watch the YouTube video below. Lets get started!

Step 1: Materials

For this project, you will need the following materials. Most of these materials can be salvaged from old computers and other outdated electronics.

  • Floppy Drive
  • Computer PSU(Power Supply)
  • 2N3904 Transistor x2 (Almost any NPN transistor will work)
  • Breadboard
  • Connector wires
  • Arduino(Almost all Arduinos will work for this project, I used an Arduino Uno)
  • Momentary Pushbutton x10
  • 10 Kilo-ohm resistors x12
  • Popsicle sticks
  • PLA Plastic Filiment
  • Ribbon Cabling

Step 2: Tools

For this project, there are no special tools needed for this project except a 3D printer. Here are the tools needed:

  • Soldering Iron
  • Wire Srippers
  • 3D Printer
  • Hot Glue Gun
  • Wire cutters
  • Needle nose pliers

Step 3: Creating the Keyboard

To make a Floppy Drive piano, a keyboard is the most important part. You will need to 3D print the keys all separately and then the keyboard base as a whole. The keys and base should be printed in ABS plastic due to it's flexibility. The STL files are are included in this step. The keys will then be hot glued into their holes on the keyboard base. Momentary pushbuttons need to be inserted into the holes on the underside of the keyboard. Finally, Popsicle sticks need to be glued in place around the keyboard to prevent the electronics from touching the ground and to give the board structural support.

Step 4: Wiring the Keyboard

To wire the keyboard, use the above circuit diagram. Each button needs to have one pin going to 5 volts, and one pin going to one of the Arduino's digital pins. Each of the Arduino's digital pins need to be pulled down to ground by a 10k resistor to prevent false readings due to background electromagnetic radiation. ribbon cable can be used to connect the keyboard to the Arduino.

Step 5: Wiring the Floppy Drive

To wire the floppy drive, you need to use 2 NPN transistors, I used 2N3904's, but almost any NPN's will work. Wire pins 13 and 12 to the common ground. Wire pin 18 to the collector of one transistor and pin 20 to the collector of the other. Wire the emitter of each transistor to the ground of the floppy drive and the Arduino. Add a 10k resistor from the base of each transistor to Arduino pins 12 and 13 respectively. Finally, add a momentary switch between the resistor and the Arduino pin of the direction control circuit.

Step 6: Coding

To code, you will need to just run this code on your Arduino. It is embedded in Codebender below. Feel free to change and modify the code to your own desires.

Step 7: Playing Your Floppiano

To play your Floppiano, just upload the code and have fun! Use the pushbutton to switch direction of the floppy drive while you play it. You can remove the pushbutton and make the arduino switch directions for you, but I never got around to doing this. Feel free to comment any questions.