inspired by the project of Evan Hailey who built a custom Linux board for his Spotify streaming box, I decided to build myself one, too, but the easier way. Instead of making my own PCB I wanted to use the popular BeagleBone SBC, that is, the smaller variant called PocketBeagle.
The standalone PocketBeagle doesn't have the audio outputs, so I would build my own add-on board with an audio codec and 3.5mm jack. There are some standard parts, like TLV320AIC that are supported in the BeagleBone device tree. By that I mean, there are existing device tree overlays that should "somehow" be invoked and the CPU will recognize the codec it's being connected to. This should make my add-on PCB a standard ALSA sound card. I don't know much about the DTOs, but hopefully, this will be a nice learning process.
The same board would host a USB A-type connector, what should be used for WIFI dongle. This would make my device a way to connect to the Internet. I would also put a 320x240 SPI-based LCD screen for display of the current song artwork.
Finally, the Spotify itself, would be reached via this deamon tool, called spotifyd that is used in the original project. If I get it right, it enables the cast option controlled from my smartphone. This seems like a nice elegant solution, but ,since I'm already having troubles with running it on my VM Ubuntu, I expect some troubles along the way.
So, that's about it. I would like to hear your opinions on the project and where do you see possible pitfalls. I am a hardware designer by profession, so I expect not so many problems on a PCB side. I am, however an less experienced linux user/SW developer, so I'm not sure how to make this spotifyd thing or device tree overlay running smoothly. But, looking forward to trying it out!
The boards are already on their way from the JLC-PCB!
Great idea! Finally a reasonable usecase for the PocketBeagle. I've searched all the internet for what to do with my pocketbeagle, maybe this will be THE project. Really interested in the outcomes. Im only a student in electrical engineering, so im also not good with linux.