Stepper Organ

This is a project I am currently working on! I will update this page as I reach important milestones.

Background

Though I've gotten opportunities to work with Arduino and electronics in the past as part of my Biomechanics Research and Junior Design project, I feel I have much to learn in working with motors and other electronics. I believe a really interesting and novel way to further both my understanding of music as well as electronics is to make a stepper organ. The premise is that stepper motors produce a varying pitch depending on the speed of their rotation, allowing music to be made.

A four-motor organ performing the Wellerman sea shanty.

I am basing my efforts on the work of a few others, namely David Scholten and Jonathan Kayne. I hope to stretch my troubleshooting skills and get to apply or grow my circuits knowledge!

Outline

When I worked with Arduino in the past I found it easy to get lost if one does not take small and clear steps, so I'm starting this project by identifying some goals and the steps I plan to take in order to achieve them.

Primary Goal: Get a set of four stepper motors to perform songs recognizably using data from a midi file made beforehand.

Additional Goals (descending in importance):


Plan:

Step 1: Schematic

The hardware I've gathered for the project:

NEMA 17 stepper motors

A4988 motor drivers

DRV8825 motor drivers (backup)

CNC motor shield

Arduino UNO board

Power supply (reclaimed e-waste)

Schematics relating all the hardware:

Step 2: Components and Documentation

Following tutorials posted online focusing on my purchased hardware, I created a reference for my later use. From past experiences working with electronics, I understand how what feels intuitive one day can be obtuse the next. Therefore, I gather information in one place and make a note for each action I take. It takes time, but I consider it an investment that saves me more time when I must inevitably troubleshoot later.

I also gather datasheets for each component I plan to use. Usually this is because I need one value immediately, but they are an excellent resource to have on hand while troubleshooting. Knowing the electrical specifications of my hardware will reduce the likelihood that I damage them.

Datasheet for the NEMA17 stepper motors used in this project. The motor dimensions will be helpful when designing an enclosure, while the wiring diagram helps me with electronic connections and motor control.

Step 3: Get a Motor to Move

In order to supply power to the CNC motor, I needed a female barrel connector with exposed lead wires. My local electronics store didn't carry anything suitable and ordering parts online was pretty expensive for a single unit, so I decided to reclaim the component from a piece of e-waste.

Speaker from which I obtained the female barrel connector.

The connector in question, and specifics about its polarity.

Circuit board with all electronic components.

Removing the connector with careful soldering.

Soldering lead wires to the connector pins.

Lead wires soldered to the connector, insulated with electrical tape.

Simple stepper test in clockwise and counterclockwise directions.

Step 4: Learning the Software (Current Project Status)

Fortunately for me, others have made this project and shared details of their work online. This should make my job easier, provided I can properly interpret their code. Searching online, I've found resources about using an Arduino UNO as a MIDI note player that seem promising. My most recent efforts have been focused on learning how to change the firmware on my UNO, which I have read is necessary to transition between having my computer recognize my board as an UNO or as a MIDI device. I don't know yet whether my MIDI keyboard removes the need to set my UNO as a MIDI device, or guarantees it.