Singing Jewelry Box

by kangkr in Circuits > LEDs

103 Views, 0 Favorites, 0 Comments

Singing Jewelry Box

Screenshot 2023-03-28 at 1.41.58 PM.png

Last year, I broke my favorite jewelry box and have been using a makeshift one since. I thought this would be a great opportunity to make something that I would use daily. My project is a jewelry box that will detect whether the box has been opened using the proximity sensor and will then play a song of your choosing whilst also showing a light animation.

Supplies

3595-03.jpg
3811-07.jpg
4682-04.jpg
5526-04.jpg
  • 1/8 in. Baltic Birchwood
  • 1/8 in. Clear Acrylic
  • Raspberry Pi Pico W
  • APDS-9960: digital proximity, ambient light, rgb, and gesture sensor
  • Adafruit Neopixel LED Strip: 30 LEDS/meter
  • Adafruit Micro SD SPI or SDIO Card Breakout Board
  • Micro SD Card
  • Breadboard
  • Speaker
  • Hot Glue Gun

Download Code for Raspberry Pi Pico


This includes the code for the Raspberry Pi Pico and the mp3 music file stored on the micro sd card.

  • If you would like to change the song:
  1. Find a song on youtube that you would like to use and convert it to an mp3 file. (I used the website https://ytmp3.nu/Dlbu-youtube-to-mp3)
  2. Load your micro sd card onto your computer and create a folder on it to hold your mp3 file. My folder is called sounds and my mp3 file is called "kiss_more.mp3"
  3. Eject your micro sd card and plug it into your Adafruit Micro SD.
  4. You can then call it in your code as what you named it.

Laser Cut Box

  1. Using https://www.festi.info/boxes.py/AngledBox?language=en, create an "Angled Box" svg file with dimesions of your choice that allow for all supplies to fit inside and has the angled lid top. This build uses dimensions 150 mm x 115 mm x 115 mm.
  2. Upload svg file to Adobe Illustrator.
  3. On the wall 1 (back wall), draw a rectangle at the bottom that will allow for three wires to pass through.
  4. Create two additional shapes. The first one will be the same size as the lower lid but with a hole in the center which will house the second shape. This piece will be created using the clear acrylic. The second shape be a slightly smaller version of the lower lid with an additional rectangle shape cut on one of the sides to allow for the proximity sensor to sit ontop. This piece will be cut from the baltic birch. These together will be the base of the jewelry holding platform.
  5. Draw two legs that will hold up the described above shapes over the supplies and wiring hidden underneath. The dimensions on this build are 1/2 in x 2.5 in.
  6. Draw dividers for the above area that will hold the jewelry. The dividers in this build are 1 in high.
  7. Convert all the lines to laser cutting format. (ie. red FF0000 for cut lines and black 000000 for engravings/decor)
  8. Add any engravings for decoration. (I have my name written on the top lid and a drawing on each wall panel.)
  9. Upload all pieces except the first additional shape to the laser cutting machine to be cut from the baltic birch. Then cut the last remaining piece from the clear acrylic.
  10. Assemble box and hot glue interior corners to hold box together.

Downloads

Raspberry Pi Pico Setup

Screenshot 2023-03-28 at 11.05.02 AM.png
Screenshot 2023-03-28 at 11.18.47 AM.png
  1. Speaker: Ground and signal pin (GP15)
  2. LED Strip: Ground, power (VBUS), signal pin (GP14)
  3. Proximity Sensor: STEMMA QT connection: Ground, power (3.3V), SCL, SDA
  4. SD Card Reader: Ground, power (3.3V), CS, SO, SI, SCK

Assemble

Screenshot 2023-03-28 at 11.25.25 AM.png
Screenshot 2023-03-28 at 11.25.38 AM.png
  1. Place Raspbery Pi Pico and all connections (besides proximity sensor) inside box.
  2. Feed cord to computer and two alligator clips to speaker through the back wall hole.
  3. Feed wire for proximity sensor through hole in added shapes so that sensor is resting ontop of shape.
  4. Once every is connected, place lid ontop and run code!

Use Your New Jewelry Box!

Singing Jewelry Box

Add your jewelry and even a little centerpiece attached to a spring to make it more lively.