Showing results for 
Search instead for 
Did you mean: 

Sigma-Delta ADC STM32F373 calibration problem

Associate III


I have connected three channels of the SDADC in the STM32F373 with an external voltage reference of 1.225V. The selected mode of the ADC is Single-ended zero-volt reference mode, and i am reading these channels using the "injected conversion" as i have seen in the ST examples. The problem is that i get coherent values in all the three channels but they are not accurate. Besides, the error in every channel is different from the others. Firstly i did the offset calibration with the function HAL_SDADC_CalibrationStart and then tried to adjust the gain, but this gain was different for each channel. Then i did not the offst calibration and manually made a manual offset a gain calibration, and these values were different for each channel. For example, some of the values gotten without calibration would be:



1.064 1.020

1.134 1.089

1.173 1.126



0.433 0.404

0.661 0.623

0.853 0.810

I have tested to do this conversions with the SAR ADC and this has not this problem. I attach the configuration of the SDADC and the software files concerning it. Thanks in advance.

Uwe Bonnes

Have a look at the gain error specification in the datasheet, it is quite big. I think the SDADC in the F373 is not optimal. Considerer some newer chip with ADC oversampling. like the L4.

i would understand that there was a gain error and so an adjustment with a voltage reference. But in this case each channel seems to have a different gain error...I would need to know if this is normal or i have to adjust each channel always but after that the ADC would work without any problem

Associate III

i have tried also the SDADC_INPUT_MODE_SE_OFFSET mode and the results are the same. Each channel seems to have a different gain calibration...

Associate II

Hi Kjilguero,

Can you solve this problem?


I have not been able to solve it. I am thinking about making an "eval board" fot the STM32F373 being careful with tracks, gaps, order to be able to test it in an accurate way. In this design i have too many possible noise or error sources and i have not been able to stablish if there is a problem with the SDADC or if it is because of the hardware. But this micro with the 16 bits ADC would be a really good choice for me if it worked well...