Skip to main content
Associate
July 17, 2025
Solved

STM32F303 ADC Voltage Regulator Function ADVREG

  • July 17, 2025
  • 2 replies
  • 336 views

Hi, I'm searching for more details on  STM32F303 ADC Voltage Regulator Function ADVREG. According AN4195 it needs to be enabled before ADC calibration. ADC Regulator is by default disabled. But i cannot see any big difference on ADC conversion results bettween enabled and default (disabled) state of the regulator. I'm using recommended ADVREG enable sequence 10 -> 00 > 01. Thanks!

Best answer by Imen.D

Hello @KaHu ,

The STM32F303 ADC voltage regulator (ADVREG) must be enabled before calibration because it provides the necessary stable internal voltage for the ADC to operate correctly. If the voltage regulator is not enabled, the ADC calibration cannot proceed as the required conditions for calibration are not met. 

If you do not observe a significant difference in ADC conversion results, it may be due to other external conditions. 

So, it's recommended to follow the guidelines provided in the reference manual RM0316 and ensure the correct bit assignment ([Bit 29:28]) is used. 

ImenD_1-1752840021776.png

ImenD_3-1752840088223.png

The recommended sequence for enabling the ADVREG (ADC voltage regulator) on STM32F303 is as follows:

  1. Change the ADVREGEN[1:0] bits from '10' (disabled state, reset state) to '00'.
  2. Change the ADVREGEN[1:0] bits from '00' to '01' (enabled state).

This sequence ensures the regulator is properly enabled and stable before ADC operations commence. 

Not following this sequence can result in improper initialization of the ADC voltage regulator, which may lead to unstable ADC operation or failure to perform ADC calibration and conversions correctly. 

2 replies

Imen.DBest answer
Technical Moderator
July 18, 2025

Hello @KaHu ,

The STM32F303 ADC voltage regulator (ADVREG) must be enabled before calibration because it provides the necessary stable internal voltage for the ADC to operate correctly. If the voltage regulator is not enabled, the ADC calibration cannot proceed as the required conditions for calibration are not met. 

If you do not observe a significant difference in ADC conversion results, it may be due to other external conditions. 

So, it's recommended to follow the guidelines provided in the reference manual RM0316 and ensure the correct bit assignment ([Bit 29:28]) is used. 

ImenD_1-1752840021776.png

ImenD_3-1752840088223.png

The recommended sequence for enabling the ADVREG (ADC voltage regulator) on STM32F303 is as follows:

  1. Change the ADVREGEN[1:0] bits from '10' (disabled state, reset state) to '00'.
  2. Change the ADVREGEN[1:0] bits from '00' to '01' (enabled state).

This sequence ensures the regulator is properly enabled and stable before ADC operations commence. 

Not following this sequence can result in improper initialization of the ADC voltage regulator, which may lead to unstable ADC operation or failure to perform ADC calibration and conversions correctly. 

"When your question is answered, please close this topic by clicking ""Accept as Solution"".ThanksImen"
KaHuAuthor
Associate
July 21, 2025

Hi Imen, thank You! This is what I expected. I'm still wondering how the ADC is working without stable ADVREG ;) Best Regards KaHu