I2C DS1307 Problem



I’ve just test DS1307 at I2C-0 and the address has detected as 0x68. Unfortunately, I can’t do “modprobe rtc-ds1307” it shows “modprobe: FATAL: Module rtc-1307 not found”.
How to set the rtc ds1307 to work?


I2C client driver on dragonboard 410c

I have the DS1307 working on the 410c. Take a look at the post here: https://www.96boards.org/forums/topic/dragonboard-410c-with-real-time-clock-rtc/

A few things you should check:

  • ensure you have level shifters between the 410c and the DS1307. I used this board: https://www.96boards.org/products/mezzanine/sensors-mezzanine/ which should be available soon, in the meantime there are many level shifter boards from AdaFruit or Seeed that will do the trick.
  • The DS1307 operates at 5.0V, (not 3.3V) so make sure that you are level shifting up to 5.0V levels, and that you are supplying the chip with 5.0V. The sensors mezzanine board has a switch to select 3.3V or 5.0V.
  • The AdaFruit DS1307 kit comes with 2.2k Ohm pull-up resistors on the SCL and SDA signals, this combined with the pull-up resistors on the level shifters requires a lot of drive current, more that the 410c normally provides. Remove the 2.2k ohm pull-up resistors from the DS1307 board, they are not needed.
  • the battery doesn’t make good contact with the negative pad on the DS1307 board, put a small amount of solder on the pad to make it a little bit thicker, then you will get good contact.

Let me know if you have any more problems.

Full Disclosure: I am an employee of Qualcomm Canada, any opinions I have expressed in this or any other post may not reflect the opinions of my employer.