Motorized Music Box Cranks Out Stairway To Heaven

[Bokononestly] found a lil’ music box that plays Stairway to Heaven and decided those were just the kinds of dulcet tones he’d like to wake up to every morning. To each his own; I once woke up to Blind Melon’s “No Rain” every day for about six months. [Bokononestly] is still in the middle of this alarm clock project right now. One day soon, it will use a *duino to keep track of the music box’s revolutions and limit the alarm sound to one cycle of the melody.

stairway-musicbox-alarm-clock[Bokononestly] decided to drive the crank of the music box with a geared DC motor from an electric screwdriver. After making some nice engineering drawings of the dimensions of both and mocking them up in CAD, he designed and printed a base plate to mount them on. A pair of custom pulleys mounted to the motor shaft and the crank arm transfer motion using the exact right rubber band for the job. You can’t discount the need for a big bag ‘o rubber bands.
In order to count the revolutions, he put a wire in the path of the metal music box crank and used the body of the box as a switch. Check out the build video after the break and watch him prove it with the continuity function of a multimeter. A clever function that should at some point be substituted out for a leaf switch.

We’ve covered a lot of cool clock builds over the years, including one or two that run Linux. And say what you will about Stairway; it’s better than waking up to repeated slaps in the face.

[via r/engineering]

20 thoughts on “Motorized Music Box Cranks Out Stairway To Heaven

  1. Nice build and documentation!

    But one question/remark: I think the gear ration between the handle and the spindle won’t be necessarily a integer number (e.g. three rotations of the handle lead to two and a half of the spindle)?

    If that’s the case a switch / hall sensor + magnet on the spindle itself would be easier… (or solve it fancy in software somehow [microphone + fft => engineering overkill]).

    1. Magnets and sensors are a bit messy (imho), since the magnet could accumulate metallic debris. Not that there’s should be any, but I’d go with simple optical sensor and a piece of shiny foil (or some kind of notch/hole) on the side of the drum. That would be rock solid, I think.
      Also, what if there’s a power outage while alarm is triggered? There’s no positional sensing whatsoever, so when alarm would go off again, it would just spin it one revolution from where it was left, not caring about where a misic piece starts. So yep, drum revolution sensing is what it needs.

        1. Hmm – sensing the position of the music drum itself sounds a bit smarter than sensing the drum revolutions. A simple metal strip on the music drum that shorts two tongues could signal the start position of the song.

    2. Video creator here. The great ratio between the hand crank and melody wheel is a fixed integer number, because a worm drive is used. The worm wheel on the melody drum has (I think) 30 teeth and it advances one tooth for each rotation of the hand crank worm.

      I’m reading lots of valid encoding solutions in the comments, but just wanted to say that this was the easiest possible solution for me so that’s why I went with it. Being an alarm clock it doesn’t have stringent requirements.

      Thanks for watching!

    1. I just though of another solution, if you isolate the drum. (looks like it might be already) You could make a switch from the drum and tuning fork and count the notes in a revolution and then stop.

  2. I had occasion to rig a music box to an electronic project a bit back. After trying and failing various methods to put a motor on a hand-crank type box, I finally tripped over some cheap ones already powered by DC motors:

    Not a huge selection of songs on that one, but it may be possible to swap out the comb (tuned for the song, supposedly) and pin drum from another box. In my limited experimentation, it appeared that many used the same parts.

    I was using an arduino on the project anyway, so I ended up making a rudimentary speed control and driving it from the board:

    That all doesn’t lend itself to precise measurement, beyond a timer, but maybe you could piggy-back an encoder somewhere along the drive train?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.