Creative Embedded Systems BC3930 - Final Project (Link to Github source code below)


by: Tobechi Onwuka

IMG-2987-ezgif-1733869262320.gif

- ⭐️ ARTISTIC VISION ⭐️ -


My artistic vision was inspired by the music boxes I would always see in cartoons. I have never owned my own music box so I wanted to see if I can try to public one using the ESP32 and a few other materials! Typical music boxes are usually very mechanical. To open a typical music box you must turn a knob on its side. Once the knob is turned, the music box is opened, music will play, and some figure in the middle of the box is being rotated as you continuous turn the knob. To make it less mechanic and more electronic based I used a photo-resistor for determining when the music should and shouldn’t play (along with the figurine rotation).

- ⭐️ DESIGN DECISIONS ⭐️ -


My original design for creating the simple music box was to use a photo-resistor and a wired speaker and connect both to my ESP32. However after peer-review I understood that making audio output sound good with a speaker connected by wire to my ESP32 would be a bit difficult to do. While being given some feedback from my other peers who were also doing something audio related with their project, I was suggested to use a Processing library, known as Minim, to play audio files (.mp3s, .wavs, etc) from my computer.

For the photo-resistor component I attached it to two wires, and then those two wires to header pins (making sure they were heat shrunk so that it wouldn't come undone) in order to have an extended light sensor that would reach inside my box from the breadboard.

The servo motor I order came with wires that could be connected to with m/m wires so I attached it to them. The black/green wire from the servo would connect to ground, the red wire connecting to the power source (3.3 v from the ESP32), and the orange/yellow wire connecting to pin 25 (to be controlled by the ESP32). I then glued a Christmas tree on top of the servo motor to follow its rotation pattern.

Enclosure:

I based my enclosure from the Boxes.py website and also used Inkscape to make edits to the .svg files to make room for my servo motor and photo-resistor to be looped into the box from the bottom:

IMG_2786 (1).png