10 months, 2 weeks 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:

The Freedom-K64F is an ultra-low-cost development platform for Kinetis K64, K63, and K24 MCUs.
Comment on this question

1 Answer

10 months, 2 weeks 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.

To post an answer, please log in.