Reading the ADC noise floor on real hardware currently requires either flashing a temporary test firmware or attaching a logic analyser. I want a built-in way to measure the front-end quality on the bench, without rebuilding anything.
I want to add a USB serial command that samples raw 24-bit ADS1232 values and prints a statistical report:
enob — sample 100 values and print the statistics
enob <count> — sample a custom count (10–1000)
The report contains: effective SPS, average, standard deviation, peak-to-peak drift, ENOB (Effective Number of Bits) in both p-p and RMS terms, and the equivalent resolution in mg derived from the current calibration factor — with a note that the mg figures are only meaningful with a correct calibration. The final assessment line is graded by the RMS resolution in mg (the figure that matters for weighing), so the verdict is comparable across units with different calibration factors.
Sampling is hardware-paced, so the command works unchanged on both 10 SPS and 80 SPS hardware. A 1 s settle precedes collection so a keypress or touch does not disturb the measurement.
Use case: verifying the noise floor after a hardware change (reference, layout, LDO), comparing boards, and checking whether a firmware change affected the analog front-end.
Reading the ADC noise floor on real hardware currently requires either flashing a temporary test firmware or attaching a logic analyser. I want a built-in way to measure the front-end quality on the bench, without rebuilding anything.
I want to add a USB serial command that samples raw 24-bit ADS1232 values and prints a statistical report:
enob— sample 100 values and print the statisticsenob <count>— sample a custom count (10–1000)The report contains: effective SPS, average, standard deviation, peak-to-peak drift, ENOB (Effective Number of Bits) in both p-p and RMS terms, and the equivalent resolution in mg derived from the current calibration factor — with a note that the mg figures are only meaningful with a correct calibration. The final assessment line is graded by the RMS resolution in mg (the figure that matters for weighing), so the verdict is comparable across units with different calibration factors.
Sampling is hardware-paced, so the command works unchanged on both 10 SPS and 80 SPS hardware. A 1 s settle precedes collection so a keypress or touch does not disturb the measurement.
Use case: verifying the noise floor after a hardware change (reference, layout, LDO), comparing boards, and checking whether a firmware change affected the analog front-end.