We needed somewhere to place the sleeve for the currently-playing record. We had an IKEA picture ledge from our old apartment that just needed to be hung up. But before we got around to it, my wife came to me and mused: “Most of the time I’m listening to the radio, and I’d love to see the name of the song or artist without having to pull out my phone. Can you put a ticker of the live feed on the front of the shelf?”

It took less than 30 minutes to report an excited “yes!”

prototype
It's almost embarassing when the Seattle station plays Nirvana

Our fabulous local radio station, KEXP, has a real time playlist you can query through their API. I grabbed a microcontroller, a screen, and some other bits I had on hand, and threw together a working prototype. Knowing I had some scrap wood, I decided it would be a fun constraint to build this without buying anything new.

Two boards were joined into a T, making a shelf with a lip to hold up the record and a face to mount the screen into. I cut a slot in the face board that the shelf board could press-fit into using a table saw.

wood
Press-fit slot cut with table saw
wood with screen
Getting a feel for it in place

A few features added in were:

  • A switch on the front to turn the screen on and off
  • A hidden reed switch on the shelf to detect when it was holding a record.
  • Two LEDs on the front which turn on when a record is detected
  • A hidden contrast knob for the LCD
  • The words “NOW PLAYING” etched into the wood

I used a router to cut a recess so the LCD would sit flush against the front, then got everything except the front LEDs mounted, wired, and working.

first assembly
I should figure out how to work with ribbon cables...

A friend offered to use his laser to etch the front, so we gave it a shot. This was a new technique for us, and we learned a lot about the machine and how to interact with cheap wood. In hindsight I don’t think the fill pattern works as well with the wood grain as perhaps just an outline would have.

I then stained the wood, glued and reassembled everything, and installed the LEDs on either side of the etched words.

laser-etched
Stained and laser-etched
stained side view
Electronics are hidden from normal viewing angles
reed switch
The hidden reed switch that a record presses down on

I did unfortunately have to go buy brackets to mount this to the wall, which sadly brought the project cost up to $4. So close!

brackets
The single center bracket I first tried was too bouncy

And that’s it!

with record
Holding a record
with radio
Showing what's on the radio

It’s simultaneously exactly what we need while also being pretty rough and clunky. I don’t love the screen, the etching looks dull, and the front LEDs are totally unnecessary. But it was fun to build, and it was a great way to use up some parts that would otherwise just collect dust.

The code is here if you’re interested: github.com/brushyfork23/now-playing. I wrote it quickly and never looked back, so it’s missing some key features. Overflowing text doesn’t scroll into view, and there’s some encoding mismatch so characters are often garbled. But it works well enough to answer the question “who’s playing?”

PS: the old picture ledge we had from our last apartment? I repurposed it and its brethren to hold shallow items in the garage.

garage shelves
Perfect size for glue and paint!