Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
These instructions will continue to be improved as I have time and as people run into (and solve) novel issues.
This section definitely needs some improvement, sorry about that
- Connect the appropriate even-numbered drive select pin to its corresponding odd-numbered ground pin.
- Connect the
STEPpin to Arduino pin-2. Connect the
DIRECTIONto Arduino pin-3. (For additional drives, the
STEPpin is connected to even Arduino pins, and the
DIRECTIONto odd pins. On the Arduino Uno, you can go all the way up to A5 (essentially pin 19))
- Connect one of the ground data pins (odd numbered pins) from the floppy drive to the Arduino's GND. This is important because if the Arduino and drive disagree about ground-voltage the data signals may not be clear.
- Power your floppy drive by either using an ATX power supply (easiest method), or another 5v power supply (connected to the appropriate power pins (ATX red wire is 5v, black is ground). (PROBABLY) DO NOT power the floppy drive from your Arduino! It might work fine, but it's best not to power motors directly via the Arduino's limited power supply. You can power the Arduino using whatever 5v supply you use to power the floppies though, that's fine.
- Install the latest Arduino IDE, and install the TimerOne library.
- Download the latest release of the Moppy Arduino code, unzip it somewhere convenient, and open Moppy.ino in the Arduino IDE.
- If this is your first time, skip to the next step. Otherwise, change any settings in MoppyConfig.h or select different hardware configuration options in MoppyCore.cpp.
- Upload the sketch to your Arduino. Make sure there aren't any errors in the console at the bottom of the IDE! It's not very good about telling you if the upload was successful or not.
- If your floppy drive is connected and powered on, it should play a startup sound when it resets.
- Download the latest release of the ControlGUI application, and unzip it somewhere convenient.
- In the bin folder you should find either a
.batfile for Windows users or a bash executable for everyone else called MoppyControlGUI. Open it!
- Use the middle column to select the COM port that your Arduino is connected to. After connecting, you should see its device address appear in the upper right column.
- Load a MIDI file from the included
samplesongsdirectory, and hit play!
n(note number) are predefined. The scripts can also be used to transform the notes if the MIDI file wasn't designed for floppy drives. Try out some of the defaults to get an idea of what's possible and then try your own (switching the note number to random is pretty hilarious!)