Skip to main content
Graduate
November 17, 2025
Question

STM32F446RET6 DAC output

  • November 17, 2025
  • 1 reply
  • 199 views

Hi,

 

For STM32F446RET6, I want to use the DAC function of it. But I have some question.

 

1. If I don't use the output buffer, what is the output range? From the datasheet I think it should be 0.5mV to 3.3V±1LSB?

2. If I use the output buffer, what is the output range? From the datasheet I think it should be 0.2V to 3.1V?

(My VDDA=VREF is 3.3V)

 

3. For this 12-bit DAC, its minimum output cannot be 0V (regardless of whether a buffer is used). So how should I adjust its output? When calculating the formula X/4095 (where X is my setting), if I set X to 1 and do not use an output buffer, should its output be 0.5mV + (1/4095) * 3.3V?  

When calculating the formula X/4095 (where X is my setting), if I set X to 1 and use an output buffer, should its output be 0.2V + (1/4095) * 3.3V?

Thanks a lot for your help.

 

Best,

Junzhe

    This topic has been closed for replies.

    1 reply

    Technical Moderator
    November 17, 2025

    Hello,

    This is what STM32 Sidekick answered your questions :) :

    mALLEm_0-1763383665022.png

    1. DAC Output Voltage Range (Buffer ON/OFF)

    • With Output Buffer ON:
      The DAC output voltage range is from a minimum of 0.2 V up to (VDDA – 0.2 V). For your setup (VDDA = VREF+ = 3.3 V), this means the output can swing from 0.2 V to 3.1 V. The minimum and maximum output voltages are not exactly at the digital code extremes (0x000 and 0xFFF), but are limited by the buffer characteristics.

    • With Output Buffer OFF:
      The output voltage range is from a minimum of -0.5 mV up to (VREF+ – 1 LSB). For your setup, this means the output can go from approximately -0.5 mV to just below 3.3 V. Again, the minimum output voltage is not exactly 0 V, but slightly negative due to the DAC architecture.

    2. Calculating Output Voltage for a Given Digital Value

    To calculate the output voltage for a given digital value (X), you must consider the minimum and maximum output voltages as described above.

    • With Buffer ON:

      VOUT = 0.2 V + [X / 4095] × (3.1 V – 0.2 V)
      

      Where X is your 12-bit digital value (0 to 4095).

    • With Buffer OFF:

      VOUT = -0.5 mV + [X / 4095] × (3.3 V – (-0.5 mV))
      

      This formula accounts for the slightly negative minimum output.

    3. Minimum Output Voltage and Practical Limitations

    • True 0V Output:
      The DAC cannot achieve a true 0V output, regardless of buffer configuration. The minimum output is either 0.2 V (buffer ON) or -0.5 mV (buffer OFF). This is a practical limitation of the DAC design.

    • Formula Adjustment:
      When calculating the output for X = 1 (buffer OFF), the output is:

      VOUT = -0.5 mV + (1/4095) × 3.3 V
      

      This means the output starts slightly below 0V and increases linearly with the digital value.


    Summary

    • With buffer ON: Output range is 0.2 V to 3.1 V.
    • With buffer OFF: Output range is -0.5 mV to just below 3.3 V.
    • The DAC cannot output a true 0V; minimum output is limited by hardware.
    • Use the adjusted formula for output voltage calculation, considering the minimum output voltage for your configuration.
    JunzheAuthor
    Graduate
    November 17, 2025

    Hi,

     

    When I use an output buffer and set X to 1, my DAC output is 0.063V. Why is that? And why is my DAC outputting 0.6V when I don't use the output buffer and set X to 1?