My wife and I are big fans of the Montessori Education approach, trying to use all kinds of non-plastic alternatives (both in material and methods)
for the entertainment of to raise and educate our children. Music is a great way to keep kids happy and so we came accross Hörbert, a nice little MP3 player in a wood casing, durable and designed specially for kids.
We almost bought one right away, but appart from them being quite expensive (even though most probably worth every dime), where would be the fun in that? It’s an MP3 player in a wooden box, I love tinkering and so I had a new project (and one, that would actually be allowed to sit in the middle of our living room!).
The task should have been a quite easy one: Take a wooden box, put an MP3 player inside, add some speakers, a volume knob, a switch to turn the box on and off… and of course buttons to jump forward and backwards… and another pair start and stop the playback… and what about switching playlists…? As you can see, even such a simple thing can easily be over-designed.
But when carefully studying the original box, the most apparent part was its simplistic design. I started asking myself: Does it really have to be stereo? When there’s already a switch to turn the box on and off, do we really need buttons to start / stop the playback? Kids can’t read, so why bother adding a display to the box?
And while there is quite a few people out there, who used an old or cheap MP3 player for a similar project and just soldered a few extra wires on it to extend the built-in functions to the buttons, I wanted to use an Arduino board with a MP3 shield, so I could add a playlist functionality. But what about the box? I sure do love working with wood, but there was not much time left before Christmas and I was missing the right tools and experience to pass the WAF, which should never be underestimated..!
Searching for the right material, I found that the speaker might be the highest cost factor for that project, followed by the wooden box. So instead of buying them seperately, I decided to get both of them in a package. On Amazon I found a nice retro design radio that was only a little more expensive than a decent single speaker and came in a nice wooden box.
So the material list looked like this:
- Retro Design Radio (~EUR 35,-)
- Music Shield (with VS1053B chip!) (< EUR 20,-)
- Arduino Uno (< EUR 10,-)
- DC-DC Step Down Converter (< EUR 5,-)
- 2 x Arcade Buttons (< EUR 5,-)
- Metal Volume Knob (< EUR 5,-)
- 9V Battery holder (EUR 1,-)
Switch, Poti, 3.5mm plug, spacers, and screws I had lying around, so the total cost for material was less than EUR 80,-.
The challenging part of putting the parts together was to fit the board inside the box while still having access to the micro SD card and the battery holder. Also choosing the positions for the buttons and poti so they would not collide with the rest of the parts and still look nice took one or two drawings in sketchup. But then I finally had everything in place.
The first version of the box
The front and back covers were replaced by wooden sheets, added a few screws and… voilà.
Since I bought the Music Shield from Seeed Studio (very nice piece of hardware btw.), it was quite obvious to use the Music Shield library in their github repository. It has been written by Jack Shao and released under the MIT License. There were no changes made to the library, so for the buttons (next / previous song) I kept the pins D4 and D6. The only “creative” part for the software was to map the A5 pin to the volume range, which I limited to 70 to avoid any hearing damage if the kids would get too close to the speaker. You can find the software in my github repository.
Future steps and lessons learned
Switch vs. Strenght
Kids hands are amazingly quick and quite accurate, especially when it comes to reaching for tools, keyboards, remote controls and all the little gadgets that haven’t been hidden away fast enough. But unforunately they are not very strong. The switch I used for the box was an old aircraft toggle switch, so rather heavy to move. To lower the level of frustration for the target group, I added the case of a pen to the shaft of the switch (I know… plastic… but it’s recycled…!).
Playlist and haptic
As mentioned before, there is supposed to be some play list functionality in the next version of the music box. For this I would like to add some haptic feature involving a RFID reader and some colored RFID tags, representing the play lists.
Room for improvement
- Mounting the hardware more securely to prevent things from coming lose when the box is falling off a table or is being dragged around
- Raising the lower limit of the volume to prevent the battery from being drained by leaving the box running in low volume
- Prevent the battery from being drained too far. I am using rechargable batteries and even though they are not LiIon, they might still not like it too much
- Add external USB port to charge the battery / access the micro SD card, so it won’t be necessary anymore to open the box each time to change the battery / playlist
- Add a status LED indicating the box is on / battery low status