DAC0/DAC1: voltage level

Hello Community,

while working with the Arduino Due, I've noticed that the voltage output is slightly different than expected.

Analog Input: 0 ... 3.3 V -> 0 ... 4095
Analog Output: 0 ... 4095 -> 0.55 ... 2.75 V

Does anyone know why it doesn't generate an 0 ... 3.3 V output signal?

I've changed the analog read/write resolution to 12 bit.

minimal code:

analogWrite(DAC1, 0);
analogWrite(DAC1, 4095);

(voltage measured with a digital oscilloscope)

What came in my mind:
0 ... 3.3 V would be 1.65 +- 1.65 V
0.55 ... 2.75 V would be 1.65 +- 1.10 V

So the "middle" voltage is always 1.65 V and just the +- part is only 2/3.

Any ideas who to fix that?

This issue can't be fixed, see Sam3x datasheet Tab 45.44 page 1412.

Edit : see Arduino Project Hub

if you want you can reach the 0V level by turning off the dac

dacc_reset(DACC_INTERFACE);

Analog Output: 0 ... 4095 -> 0.55 ... 2.75 V

there are many threads on this, answer is simple that DAC output is in range 1/6...5/6 of 3.3V.
And that cannot be changed.

https://forum.arduino.cc/index.php?topic=178453.0