Do I2C devices need common 5V?

This Instructable explicitly says:

Devices have to share both 5V (Power) and GND (Ground)

Grounds I can understand, but the pic on Step 2 which has two Arduinos' 5V joined together doesn't sit well with me. The pins are nominally at the same 5V but in practice are unlikely to be.

Can someone advise please?

Hmmm well I dug a bit and found that Nick Gammon's pic here does not common the 5V between two Unos.

Presumably the pullups are to either of the Uno's 5V then?

This Instructable explicitly says: ...

It's an 'Instructable', did you expect it to be correct?

Presumably the pullups are to either of the Uno's 5V then?

Yes. They are both typically on one of the I2C devices but that is not a requirement.

Don

Just tested it, didn't join the 5Vs... had both Unos on their respective USBs as it happens. (Actually didn't even do the pullups, due to laziness....)

JimboZA:
Just tested it, didn't join the 5Vs... had both Unos on their respective USBs as it happens. (Actually didn't even do the pullups, due to laziness....)

as long as each device is powered and they share a common ground (reference), the buses are pulled to 5V or 3.3V, (all of the devices have to agree what the maximum is) by 4.7k resistor, I2C devices are happy. The bus length is limited by the drive current of each device and the capacitance of cabling. Analog Devices has a good description of the considerations involved. I2C Cabling

Chuck.


Check out my Kickstarter Project Memory Panes an expansion RAM Shield for Mega2560's. It adds 1MB of RAM for those projects where 8KB is not enough.

floresta:
It's an 'Instructable', did you expect it to be correct?

Good point