Close

SINAD Indicator Comparison Experiment

A project log for A Pocket Digital SINAD Indicator Using ESP32

A standalone ESP32-based SINAD indicator with FFT and waveform monitoring for practical receiver evaluation.

nobchanobcha 04/22/2026 at 10:560 Comments

I ported the software used for the SINAD indicator on the ESP32-C3 dev kit super mini onto a Python version on a PC (Windows 11). I compared the ESP32-C3 version, which uses a 10kHz ADC sampling rate, with the Python version, which uses PC audio hardware(44kHz, 16bits), using test signal sources.

The test signal sources used were a 1000Hz signal from a smart phone (Android OPPO A73 with an audio signal generation app installed), and two built-in test signals from the ESP32-C3 R909-SINAD indicator: signal 1 (a 1000Hz sine wave generated by PWM and passed through a low-pass filter) and signal 2 (a 1000Hz pulse that switches ON/OFF every 2000Hz).

Based on the above test values, the performance limit of the ESP32's built-in ADC can be estimated.

Signal Source

Signal condition

ESP32 SINAD readout

PC SINAD readout

Note

The generator in smart phone (1kHz sine wave)

Very pure

29-38 dB

49-67 dB

20-30dB difference

ESP32 DDS (saw toothLPF)

coursewith harmonics

10.9-13.8 dB

12.5 dB

About 1-2dBdifference

ESP32 DDS ON/OFF (pulse)

coursewith harmonics

6.5 dB

7.6 dB

About 1dB difference

Analogical evaluation from these data

1. The first experiment (smart phone oscillator) measured the "ADC performance of the ESP32".

• When a pure sine wave (with very few harmonic components) is input, the nonlinearity and noise of the ESP32's ADC become dominant.

• As a result, there was a difference of 20-30 dB compared to PC audio → This is the performance limit of the ESP32's ADC.

2. The remaining experiments measured the "quality of the signal being measured."

• The "saw tooth wave + LPF" and "square wave" output by the ESP32's built-in DDS inherently contain a lot of harmonic distortion.

• In this case, because the signal's SINAD is low (10-13dB, 6-7dB), the performance impact of the ADC is relatively small.

• The 1-2dB difference between the ESP32 version and the PC version is due to the difference in distortion detection capability of the signal being measured.

3. Conclusion: The ESP32's ADC appears to be usable around a 12dB SINAD.

SINAD Measurement Range

ESP32 Version Reliability

Reason

10-20dB (Core range for SINAD measurement)

Usable

Signal distortion itself is dominant. ADC noise influence is within 1-2dB.

20-30dB

Caution required.

ADC noise influence begins to appear.

40dB and above

Practically impossible.

ADC self-noise/distortion is dominant.

Discussions