The idea of this project was to build an automatic control for mains heating for the house. The switch turns on the heating in the morning at predefined time and switches off at night. Every weekday can be set at different time points. There can be up to 256 programmable time points and up to 8 output lines that can be connected to relays. Times are programmed via RS232 interface using a command line.
Probably one of most interesting things that differs this project from other is that device synchronizes its time by using DFC77 radio transmissions. So always time is accurate and all daylight settings are applied automatically. DCF77 receiver sends pulse signals directly to PIC microcontroller in desired intervals that must be decoded and applied to current settings. Source code is developed in C and is available for download.