Kermitron 3000

My latest music box features Kermit the Frog, singing and playing the banjo

The box

The box construction is made of 3mm plywood with polyurethane coating

The face plate has overlays made of 1.5mm and 0.5mm plywood. The ferns are especially delicate, and I had to reinforce them with paperclip wire

The letters are inlays made of mahogany veneer

The back of the box is attached with M3 machine screws, to allow easy opening and closing. I used M3 square nuts that are sandwiched between 3 layers of plywood and glued to the box.

The insides

The device is powered by a 10Ah power bank that provides enough juice for the audio amplifier and the LED display. Its weight also lowers the center of mass for better stability

A small circuit board contains the control buttons, the LEDs and the MOSFET for powering the arm actuator. The Arduino Nano plugs into it

The rainbow LEDs are glued onto a wooden plank in a bow shape, and connected sequentially in a zig-zag order

The power module contains a DC power isolator to prevent ground loops and reduce noise. The power module, the MP3 player, and the amplifier are bolted onto a plywood base

For moving the arm I needed something silent. I found servos and step motors to be too noisy for a music box. I tried few solutions and finally picked one using a memory wire actuator. When power is applied, the actuator oscillates between 0 and 60 degrees of rotation. The clockwise rotation (when power is on) is much faster than the counter-clockwise, which is done by a return spring. I wanted to get the CW rotation match the down stroke on the banjo. Unfortunately, since muppets are left-handed, I needed a CCW down stroke. The solution was to position the actuator facing back and use a small 3D printed bracket to transfer the motion to the front side

The software

The largest part of the code deals with animating the LED display. The animation is hand-coded to match the rhythm of the songs.
For convenience, the LED array is stored twice in memory. One array is in logical order with 8 rows and 5 columns. The other is in physical order of the LEDs. A function copies one to the other before sending it to the display using the FastLED library.

The MP3 module is controlled with the SoftwareSerial library and uses pins 8 and 9. The songs are preloaded on a micro SD card.

The current song selection is stored in the ROM using the EEPROM library.

Download the SVG and source code from here: Kermitron3000.zip

Parts

Special parts you will need

Leave a Reply