[Sprite_TM] Puts Linux In A Clock Radio

[Sprite] needs an alarm clock to wake up in the morning, and although his phone has an infinitely programmable alarm clock, his ancient Phillips AJ-3040 has never failed him. It’s served him well for 15 years, and there’s no reason to throw it out. Upgrading it was the only way, with OLED displays and Linux systems inside this cheap box of consumer electronics.

After opening up the radio, [Sprite] found two boards. The first was the radio PCB, and the existing board could be slightly modified with a switch to input another audio source. The clock PCB was built around an old chip that used mains frequency as the time base. This was torn out of the enclosure along with the old multiplexed LCD.

A new display and brain for the clock was needed, and [Sprite] reached into his parts drawer and pulled out an old 288×48 pixel OLED display. When shining though a bit of translucent red plastic, it’s can be a reasonable facsimile of the old LEDs. The brains of the clock would be a Carambola Linux module. After writing a kernel module for the OLED, [Sprite] had a fully functional Linux computer that would fit inside a clock radio.

After having a board fabbed with the power supplies, I2C expanders, USB stereo DAC, and SPI port for the OLED, [Sprite] had a clock radio that booted Linux on an OLED screen. In the video below, [Sprite] walks through the functions of the clock, including setting one of the many alarms, streaming audio from the Internet, and changing the font of the display. There’s also a web UI for the clock that allows alarms to be set remotely – from a phone, even, if [Sprite] is so inclined.

And now you know why [Sprite] is a judge for The Hackaday Prize.

11 thoughts on “[Sprite_TM] Puts Linux In A Clock Radio

  1. Speaking of AC frequency driven clocks, I recently did an experiment to test the long term stability of AC line frequency. While the grid is externally disciplined to maintain a long term average that’s the correct number of cycles in a day, over the *course* of a day, it can be as much as 5-10 seconds off – several hundred cycles drift one way or the other.

    1. To me the solution here is to keep your own time and then make adjustments based on 24-hours of frequency data. Tuning fork clock crystals aren’t all that accurate, but they should be able to keep much closer during on day than your measured deviations.

Leave a Reply to Mike Szczys Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.