Music Box

A friend came to me with a request to make a music box as a gift for her fiance. The music box would need to play a specific track, “Let’s Dance,” an M. Ward cover of a David Bowie song.

The project has two main concerns: an audio system with speakers that will play the music and a case that will hide the electronics. Using an audio module and speakers from Adafruit, I came up with a simple system to play the audio:

I put this system inside of a wooden box that I made with the remains of a stash of mahogany scraps. One question was how to turn on the box and start playing the music. I knew I wanted a passive switch (one that would not require any power, like an infrared proximity sensor would need) so that the box wouldn’t drain its batteries while sitting in the shelf. I discovered reed switches, which turned out to be perfect for the job. A reed switch opens and closes based on the proximity of a magnet to the switch. Using a NO (normally open) reed switch hidden in the front of the box and a magnet in the lid of the box, the circuit would be open until the box was opened, at which point the magnet and the reed switch would be separated and the box would turn on and play the song.

To hide the reed switch and magnet, I decided to make the top and front out of two pieces each, joined on their faces and with a cavity inside. Here I’m hiding the reed switch in the front of the box. I used a drill press with an end mill on it to carefully remove a layer of wood where I needed the switch and wires to go.

The same treatment applied to the lid of the box, in order to hide a magnet:

Here’s the audio system from above, attached to a small piece of protoboard for mounting in the box encosure:

Speakers are screwed into the back of the false bottom bottom of the box:

Assembling the innards by gluing the faceplate to the rest of the electronics:

The final box, closed:

and open. You can see a little seam on the front and top edges where the two pieces that make up each come together.

The final box in action!

Git Statuses in tmux Panes Weather Map
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×