Saturday, December 19, 2020

Show HN: Mantel-top computerized musical chimes with MicroPython on an ESP-32

Holiday Chimes

This project is a battery powered musical chime set, loosely inspired by the Ye Merry Minstrel Caroling Christmas Bells we had as kids. Built with a black walnut stand using copper tubing, 3d-printed hangers and controlled by an ESP32 running MicroPython.

Watch it playing "Silent Night"

Click here or the image below.

Chimes playing 'Silent Night'"

I chose to implement these 12 notes (which cover a decent number of songs), but it can be extended as needed (up to the free GPIO pins):

  • C5, D, E, F, F#, G, A, B, C6, D, E, F

I mapped C5 (and like) to C4 in software since an actual C4 chime didn't really sound like C4 due to secondary frequencies. This guide was very useful to understand what's going on.

Parts

Tools I Used

Use what you have around, this is just what I used.

Build

This took me somewhere between 40-80 hours to design, code and build, starting with a "mandatory fun day" event at work.

Get some wood. This is some black walnut I slabbed a year or two ago:

image

Make sure it's big enough to fit everything:

image

Cut and plane and do all the normal stuff to make it look pretty:

image image image

Cut 12 copper tubes to length. I found an excellent guide at http://leehite.org/Chimes.htm. I bought two 10' sections of type M 1/2" copper pipe and cut them accorting to this guide.

image image

Drill and chamfer holes to hang them by at the hang points.

image image

Make the stand as you please. I chose some pretty simple feet and through tenons.

image image image image

Make some electromagnets using 1.25" pieces of 3/8 in. Plain Steel Round Rod. 3D print end caps.

image image

Use a helper if available!

image image

Make some recesses in the underside of your wood for 12 hanger modules:

image

3D print hangers and assemble:

image image image image

Dead bug solder up each electromagnet.

image

Space is tight, I used more of the magnet wire for signaling.

image

Stainless screws for the capacitive buttons. (Line them up better than I did!)

image

Use a nice power button:

image

Batteries...

image

Assemble:

image image image

OLED screen and holder:

image

Finish with Danish Oil.

image

Software

The software uses regular MIDI files I whittled down in LMMS to simple melodies. I used a version of Mido I stripped down for memory reasons. The ESP-32 runs MicroPython.

The main code is in main.py. It's MVP (but not much more).



from Hacker News https://ift.tt/2WCogvH

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.