Some microcontroller applications such as those which log or track information often require current time and date information to be stored along with the collected data. A Real Time Clock (RTC) chip such as the IC DS1307 with battery back-up can be used to supply the required information. This particular chip easily integrates into most designs using the absolute minimum of external components. The process of programming the chip in software is simple and is supported in the majority of programming environments. Intrinsic functions, header files, and libraries are widely implemented for the device. A quick trawl of the Internet will uncover lots of programming examples.
So far so good except that the chip first needs to be programmed with the current time and date information. This information is maintained and updated (thanks to a keep-alive battery) even when the external circuitry is shut down. To carry out the programming requires connection to a keyboard and display but the additional hardware will only ever be needed for this one-off event. The design suggested here solves the problem by combining the IC,
battery, crystal and peripheral components onto a tiny plug-in PCB. The circuit consists of a small square of prototyping perf board onto which is mounted the IC, a crystal, battery, a decoupling capacitor (C1) and two (optional) pull-up resistors for the open collector outputs. An IC socket with extra longs pins (or two modular connector strips) completes the design. The complete RTC module (see photo) is self-contained and can be plugged from one circuit to another using its long pins without losing track of time and date. The only requirement in the target system is space for an 8-way DIL socket, wiring to the socket and software to read the time information.
The essential advantage with this approach is that hard and software expenditure in the target system is kept to a minimum, it will only ever need to read the time and date information. The extra hardware and software required to set both time and date are assigned to a separate system, maybe a dedicated breadboard design. Once programmed the ticking clock module can then simply be transferred to the target system.