Created by: chrisrossi
Published May. 10, 2013
Little Juke is a device I made for my daughter, Daniela, for her third birthday. It is a music player with a user interface designed for use by a preliterate child. Little Juke was a multidisciplinary project that involved technologies that span the decades since World War II.
The project began life as an old 40s or 50s era tube tabletop radio. One of several, actually, that I had purchased on Ebay with the intention of gutting them and building tube guitar amplifiers into them. I spend a lot of time designing and building electronics for guitar--it's a passion, or an obsession, depending on how look at it. My mother-in-law saw the somewhat beat up, gutted cabinets and volunteered to take them and clean them up. I don't know what she did, but they look great!
In our living room we have a Logitech Squeezebox we use to play music through our stereo system. Daniela really enjoys music and wants badly to operate this system. The problem is that the only interface to this system is a text display and a remote control with dozens of small buttons. It just isn't practical for a small child to use. In Daniela's room, we have a fairly poorly functioning cheap old CD player/radio thing that as often as not refuses to play. It occured to me that using a Raspberry Pi, my expertise with vacuum tubes, and one of these old radio cabinets I already had laying around, I could design something with an age appropriate interface that we could put in her room so she could listen to music. When I told my friend, Aaron, about my idea, he immediately handed me a spare Raspberry Pi he had laying around and within days I was working on the software.
Serindipitously, the window where the AM dial had been in the radio cabinet was almost exactly the same size as a small TV screen available from Adafruit that would work with Raspberry Pi. The final product involved a Raspberry Pi based music player using a user interface I wrote in Pygame (it comes already installed, so it was easy to try on and see how it felt) that drives music on console. The onboard sound output from the Raspberry Pi was found to be a little too nasty sounding so I bought a cheap USB audio adapter. Control is provided by a rotary encoder, which also has a push button function. The output from the audio adapter is fed to a small vacuum tube amplifier implemented using subminiature vacuum tubes driving an inexpensive 4" car speaker with 3 concentric drivers. The sound is surprisingly good.
In the coming days, I will be adding more "steps" that get into more detail on the electronic and software design. For now, you can have a look at the Github repo. And here are some more videos: One, Two, Three.
Related categories: PyGame