# RasClock

Last updated: May 09, 2016 09:16

RasClock is a highly accurate real-time clock that fits on a Raspberry Pi and uses a battery backup to retain the time.

All versions of RasClock are functionally identical and all are built in the UK. Currently v4.0 and v5.0 are being manufactured.

RasClock uses one of the following chips:

- NXP PCF2127AT
- NXP PCF2127T
- NXP PCF2129AT
- NXP PCF2129T

All of these have the following features:

- Very accurate timekeeping (typically ±3ppm or <2 minutes deviation per year).
- Integrated crystal that compensates for temperature and age.
- The supplied 36mA 3V battery will keep the time for around two years if the device isn't used and considerably longer if it is.

### Installing the clock

1. Insert the backup battery (CR1220) into the RasClock. Ensure that the battery is inserted correctly with the positive terminal of the battery (marked +) facing away from the RasClock PCB. (Note that on the v5.0 of the RasClock the battery clip has a less obvious + marked on it but the polarity is the same as previous versions)
2. The module is installed directly into the GPIO header at the corner of the Raspberry Pi. It uses the 3.3V, GND SDA and SCL pins. The module stays within the outline of the Raspberry Pi and sits lower than video output so it should fit within most cases.

### Setting up on Raspbian

Raspbian Wheezy and Jessie already support the RasClock. First ensure this is up to date:

    sudo apt-get update && sudo apt-get upgrade

Two changes then need to be made:

1. Edit the file `/boot/config.txt`

If you see the file `/boot/overlays/i2c-rtc-overlay.dtb`. To enable this add the following line to `/boot/config.txt`:

    dtoverlay=i2c-rtc,pcf2127

If you see the file `/boot/overlays/pcf2127-rtc-overlay.dtb`. To enable this add the following line to `/boot/config.txt`:

    dtoverlay=pcf2127-rtc

After restarting your Raspberry Pi the RasClock should be recognised and you can control it with the hwclock command.

2. Edit the file `/lib/udev/hwclock-set`

Raspbian Wheezy: (Release 2015-02-16 and perhaps others) you will also have change the two occurrences of `--systz` to `--hctosys`

This is due to a change in the underlying debian release. Here is a debian report on the issue.

Raspbian Jessie:

- Comment out or remove the three lines

    if [ -e /run/systemd/system ] ; then
        exit 0
    fi

- Comment out or remove the two lines which contain `--systz`

### Getting and Setting the time

The first time you use the clock you will need to set the time. To copy the system time into the clock module:

    sudo hwclock -w

To read the time from the clock module:

    sudo hwclock -r

To copy the time from the clock module to the system:

    sudo hwclock -s

### Version 2.0 silk-screen

For version 2.0 of RasClock there was no annotation printed onto the PCB indicating pin connections. This is what should have been printed on the bottom of the PCB (i.e. non-component side):

### Setting up on old version of Raspbian

These steps are not needed on new versions of Raspbian (where `/boot/overlays/pcf2127-rtc-overlay.dtb` exists) and are only required for those who want to use the RasClock with an older version of Raspbian. First make sure you have up to date firmware on your SD card. You can download the firmware from GitHub or use Hexxeh’s easy updater tool.

Currently the module requires a driver that is not in the standard Raspbian distribution. The source code is available to build yourself (for both 3.2.27 and 3.6.11), or you can use the binary package we provide.

To install using the binary package you'll need to run the following commands on the Raspberry Pi:

    wget http://afterthoughtsoftware.com/uploads/linux-image-3.2.27-atsw-rtc_1.0_armhf.deb
    dpkg -i linux-image-3.2.27-atsw-rtc_1.0_armhf.deb
    cp /boot/vmlinuz-3.2.27-atsw-rtc+ /boot/kernel.img

http://www.nxp.com/products/interface_and_connectivity/real_time_clocks/rtcs_with_temp_compensation/PCF2129T.html
There is also an updated version of the binary package (3.6.11).

Please note that this has been updated (22nd October 2013) to correct a problem where the firmware was upgraded and the halt command would then reboot.

#### Latest kernel support

The latest build of the RasClock driver is now available from our site. We supply the full deb (.deb) image or just the kernel module (.ko). If using the kernel module you must make sure that:

- your current kernel is built using the armhf compiler
- you choose the correct version for your kernel version.

To install using the binary package you'll need to run the following commands on the Raspberry Pi:

    wget http://afterthoughtsoftware.com/uploads/linux-image-3.6.11-atsw-rtc_1.1_armhf.deb
    dpkg -i linux-image-3.6.11-atsw-rtc_1.1_armhf.deb
    cp /boot/vmlinuz-3.6.11-atsw-rtc+ /boot/kernel.img

To configure Raspbian to load the driver at boot, add the following lines to `/etc/modules` (for the latest kernels and kernel modules use rtc-pcf2127 instead of rtc-pcf2127a):

    i2c-bcm2708
    rtc-pcf2127a

To register the module at boot time and set the system clock from the RTC, add the following to `/etc/rc.local` for Rev1 boards:

    echo pcf2127a 0x51 > /sys/class/i2c-adapter/i2c-0/new_device
    ( sleep 2; hwclock -s ) &

For Rev2 boards:

    echo pcf2127a 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
    ( sleep 2; hwclock -s ) &

When the inserted module is called rtc-pcf2127 instead of rtc-pcf2127a:

    echo pcf2127 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
    ( sleep 2; hwclock -s ) &

After you reboot the Raspberry Pi, you should be able to access the module using the hwclock command.

### Comments

### Where to buy

##### In Canada?

Buy now on BuyaPi.ca

##### In the US?

Buy now on Acme Unlimited

Buy now on Chicago Electronic Distributors

##### Rest of the World

Buy now on ModMyPi.com!

### Other products

- Ward Orientation Clock

### Consultancy

Need help with your software or hardware development? View our services

### Related news

RasClock support included in Raspbian
13 February 2015
RasClock is made in the UK!
08 October 2014
RasClock now shipping in Canada and US!
04 February 2014
RasClock v2.0
19 June 2013
RasClock a huge success!
24 April 2013