Adding a Real Clock Calendar to your Raspberry PI

The Raspberry Pi doesn’t have a little coin-battery-powered ‘Real Time Clock’ (RTC) module, which keeps time even when the power is off, or the battery removed.

To keep costs low and the size small, an RTC is not included with the Raspberry Pi. If your Raspberry Pi is connected to the Internet via Ethernet or WiFi, the time/date will be automatically updated from the global ntp (nework time protocol) servers.

For stand-alone projects with no network connection, you will not be able to keep the time when the power goes out.Adding a Real Clock Calendar to your Raspberry PI

In this project we will show you how to add a RTC Click shield from Mikroelektronika, without the use of iron solder or breadboard.

This is possible using a Click Shield ( MIKROE 1512 ) for Raspberry PI from Mikroelektronika, easily found on RS Components (http://uk.rs-online.com/web) RS SN 811-7024 and one RTC Click shield RS SN 820-9832.

We just need to insert the two Click board, please have a look to the images.

Step 1: Configuring the I2C

Now that we have the module correctly inserted we can set up the module, configuring the I2C :

If you are using Raspbian, you will need to open LXTerminal and enter the following command:

sudo nano /etc/modules

and add these two lines to the end of the file :

i2c-bcm2708

i2c-dev

Step 2: Install the i2c-tools utility

The I2C bus allows multiple devices to be connected to your Raspberry Pi, each with a unique address, that can often be set by changing jumper settings on the module. It is very useful to be able to see which devices are connected to your Pi as a way of making sure everything is working.

To do this, it is worth running the following commands in the Terminal to install the i2c-tools utility:

sudo apt-get install python-smbus

sudo apt-get install i2c-tool

Depending on your distribution, you may also have a file called /etc/modprobe.d/raspi-blacklist.conf.

If you do not have this file then there is nothing to do, however, if you do have this file, you need to edit it and comment out the lines below:
blacklist spi-bcm2708

blacklist i2c-bcm2708

.. by putting a # in front of them. Open an editor on the file by typing

sudo nano /etc/modprobe.d/raspi-blacklist.conf

.. then edit the file so that it appears as above and then save and exit the file using CTRL-x and Y.

Once this is all done, reboot!
sudo reboot

Step 3: See I2C devices connected

Now when you log in you can type the following command to see all the connected devices (if you are running a 512MB Raspberry Pi Model B)

sudo i2cdetect -y 1

This shows that one I2C address is in use – 0x50.
Note that if you are using one of the very first Raspberry Pis (a 256MB Raspberry Pi Model B) then you will need to change the command to:

sudo i2cdetect -y 0

The Raspberry Pi designers swapped over I2C ports between board releases.

Remember:

512M Pi’s use i2c port 1,

256M ones use i2c portAdding a Real Clock Calendar to your Raspberry PI schematich

Step 4: Now we will set the RTC….

Now that we have the module wired up and verified that you can see the module with i2cdetect, we can set up the module.

First, load up the RTC module by running

sudo modprobe rtc-pcf8583

Then, as root (type in sudo bash) run

echo pcf8583 0x50 > /sys/class/i2c-adapter/i2c-0/new_device (if you have a rev 1 Pi)

echo pcf8583 0x50 > /sys/class/i2c-adapter/i2c-1/new_device (if you have a rev 2 Pi)

You can then type in exit to drop out of the root shell.

Then check the time with

sudo hwclock -r

 

 

 

For more detail: Adding a Real Clock Calendar to your Raspberry PI


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top