Inspiration
We were inspired by various people on Youtube who create music from non-traditional musical instruments. For example, the Floppotron (a hardware orchestra made up of 512 floppy disk drives, 16 hard disks and 4 scanners), the Marble Machine, and stepper motors. The most accessible and cheapest hardware to try and create our own were the stepper motors.
What it does
We use motor drivers and bipolar stepper motors with an Arduino to make the motors sing some tunes. We make use of a MIDI library to send MIDI data containing a song of choice to be sent to the Arduino that then makes the motors spin and emit a frequency that corresponds to a music note. We tried our best to get multiple motors to play at once.
How we built it
We wired up several nema 17 stepper motors to A4988 stepper motor drivers and an Arduino UNO as our microcontroller. Depending on what speed the motors spin at they will produce a different sound. We tried multiple Arduino libraries such as ContinuousStepper and the Tone library which has various pitches. We are able to treat our Arduino like a MIDI device via usb with dfu-programmer when we want to send MIDI data. We used mocoLUFA library to dual boot our Arduino as a MIDI output device and as our normal Arduino UNO. We used additional open source software such as MuseScore to transcribe some of our own songs to MIDI files.
Challenges we ran into
We did not properly double check our circuits since we both are bad at numbers. First we were using a 9V battery, but it kept dying. Then we switched to a 12V power supply and that's when we fried our first motor driver. We started with 5 nema 17 stepper motors and 5 A4988 stepper motor drivers, but ended with 3 functional drivers that could power the stepper motors (shout out to ethan for having more.) We thought we wired up the drivers correctly, but plugging everything in, the chip on the driver immediately started smoking. We realized we misunderstood the data sheet and supplied the motor driver input with too many volts. We believe one chip was just not functioning, but in total we failed the smoke test twice. :'( This limited us to 2 total motors we could wire up since we broke a total of 3 motor drivers! The hardware lab also did not carry motor drivers that could handle larger stepper motors. This severely limited our song choice since to play a chord in a song it would take at least three motors to play each note across the three channels. However, we were still able to make some cool songs with just two motors.
Accomplishments that we're proud of
The longest part of this project was getting just one motor to spin. Once we figured out our circuit, we also stopped frying chips and scaling the number of motors became easy. We were really happy that we got two to spin. We also transcribed some songs with MuseScore, an open source software, to create our own MIDI files. It was fun to be able to utilize our music knowledge while learning to use new hardware technology.
What we learned
During some songs the motors seem to slow down keeping up with each other. We'd like to fix that. We learned to triple check our data sheets for each and voltage with a multimeter so we could stop breaking our steppers. We learned the difference between logic power supply vs motor power supply!!! Ethan licked our 9V battery?
What's next for Yeehaw Motor Tunes
We grow the amount of stepper motors we use to be able to play chords and more complex songs.
Log in or sign up for Devpost to join the conversation.