• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Fast I2C Micrcontroller

Not open for further replies.


New Member
I'd like to control several MCP23017 I2C I/O Expanders at their maximum data rate which is 1.7MHz.

I started with an Arduino, but that can't go much faster than 400kHz.

I've got a JDM Pic programmer, so something that could be programmed by that would be fine. But I'm open to other suggestions as well.

Are there any microcontrollers (preferably programmed in C) that you would recommend that can do a fast I2C bus?


Active Member
I thought I2C was only standardized at 100KHz, 400KHz and 1MHz?

If you want much faster, you will need to go to SPI like blueroom said.


New Member
We've opted for the expandability of I2C over the pure speed of SPI.

Our control system PCB has already been sent out for printing, so that is set in stone.

Our I/O expanders support 100kHz, 400kHz, and 1.7MHz.
Datasheet: http://www.electro-tech-online.com/custompdfs/2009/05/21952b.pdf

I imagine that they'll work with any speed up to 1.7MHz as I was able to run the Arduino I2C a bit about 400kHz.

Any microcontroller suggestions for running fast I2C?


Well-Known Member
Just about anything can do it. I'm assuming the Arduino is limited by it's bootloader/operating system to standard I2C rates.
Concur with the PIC at 1 Mhz. If you go with a PIC, try an 18f with has a 4 x PLL and a MSSP module (master I2C) to be exact. Using a 18f4620 MI2C, there is no problem with a PCA9635 (FM+bus at 1 Mhz). Surely the other PICS do to.

Have not tried the 4xPLL to increase the baud rate generator (BRG) of the MI2C over 1 Mhz. Anyone?
Not open for further replies.

Latest threads

EE World Online Articles