STM32L432 Nucleo board: ADC has -53 mV input offset ?
I'm using a STM32L432KC Nucleo board, and reading a voltage with the 12-bit ADC. On this board the ADC Vref is connected to the board 3.3V, which in this case actually measures 3.315 V. With a 12-bit resolution, I would expect that 4095 ADC counts = 3.315 V and therefore (4095 / 3315) = 1.235 counts per millivolt. In fact, I measure the following ADC outputs for the given input voltage in mV:
mV, ADC
0, 0
53,0
54,1
64,10
72,20
80,30
100, 54
500, 549
1000, 1165
3000, 3635
3375, 4094
( Any larger voltage also measures 4094, it does not look like 4095 is an available output code.) It looks to me like the ADC has nearly the expected linear slope in counts/mV except that about 53 mV is subtracted from the input voltage first, before the ADC conversion. Is this the expected result? Is there any way to measure smaller voltages than 54 mV on the ADC with this board, without using a separate external analog offset circuit?
