Intel® Makers
Intel® Edison, Intel® Joule™, Intel® Curie™, Intel® Galileo
Welcome - This is a Peer-to-Peer Forum only. Intel has discontinued these products but you may find support from other customers on this Forum
9881 Discussions

I2C issue on Edison



I need to use I2C protocol on the Edison platform. My setup up to now is the Edison on the Arduino breakout board programmed with the Arduino IDE. I follow the recommendations and used the available documentation and forum but still I don't get anything on the pins. My code is extremely simple up to now:

# include

int led = 13;

const byte myAdd = 8;

int i = 0;

void setup() {

Wire.begin(myAdd); // join i2c bus (address optional for master)


pinMode(led, OUTPUT);


void loop() {


digitalWrite(led, HIGH);


Wire.beginTransmission(10); // transmit to device whose address has been saved in data[2]

Wire.write(11); // sends one byte

Wire.endTransmission(); // stop transmitting


digitalWrite(led, LOW);


The led is blinking, the serial port is writing me, the I2c is completely silent (Both SDA and SCL pins. I checked also all the other arduino pins).

What am I missing?

Then I have a few question:

I can't find a well done documentation about the circuitry on the board. For example: are the pull-up resistors already on the Edison chip, on the edison board, on the arduino board or are they not there and I have to place them?. In case they are on the chip, how can I program them through the Arduino IDE?

Is the I2C high voltage 1.8, 2.5, 3.3, or 5? Is it settable? Where? How?

On the forums there is written that possible an MRAA setting is needed. Where can I find a complete documentation on that?

1 Reply

Hi Geppettolab,

Have your tried using A4/A5 instead of SDA and SCL? A software change is necessary to enable the other I2C port.

For the other questions, there's a lot of information in the Edison Expansion Board hardware Guide, there you'll find the arrangement of the pins and the available configurations for each one, there's also a multiplexing guide which you can also find in here This includes the pull up resistors for the pins which are also configurable.

This has to be done from the Linux side, but there are examples that will teach how to do it.