STM32 gotchas
135.Using the internal VREFBUF reference requires a specific value capacitor

VREFBUF in the newer STM32 families provides a convenient reference voltage source for ADC and other analog functions. Where available, it is internally connected to the VREF+ pin, which otherwise would serve as an input to external voltage reference.

As user _andreas pointed out, using VREFBUF requires to have a capacitor connected between VREF+ pin and (analog) ground1. Datasheets call for a rather specific value of this capacitor, 0.5 μF - 1.5 μF, typ. 1 μF. The value of this capacitor determines also the startup time of VREFBUF. In parallel to this capacitor, the datasheet also requires a 100nF capacitor to suppress high-frequency noise.


1. Some STM32 families - namely 'L1 and 'L0 - don't have VREFBUF, but still have some form of VREF output, marked VREF_OUT. This is a buffered version of the internal VREFINT reference, which is not connected to VREF+ pin, but brought out through switches (controlled by COMP_CSR.VREFOUTEN and RI_ASCR1.CH8/CH9 in 'L1; and by SYSCFG_CFGR3.SEL_VREF_OUT in 'L0) to one or two GPIO pins. According to datasheets, VREF_OUT has only 1uA current capability, and must not be loaded by more than 50pF. This may cause some confusion when migrating across STM32 families.