DS1307 RTC Module with BAT for Raspberry Pi SKU: EP-0059

From 52Pi Wiki
Jump to navigation Jump to search

DS1307 RTC Module with BAT for Raspberry Pi[edit]



The RTC module is specifically designed for Raspberry Pi. It communicated with Raspberry Pi through I2C bus. There is a Maxim DS1307 and CR1220 button cell on the board to keep the real time for a long time after the Raspberry Pi has it’s power off. In order to offering a convenient way to debug, there are five pin has been setup which are 5v, 3.3v, Rxd,Txd on board.

Compatibility List[edit]

  • Compatibility
Platform DS1307 RTC Module Notes
Raspberry Pi 3 Model B Plus WIP WIP: work in process
Raspberry Pi zero
Raspberry Pi zero W
Raspberry Pi 3 Model B
Raspberry Pi 2 Model B
Raspberry Pi Model B+


  • Use Maxim DS1307 chip
  • Extends CR1220 button cell backup
  • Can be operated with shell command
  • Include a serial port connector
  • Programmable square-wave output signal
  • Consumes Less than 500nA in Battery-Backup Mode
  • Automatic Power-Fail Detect and Switch Circuitry
  • Programmable Square-Wave Output Signal


  • Accuracy ±20ppm from 0°C to +40°C
  • Work voltage 5V
  • Battery Backup Input for Continuous Time keeping
  • Real-Time Clock Counts Seconds, Minutes, Hours, Day, Date, Month, and Year with Leap Year Compensation Valid Up to 2100
  • Work temperature 0°C to +70°C
  • Ports:
    • Raspberry Pi A+/B+/2 module 2X13 connection port
    • Raspberry Pi 3, Mode B, 1GB RAM 2x20 connection port
    • 2*5pin 2.54mm connector


  • 1 x RTC Module
  • 1x CR1220 Battery


  • Mechanical Drawing:

How to Connect:[edit]

    • 1.Software Requirement:Base Raspbian Operating System
    • Ds13073.png

    • 2. Connection: Just insert the module into Raspberry Pi
    • Ds13074.png

    • 3. USB-to-TTL cable wire connect to RTC
    • Ds13075.png

    • 4. Finally
Note: RTC 5v pin connect to USB-to-TTL Red wire(5v)
RTC GND pin connect to USB-to-TTL black wire(GND)
RTC TX pin connect to USB-to-TTL Green wire(TX)
RTC RX pin connect to USB-to-TTL white wire(RX)

How to configure in terminal[edit]

Here we assume that you have already burned the Raspbian Image into TF card and connect to your PC and logged in. Open a terminal and modify /boot/config.txt file using what you favorate editor such as vim.tiny or nano, add parameters as following picture:


You can read /boot/overlay/README and find this info to add support for ds1307 I2C Real Time Clock device.

Name:   i2c-rtc
Info:   Adds support for a number of I2C Real Time Clock devices
Load:   dtoverlay=i2c-rtc,<param>=<val>
Params: ds1307                  Select the DS1307 device

please ensure that /boot/config.txt file include those three paramaters:


After that, please make sure you have disabled the "fake hwclock" which interferes with the 'real' hwclock

sudo apt-get -y remove fake-hwclock
sudo update-rc.d -f fake-hwclock remove

Now with the fake-hw clock off, you can start the original 'hardware clock' script.
Edit the script file /lib/udev/hwclock-set with nano or vim editor and comment out these three lines:

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

Finally result like this:

Raspberry pi hwclock-set.png

save and reboot your RPi.

How to Check it[edit]

After reboot and log in, open a terminal and typing this command to check if RTC module is functional. dmesg |grep rtc if you can see this picture means that your RTC module is working properly.


and then you can adjust your system clock as following command:


Note: 051014302016.20  is equal to mmDDHHMMYYYY.ss, more information please using  ‘man date’ command.
Last step, set the Hardware Clock to the current System Time.

ok, finished. Have fun.


  • Question: Why does my RTC module running a wrong time when i reboot my Pi ?
    • Answer: Please do remember to disable the "fake hwclock" which interferes with the 'real' hwclock as following commands:
sudo apt-get -y remove fake-hwclock
sudo update-rc.d -f fake-hwclock remove