Did I damage my board?

Hello,

I am trying to communicate between a DUE and an UNO via I2C. I had the communication wire up with a pullup resistor to 5V. For about 5-8 minutes I was trying to debug why the UNO wasnt receiving any information and then I realized that the DUE's tolerance is 3.3V.

Could giving 5V to these pins (SCL1 and SDA1 on the DUE) for about 5-8 minute damage the board? If so, how can I check?

Daniel

Try making them outputs and see what happens when you set them high and low. Make them inputs and see if you can read from them, when they are connected to 0V and 3.3V.

dgelman:
Hello,

I am trying to communicate between a DUE and an UNO via I2C. I had the communication wire up with a pullup resistor to 5V. For about 5-8 minutes I was trying to debug why the UNO wasnt receiving any information and then I realized that the DUE's tolerance is 3.3V.

Could giving 5V to these pins (SCL1 and SDA1 on the DUE) for about 5-8 minute damage the board? If so, how can I check?

Daniel

G'day Daniel!
How did you go? Did you manage to read the ports as Leon suggested?

FWIW, the potential for damage using pullups is limited to the amount of current the resistor supplies to the port pin. If it's less than the clamp diodes on the input pin can handle, you'd be fine, though I wouldn't make a final design like that!

Note that there are some brilliant examples of single-FET (like 2N7000) level-shifters that will work fine with I2C (I used them on an eZ80 at 1MHz and they worked perfectly!).

The ONLY catch I can see, is if the remote system's I2C pins were in non-open drain mode (i.e. if the device was reset and the pins weren't configured for I2C while the Due was connected). In that case, I would suspect that both devices would be suss, at least on the I2C pins, and possibly any circuitry on the die close to them. Sorry.

But, fingers crossed, let us know how you got on! You are the Guinea Pig!