Project: Daily 7 Event Timer

Using XCSB Lite v1.6.0


This project is ideal for beginners to PIC's and electronics, it is derived from an advanced version that has more features and flexibility.

The software is fully commented, and some explanatory notes can be found here and the user manual here . Of note is the way a software real time clock has been implimented using a type of Bresenham algorithm.

It uses a cheap PIC microcontroller to provide upto seven user programmed events per day.

When an event occurs a relay is turned on or off. The user interface is via a single push button and LCD. The push button is used to set the current time and the time of an event. The LCD is used to display the current time and to view and modify event settings. A LED lights to show an event is in progress.

Some of the uses to which it can be put are -

  • Basic Alarm Clock
  • Central Heating Timer
  • Curtain or Window Blind Opener Timer
  • Basic Room Light Controller


The project can be built using most low end 16 series PICs. A 16f628 is a good selection although PICs with larger program space will allow more functionality to be added. A PCB that was designed for an advanced version can be used for this project, with some minor alterations to the LCD wiring. As all pins are brought out to headers this would not be difficult to accomplish, and is shown below.

This circuit uses a 16F873The bare PCB  A populated board









The program "event_mainl.hex" will run directly on this circuit without software modification.

This circuit can be amended to provide two outputs by removing the LED and replacing with another transistor circuit, with the LED wired across the relay coil, in reverse to the blocking diode.

Care needs to be taken if the relay is to switch mains powered devices, and appropriate advice should be sort if this falls outside your constructional experience.

The bare PCB can be purchased from bTech for 8.00 (A$20.00) inc P&P to most countries, email  for details.


The software for this project is available from the download page (event-001.zip).

This program is written in XCSB. This version of the program has been compiled using the v1.6.0 LITE edition of the XCSB compiler which is available free of charge for personal non-commercial use from XCPROD

This page copyright Colin Barnard 2004