0

I want to use a TSL2561 light sensor and a DS1307 RTC and a couple of other sensors like DS18B20, AS3935, ML8511, MQ135, 433 mhz sender together with an Arduino. However on Adafruit I read this today (Quote from Adafruit)

You may be wondering, how is it OK to connect a 3.3V chip like the TSL2561 to 5.0V data pins like the Arduino? Isn't that bad? Well, in this specific case its OK. I2c uses pullup lines to the 3.3V power pin, so the data is actually being sent at 3.3V. As long as all the sensors/device on the i2c bus are running on 3.3V power, we're fine. However, don't use a 5.0v powered i2c device (like the DS1307) with pullups at the same time as a 3.3V device like the TSL2561! If you want to use this sensor with a datalogger that uses the DS1307, remove any/all of the pullup resistors from the DS1307 SDA/SCL pins. The pullups built into the TSL2561 will then be active and keep the voltage at 3.3V which is safe for both the RTC and the sensor.

I don't really understand the meaning of this. What am I supposed to do? It tells me to remove the pullup lines on the RTC, but what are they and where can I find them? Are there any other sensors where I have to do this? If I don't remove the pullup lines, will I damage anything? Can someone clarify those things to me?

4
  • You can use the DS1307 itself just fine, but you are probably using a breakout board. These boards have (pull-up) resistors on it that will pull-up the I2C lines to 5v, while you only want 3.3v. What board (if any) are you using for the DS1307?
    – Gerben
    Commented Aug 1, 2015 at 9:58
  • I am using a normal one you get from ebay for like 2 bucks
    – qwertz
    Commented Aug 8, 2015 at 15:56
  • There is no "a normal one", as there are multiple version, each having different configurations of pull-up resistors.
    – Gerben
    Commented Aug 8, 2015 at 16:21
  • I am using this one ebay.com/itm/…
    – qwertz
    Commented Aug 8, 2015 at 16:24

1 Answer 1

2

You can use the DS1307 itself just fine, but you are probably using a breakout board. These boards have (pull-up) resistors on it that will pull-up the I2C lines to 5v, while you only want 3.3v. This will not damage the arduino, but could damage chips like the TSL2561, that can only handle 3.3v.

RTC breakout

On the board you indicated you are using, you need to remove R2 and R3

Other 5v sensor breakout might also have pull-ups to 5v. Easiest way to check, is to connect 5v and ground, and then measure the voltage on the SDA and SCL pins. If it's 5v, then it has pull-up resistors that need to be removed.

2
  • Thank yoh. How would I remove them? Just desolder them and leave a unconnected gap or bridge them? Also do I need to do this for other chips? How do I figure out if I have to remove resistors and where?
    – qwertz
    Commented Aug 8, 2015 at 19:48
  • Desolder and leave open. The last two questions I've already answered.
    – Gerben
    Commented Aug 9, 2015 at 8:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.