My wife and I have been lucky enough to travel all over the world together during the past few years. Wherever we go, I collect little knick knacks, souvenirs, and ephemera. I also use a little mp3 recorder to capture sounds (marketplaces, street sound, music, etc). It's always amazing to listen to these later—they immediately bring you back to a place, far better than a photograph alone could.
The problem: You can put souvenirs on display and keep photo books on the coffee table. But you can't really do that with sounds.
That's why I created the Audio Memory Chest. It's a box filled with tiny drawers—one for each trip. Inside, we keep small souvenirs, and sounds—whenever a drawer opens, it plays a random audio file recorded at that location.
Step 1: Parts List
Most of these can be found on Sparkfun, Amazon, or Digikey.
- Arduino Pro Mini
- YX5300 Serial MP3 player
- Adafruit audio amplifier
- MCP23017 Port expander
- US5881 Hall Effect sensors (one for each drawer)
- Stereo switching potentiometer/knob
- 3" Speakers
- 3.5mm audio plug
- Standard 2.1 x 5.5mm DC power jack
- Female and male headers
- Molex Connectors and sockets
- Screw-in PCB terminal block
- Rare earth magnets (one for each drawer)
- Blank double-sided copper PCB
- 10-wire Ribbon Cable
- Mono RCA cable
- Two RCA jacks
- 10k resistors
- 100uf electrolytic capacitor
- A chest with several drawers
- Felt (for drawer interior)
- Black pantyhose for speaker grilles
- 1/4 inch MDF or plywood for speaker enclosures
- 3/4 inch birch plywood for external case
- screw-on legs for external case
Step 2: Clean and Prepare Drawers
I originally wanted to use a wood card catalog to build this, but those things are CRAZY expensive now. Luckily, nobody seems to want the metal ones, so I scooped this up for 30 bucks at a flea market.
Step one: Clean the whole thing. Be patient and have lots of paper towels or shop rags on hand.
Next, measure out where the center of each drawer is on the back of the cabinet. Drill access holes for each sensor so they can poke through and measure if the drawer is open. Make sure to deburr the holes so you (or your cables) don't get shredded by sharp edges later on.
Done? Measure out where the back of each drawer hits its corresponding hole, then glue a rare earth magnet in place there to trip the hall effect sensors.
Finally, cut and glue felt into the bottom of the drawers.
Step 3: Build Speaker Enclosures
Now that the drawers are cleaned and prepared, you'll need to make two boxes for speakers. These will ultimately replace two of the drawers, giving you an embedded sound source (and a nice clean look). You could probably build them by hand, but a laser cutter is a lot easier, especially since sites like makeabox.io let you input the size you need, along with other parameters, and will spit out a file that can be immediately cut. I've included my Adobe Illustrator files here, but you'll probably need to tweak them to fit your cabinet's drawer size (FYI, I used 1/4" MDF for the speaker enclosures, and 1/4 birch plywood for the speaker trim.)
Glue together the sides and bottom of the laser cut enclosures, but leave the lid free. You'll need to take it off to troubleshoot later, and besides, it's not going anywhere. Optional step: spraypaint the front of the cabinet black so you won't see any ugly MDF later on.
If you want a volume control, leave a hole on the front of the left speaker cabinet to install a switching potentiometer. I forgot to do this in my illustrator layout, and had to cut a hole by hand later.
Next, build the speaker grilles.
- Measure out and cut black pantyhose to slightly larger than the laser-cut frame.
- Tack the material down using iron-on glue (I ran out of hot glue sticks, which would probably work better.
- Fold each edge over the back and trim the corners so the material doesn't bunch up.
- Optional: Add magnets to the four corners, and put screws into corresponding locations on the front of the speaker. This lets you pull the grill off easily if you need to, but so far I haven't found a real need.
FYI, I designed these grilles to have a nice hardwood trim on one side - looks good, and gives me a spot to mount the volume knob as well.
Step 4: Create Main Board and Sensor Array Boards
Now it's time to get going on the "brains" of the project—the electronics.
Etching these circuit boards is optional - you could probably make them soldering individual wires onto protoboard, but it'll take you forever to do. Use the board images posted here to create a mask on a blank copper PCB, and etch using whatever technique you prefer. (The details of etching boards are beyond the scope of this instructable, so check out these other ones to get started.) Once the boards are done, drill holes for the components, and solder them onto place.
Step 5: Load Audio Onto SD Card, Tweak Arduino Code
This is the first step towards making your sounds actually play. First, select the audio you want to use in each drawer. If you can, edit each file so they're at a uniform volume first. This is optional, but recommended. Reaper, Audacity, or another free audio editor will work.
- Using an SD adaptor, open a microSD card to your computer.
- Make a folder for each drawer on the top level of the card. Number them sequentially starting with 1.
- Select the mp3s you want to play when each drawer opens, and drag them into the drawer's folder. The code will cycle through them randomly when the drawer is opened.
- Rename the files in each folder so they start with sequential numbers: (001_file.mp3, 002_file.mp3, etc)
- Eject the card and insert into serial mp3 player.
Now that the files are ready, tweak the Arduino code so it knows to look for them. You'll need to set the variables for "drawer size" in the code to match the number of files in each folder of the SD card. I've included a photo so you know exactly where to tweak, and what to add. When you're done, upload the new code onto the Arduino.
Step 6: Install Electronics
Here's where things get interesting. Assemble the main circuit board, and solder all components onto it. Now hook up and install the rest of the electronics inside the left speaker box. (See hookup guide for a block diagram.)
Next, install the amplifier board, and connect power to it from the main board. Use a 3.5 mm plug to run audio from the serial mp3 player's output to the amp. Wire the output of the amp to your speakers.
If you want a volume control, make sure you connect it between the mp3 player and the amp - not between the amp and the speakers.
Step 7: Wire Together Sensors and Plug Into Main Board
This is a bit time consuming, but makes the sensor arrays nice and neat. Using the circuit boards you made earlier, solder 10k resistors and hall effect sensors into each one. Next, connect each of the six inputs and outputs of each one with ribbon cable, forming a long daisy chain. Power will be supplied by a separate cable.
IMPORTANT: each board has a space to add a jumper cable, which lets you connect the sensor to a specific wire in the ribbon cable. This lets you select which drawer you're installing it on in a particular row. (Be sure to connect these in sequence—brown for drawer 1, red for drawer 2, orange for drawer 3, etc. See photo for detail.
Step 8: Build Wooden Box/Case
This case is optional - if you have a wooden card catalog, you can stick some legs on it and call it a day. A metal cabinet gets a little trickier, so I built this box to house it, and slid the while thing inside. Naturally, I forgot to take photos of this part of the process, but the finished images here will give you a sense of how it's put together.
- Cut four pieces of baltic birch plywood slightly bigger than your chest of drawers - you'll need to leave enough space to slide the whole chest in (I left about 1/8 inch of play on all sides).
- Use a router to cut a rabbet along each edge of the plywood. Set the cut depth to remove half the thickness of the plywood. You can see how I set up the overlap on each piece from the photos - I'll add a diagram later.
- Glue and clamp the four pieces together. Make sure they're a square 90 degree angle! You can also use L-brackets inside the case to reinforce the glue seams.
- Optional: add wood or veneer banding to hide the edges of the plywood on the front and sides of the case. I used old strips of cedar that a friend gave me.
- Add legs to the bottom of the case.
- Slide in the chest of drawers, and plug in the power supply.
That's it! Now fill your drawers with your photos, objects, and other memories, and enjoy the sounds you've collected. Whenever you open a drawer, it'll take you back to that place and time.