Due I2C not working

I first noticed that the Due has two 1K pull up resistors on SCA and SDA pins when I read its schematic. I have not seen an I2C circuit that uses such low value pull-ups and initially I thought that it was a misprint, but late verified that the schematic matches the PCB for the resistor value. I don't know why the controller needs such low value pull-ups. These two 1K pull-ups may be the cause why the I2C works better without a 3.3V to 5V logic translator. A translator chip like the TXB0108 has an internal 4K current limit resistor in series with each I/O pin. It won't pull down an input pin low enough to make it as logic "0" if the input pin has a 1K pull-up, it does not even work if the pull-up is 10K. It requires a 50K pull-up as it's recommended by adafruit 8-channel Bi-directional Logic Level Converter [TXB0108] : ID 395 : $7.95 : Adafruit Industries, Unique & fun DIY electronics and kits so it can pull the input pin down to (3.3V x 4)/54=0.135V. If you use a MOSFET circuit as a logic level translator, the 5V output may not be able to pull down the 3.3V input lower enough to make Vgs large enough to fully turn on the MOSFET. 4-channel I2C-safe Bi-directional Logic Level Converter [BSS138] : ID 757 : $3.95 : Adafruit Industries, Unique & fun DIY electronics and kits

If you are brave enough you can remove those two pull-up resistors, the I2C circuit should start to work normally. You can always add pull ups externally. The resistor network that contains the 2 pull up resistors has 4 resistors in its package, fortunately other two resistors are not used.

Without a proper 3.3V to 5V voltage translator, a 5V output pin will still be able to control a 3.3V input via a current limit resistor, but it will stress the microcontroller. It may work for a while, but eventually the controller will die if the resistor value is not very large. The lower resistance the shorter controller's life. With a 1M resistor it may last forever, with a 10K resistor it may last years, but with an 1 ohm resistor it may only last a few seconds. That's one of reasons why some electronic products don't last forever. So a proper voltage translator is important to prevent a microcontroller from degrading.

Just FYI, the UNO does not have on-board pull-up resistors on I2C pins and the MEGA has two 10K pull ups, not 1K.