Skip to content

[Feature Request] USB "enob" command for ADC effective-resolution testing #196

Description

@Sofronio

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions