The I2C (Inter-Integrated Circuit) bus is almost inevitable for any electronic circuit board. Even though it was invented more than 40 years ago (By Philips Semiconductors), it is still very much in use. Here are five thing you must not do, when working with a I2C bus.
- Forgetting pullup resistors: You might think that you don’t need them, maybe you have internal pull ups. But you should always place footprints for resistors.
- Routing through current pulsing or EMF regions, such as DC/DC current loop, LED-drivers.
- Routing near sensitive analog traces, circuits or crystals.
- Master and slave at different supply voltages (Use a voltage level shifter if necessary).
- Wrong pullup resistor, to large will end up making the voltage rise to slow. a to small resistor and the IC might not be able to pull it down. TI has a great Application Report SLVA689 about it
- Having two device with the same I2C address, remember to check the address before sending your PCB for manufacturing
Source: TI SLVA704
For a better understanding of the very popular I2C bus see TI´s App report SLVA704.
For debugging this article can help