Real Time Clock Timing

Here is a picture of signals between motherboard and rtc clock. RTC uses Intel timing protocol. Pulse duration is about 1µs and time between pulses are about 24µs. AS means Address Select. It functions like clock signal. When DS is low then motherboard wants to read rtc and when RW is low motherboard wants to write to rtc memory. Data protocol is same as generic RAM memory. All this is valid only if MOT pin is connected low. Otherwise Motorola timing is used and it is completely different.

Optimization and improvements

Some enhangements to second prototype of New RTC Replacement Module. New circuit board is ordered from China and is coming soon.

Improved schematic diagram. Added memory capacitor and support circuit that allows use of smaller limiting voltage capacitors. PCF8563 is deprecated and replaced with PCM8583. Program code needs appropriate changes too.

Prototype is ready for testing

Ready made prototype of New RTC Replacement Module. Battery is replaced with 0.68F memory capacitor.

To transfer program in to AVR which has Arduino bootloader installed is possible with USB to UART board. Only one 100nF capacitor is needed.

Connection UART – AVR
  • GND – GND
  • +5V – +5V
  • TX – RX
  • RX – TX
  • DTR – 100nF cap – RESET

New RTC Replacement Module

Old computers often does not work because of worn out backup battery on the motherboard. That battery keeps RTC, Real Time Clock running. Without it BIOS can not start operating system or at least there is some serious errors in startup.

In many cases that battery is not changeable. It is molded inside of RTC module. Module type is Dallas DS12887 or similar. One can buy new module from eBay on example, but it is NOS, New Old Stock because that part is obsolete. Batteries often worns out even without use in about ten years.

Solution is to remove old DS12887 module from motherboard and put own circuit in place.

This circuit is compatible with Arduino and Arduino IDE can be used to program it directly. Arduino is programmed with code that mimics all functions that ds12887 have.