0

I'm design a custom PCB based around the Arduino Zero/Adafruit Feather M0. The plan is to use a few I2C devices. I just had a few questions about whether I've designed the board correctly.

You'll see that I've used 10k resistors on each devices's SDA and SCL lines, but is this necessary? I've seen it mentioned on a few online documents for certain breakout boards etc...

Also, are the devices just connected in parallel? Are there any considerations I need to make when using 3 I2C devices like this?

Circuit Schematic

1

You'll see that I've used 10k resistors on each devices's SDA and SCL lines, but is this necessary? I've seen it mentioned on a few online documents for certain breakout boards etc...

You should have just two 3.3K resistors - one on the SDA and one on the SCL lines. However all your 10K resistors in parallel will equate to about the same thing - just taking up 3x the space.

Also, are the devices just connected in parallel?

Yes, it's a simple multi-drop bus.

Are there any considerations I need to make when using 3 I2C devices like this?

Not really, no. The frequencies in use are generally too low to require any specific layout considerations. Just try to keep vias to a minimum and don't snake the traces around the board too far.

  • Where does the value of 3.3K come from? I've seen 10k total suggested and also 4.7k. Will the bus capacitance make a difference? – CircularRecursion Dec 18 '17 at 15:53
  • 2.2-4.7k is the recommended range for I2C. It is above the minimum for the voltage the Arduino works at, and low enough as to keep the rise times well below the thresholds for "normal" (<200pF) bus capacitances. Chapter 7 of this document by NXP gives you all the technical blurb and formulae. There's even some nice graphs. You can see from those that 10k is kind of on the knee of the graph - too high really to be properly in spec - and the 30k+ of the internal pullups on the Arduino that everyone seems to use are way way out. – Majenko Dec 18 '17 at 16:00

Your Answer

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

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