Go Down

Topic: I2C on Arduino Due with 5V VDD (Read 402 times) previous topic - next topic


I'm wanting to use 2 of the mcp4725 devices in combination with the Arduino Due. Additionally, I would like the output of the DAC to be in the 0-5V range, so I would like to supple the MCP4725 with 5V on VDD.
Will that mean the i2c pins (SCL, SDA) of the MCP4725 be running at 5V? Will that damage the Arduino Due?
I've hard the Due has internal pullups on the first set of SCL, SDA pins, but I don't know if that means this scenario is OK.

Thank you for your time in reading this.


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.


May 19, 2018, 07:44 pm Last Edit: May 20, 2018, 12:23 am by GolamMostafa
Anyway, the safest is always to use logic level shifters.
Very very important statement for the reliable operation of the DUE-MCP4725 setup.

DUE will assert 3.3V as Logic-H on SDA/SCL line. The symbolic name of this signal is VOH. VOH is the maximum voltage that the pin will assume when Logic-H is asserted on the pin.

According to data sheet of MCP4725, the value of VIH is minimum 0.7*VDD = 3.5V at 5V supply at the VDD pin. VIH is the minimum input voltage that will be recognized as logic-H state.

So, the MC4725 will very likely fail to recognize the SDA/SCL signals (3.3V) as Logic-H because it is below the specification of VIH which is 3.5V.

Therefore, use a voltage level sifter or operate MCP4725 at lower supply voltage (range: 2.7V to 5.5V).


Understood. I thought that might be the case.
Thank you both for the explanations and information.
I'll use voltage level shifter between the devices and the DUE.

Thanks again.


May 20, 2018, 07:19 am Last Edit: May 20, 2018, 07:20 am by GolamMostafa
I'll use voltage level shifter between the devices and the DUE.
If you wish, you can operate the MCP4725 DAC at 3.3V supply voltage of the DUE. If so --

1.  The resolution of the DAC would be 3.3/212 = 0.0008 V.
2.  The full scale of the DAC would be 3.3V. That means that when 0b111111111111 (0xFFF) is written into the DAC, the voltage at the DAC's output would be 3.3V instead of 5V.


Sorry for the delay in responding and thank you for the additional information.
Yes, I saw that the MCP4725 could be operated at 3.3V with the output limited to 3.3V. Unfortunately I require 5V output from the DAC.
I went with a logic level shifter and it works as expected.

Thank you again for your assistance.

Go Up