Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
7 years, 7 months ago.
query : I2C interface requires external pull-up resistors ?
Hello Team,
master : FRDM-K64F Dev Board slave : SmartCard
I have FRDM-K64F Board, & i want to connect slave-device with (master)board through I2C comm interface.
I have query that, given I2C comm interface pins contains internal pull-up resistors? or it's necessory to connect external pull-up resistors?
Please give me helpful info regarding I2C comm interface between board(master) & slave-device (connection, take cares, if required external pull-up resistors than resistor's value, or any other helpful info).
Thanks, Vishal PATEL
Question relating to:
1 Answer
7 years, 7 months ago.
Hi Vishal. What is the value of the internal pull-up resistors ? Check the datasheet. Often the pull-up resistors are weak and NOT suitable for I2C use - rather they are used to just park the port pin so it does not float.
For I2C, you will need to add external resistors of 1k (very strong) to 10k. We typically use 2.2k or 2.7k in our designs. Search the net for this topic but the I2C pull-up resistors are not rigid on the value. Also, pull-up to 3v3 as the port pin may not be 5v tolerant and you can blow the port pin. The reason you need the pull-up resistors is that the I2C spec has a logic low but NOT a logic high. Instead the drivers are OPEN DRAIN which is just that, open and floating when you output a HIGH onto the I2C port pins. For this reason, you need a pull-up resistor to define the logic high.