ADC values suddenly erratic and highly variable when previously stable (Nucleo-F446RE)
- January 13, 2026
- 2 replies
- 595 views
I am working on an isolated monitoring system for currents, voltages, and heatsink temperatures, and am using the ADCS on the Nucelo-F446RE to take the readings. Initially testing was going well demonstrating good linearity and accuracy across a range of set-values. However, after having reworked one of my temperature channels, and making minor adjustments to the configuration of the Nucleo board to configure it to read a different ADC channel, the values collected by the ADC suddenly became very erratic (inaccurate) and imprecise (larger range).
For example, in the attachments I have included x2 sets of values collected before and after the issue started to occur. A quick summary of the full results can be seen the the table below
| Pre Issue | Raw Value | 3.3V Ref EQ | 60V Full Scale EQ | Error vs Ideal (%) | Post Issue | Raw Value | 3.3V Ref EQ | 60V Full Scale EQ | Error vs Ideal (%) | |
| Average = | 1946.963 | 1.568598 | 28.51996 | 95.06653 | Average = | 2155.344 | 1.736483 | 31.57242 | 105.2414 | |
| High = | 2044 | 1.646777 | 29.94141 | 99.80469 | High = | 4095 | 3.299194 | 59.98535 | 199.9512 | |
| Low = | 1898 | 1.52915 | 27.80273 | 92.67578 | Low = | 0 | 0 | 0 | 0 | |
| Ideal = | 2047 | 1.65 | 30 | Ideal = | 2047 | 1.65 | 30 | |||
| Total Full Scale EQ range (V) = | 2.138672 | Total Full Scale EQ range (V) = | 59.98535 |
Vin Full scale = 0 - 60V
Vin Scaled (potential divider) = 0 - 3.3V
Expected Raw Value = 2047 (+/- 6%) (Using a linear optocoupler for isolation which can have a max offset of approx. 6%)
ADC Clk = 0.6 MHz = (PCLK2 = 4.8 MHz / 8)
Sampling time 480 Cycles.
The issues exists across all channels, even when using multimeter and oscilloscope does not reveal any signs of instability, making me think I may have somehow damaged the Nucleo board. During testing it has been powered via USB connection and used off board with flying leads connecting the Nucleo board to the relevant pin on the hardware PCB.
I have uploaded circuit diagrams for reference.
What may I have unknowingly done to damage the or alter the ADC performance, and can this be corrected without a new Nucleo board? The only "abuse" or "mistreatment" I can recall it being subject to is that I have unplugged the board from the USB connection to my computer whilst debugging. Can that really cause this sort of issue?
Thanks
Thanks
