Everyone loves clocks. But i'm sure you've never seen an alarm clock like this!

Originally built as my best friend's birthday present back in 2007, the firmware got more and more unique features over several years. But let's have a look at the hardware first.

Hardware overview

The IW18 VFD tube is driven by a LM9022 filament driver which also generates 20V for the grids and segments switched by a MAX6921 driver.

Time is stored inside a MAX1338 RTC (original design used MAX1307 but it was not accurate enough). There's also a LM75 temperature sensor connected to the I2C bus. Oh, and i added a RFM12 433MHz wireless module!

The Firmware for the ATMEGA32 microcontroller was first written in Basic language, and later (2008) completely rewritten in C for performance and size optimization.

A second circuit board features a ISD2590 speech memory IC, a LM386 audio amplifier, DS1866 digital potentiometer, LEDs, a light sensor and a few shift registers for addressing everything.


The case is laser cut out of acrylic glass and screwed together with thread cubes.

Software features

- Show time, date and room temperature

- Voice output of time

- Moonphase calculation

- Four different alarm times

- Customizable alarm sounds and speech (PC Software, audio and USB cable)

- Fixed or random alarm sound from memory

- 8 Sound volume levels

- Dimmable display (ambient light based)

- Snooze function with user definable length, inverval and retries

- The wireless module can switch on 433MHz remote sockets on alarm (and also turn them off again after a user defined interval!)

- Automatic daylight saving time correction


Old development video in German, sorry ;-)


While improving software from year to year i've learned a lot of new stuff. The PCB needed to be redesigned a few times until the oscillator of the RTC was accurate enough. (Checked with a frequency counter using a rubidium frequency standard as reference) Although the wires to the VFD tube are a bit long and produce a lot of EMI which makes reception of DCF77 signal impossible.

A solar powered wireless temperature sensor was planned but never finished.

Sadly Winbond discontinued the ISD2590 speech memory and the LM9022 filament driver is also EOL. If you want to build your own clock, the hardware might need some changes.

My clock is running fine for years now, wakes me up every morning - and the acrylic glass case absolutely looks great!