Electrical – STM32F030R8 Nucleo-64 Board ADC Voltage Reference

adcstm32f0voltage-reference

I want to decrease the reference voltage of the ADC to have a better resolution, by now I do not want to try other options.

Could someone explain me how can I do this?
I am using the Nucleo-64 board STM32F030R8 and CubeMX to generate the code.
Do I have to configure something in the programming code or I just need to provide the correspondent voltage to the right pin of the board?

Best Answer

It appears that VREF+ and VREF- are internally tied to VDDA and GND. From the datasheet:

Figure 13. Power supply scheme from STM32F030R8 datasheet

The STM32F030R8 does have an internal voltage reference, but it can only be read by using an ADC input.

Since you do not want to try other options, the answer is: NO, you can't.


I said no because I'm assuming you're a newbie but actually, it can be done. Because VREF+ is connected to VDDA, you can change VDDA to change VREF. I've looked at the Nucleo board's User Manual:

Solder bridges

Desolder the SB57 solder bridge first and then connect an external reference to pin 8 of CN5. Make sure that the external reference can supply enough current because it will also have to power the analog section of the MCU.

However, there are some limitations/precautions (please read the datasheet):

1. VDD-VDDA ≤ 0.4V

This means if you want a smaller voltage reference, you may have to lower VDD.

2. VDDA_min = 2.4V

If you want to measure small signal, please consider to use an external ADC or amplifier.