Cortex I2C Port Usage

I have three technical questions regarding the I2C port located on the new Cortex Microcontroller. Any help would be appreciated.

  1. How do you use the I2C port to read sensors with Easy C v 4?
  2. Can the Baud rate be changed (400 KHz or 1 MHz)?
  3. Do we need pull-up resistors on the SCL and SDA lines (and if so what values are recommend)?

I’m very interested in this too, but little has been published about the I2C port so far.
The wiki says this:
*]0 to 3.3v logic I/O
*]Data rate, word width, etc set by compiler
*]See Cortex Pin-out for wiring details
This thread indicates that EasyC will only add I2C support when IFI releases sensors that need it. It doesn’t say if the support will be limited to just Vex sensors, or if generic I2C support will be added.

That is about all I’ve found on the I2C port, so it seems to be a dead-end until one of the programming environments supports it or provides register-level access to the Cortex (including native ISRs).

  • Dean

Thanks for your quick response Quazar. I would like to be able to connect sensors and other devices to the VEX Cortex Microcontroller using the I2C port. The information provided by IFI is not enough at this time to use I2C.

I got the same response from the RobotC Team. I think it is pretty rubbish they don’t even have basic read/write functions. There are many reasons I2C should be supported.

  1. For the College competition where any sensor is legal! I currently have to go through a separate microcontroller JUST to change the I2C reading of a sensor to USART.

  2. For teaching. I2C is a very commonly used embedded protocol

  3. As a robotics hobbyist I would also find it very useful for lots of different projects.

Not having any support for I2C is currently a real limitation.

***Pikey ~ Team aMEss, Massey University, New Zealand

I completely agree, and I think it is just a matter of time.

I believe IFI has always planned to provide generic I2C support, but the transition to VEXnet/Cortex has taken a significant amount of their attention. Since they can’t do everything at once, they have to prioritize their efforts. Now that the VEXnet transition is basically complete, I hope the smart sensors and generic I2C support are coming soon.


  • Dean

We agree 100%, which is why the I2C port is included in the first place. The I2C functionality of the hardware will be unlocked soon – we just have plenty of other stuff on the development list (the software list is pretty long right now). Look for it in the future, along with a few I2C sensors…


I can’t wait! :slight_smile: