I2C on Arduino Due with 5V VDD

If you use the DUE builtin pull-ups attached to the i2c pins and the due's 3.3V supply (this is the case for SDA/SCL BUT NOT for SDA1/SCL1), then all the high pulses on the line will be 3.3V, even if the peripheral is running on 5V.

Check that your I2C device has TTL logic levels, which means that it interprets 3.3V to still be logic high. You will have to check your datasheetl to see if it will recognise 3.3V as a logic high input, if not, you'll have to use logic level shifters.

Anyway, the safest is always to use logic level shifters.