An open-source Linux-based clock radio from SpriteMods:
Ofcourse, a nice PCB with a powerful processor and a nice display only is scrap without the software: especially in this case, it pretty much defines what the device does.
While developing the hardware, I already had made the decision to go with Linux and OpenWRT as an OS, as that’s what runs on the Carambola by default. Using this combination also has the advantages that most of the libraries that can be used on OpenWRT also are available on my desktop machine. That makes it possible to make a version that runs there too, making it pretty easy to debug. Using an established OS also makes it easy to use open-source libraries, meaning you don’t have to re-invent the wheel. In this case, I use libcairo for drawing the user interface, Mongoose as the integrated webserver and jansson as a JSON library, for the API and as storage. To play web streams, the Carambola also runs mpd, which is then remote-controlled using libmpdclient by the clock radio software. This way, a crashing mp3 decoder won’t take down the complete software and stop me from waking up in the morning.
For project details and to download the open source project files visit Spritesmods site.
Check out the video after the break.