I have successfully setup a RTC clock ( DS3231 ) on a RPi zero. The whole process was explained here. It works as expected but with only a minor difference: Row 5 is filled with numbers from 0x50 to 0x5f. There are guys here who complain about all cells filled, but in this case only a row is fully filled. What could be wrong here?

UPDATE: I have not removed the pull-up resistor on the DS3231 board. Well, here are the photos that may help.

Image 1:

i2cdetect result

enter image description here


my setup enter image description here

Image 3: Soldering enter image description here

  • @Behzad Sedighzadeh, Ah let me see. Usually it means the I2C signal lines SCLK, SDA are bad, noisy and/or distorted for some of the following reasons: (1) Wires too long, resulting capacitance too large (> 400pF), (2) too many devices on one bus, resulting the pull up resistances too small and overloads the bus (I2C SCL, SDA pins already has 1k8 pull ups on board. If you add one device, you have module's 4k7 (or 10k) pullup in parallel, one more device one more 4k7, ... The resultant 1k8 || 4k7 || .. 4k7 becomes very "strong" and Rpi find it too hard to pull it down, .. . / to cont. – tlfong01 Oct 23 '19 at 8:36
  • If you have more than a couple of I2C devices on the same bus, you need to remove all except one module the on module pull ups (yes, newbie scarily desoldering the SMD resistors.). So the resultant pullup is only 1k8 || 4k7, not too strong for the feeble Rpi I2C pins. – tlfong01 Oct 23 '19 at 8:40
  • This picture shows an I2C device with pullups removed: imgur.com/gallery/xfu1GVY. – tlfong01 Oct 23 '19 at 9:04
  • Another i2c device with pullups removed: imgur.com/a/vaewSF2 – tlfong01 Oct 23 '19 at 9:09
  • I found a tutorial on DS3231 pullup removal: raspberrypi-spy.co.uk/2015/05/… – tlfong01 Oct 23 '19 at 9:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.