-
SINAD Indicator Comparison Experiment
04/22/2026 at 10:56 • 0 commentsI 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 tooth+LPF)
course(with harmonics)
10.9-13.8 dB
12.5 dB
About 1-2dBdifference
ESP32 DDS ON/OFF (pulse)
course(with 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.
-
How to assmble the circuit
04/12/2026 at 11:22 • 0 commentsComponents and Circuitry
The necessary components are the following circuit board components, components for the connection board (audio jacks, battery-related components, variable resistors and step-up transformer), wiring materials, and a case. The circuit diagram for the circuit board and an applied circuit diagram with added external components are shown. The step-up transformer is ST-45(600ohm:10ohm) of Sansui.
Bill of Materials http://github.com/Nobcha/R909-VFO-ESP/blob/main/5531_esp_25_bom.pdf
Circuit board schematics http://github.com/Nobcha/R909-VFO-ESP/blob/main/R909-VFO_ESP32_SCM.pdf
Appliation circuit schematics
![PCB PCB]()
PCB and Assembly
This PCB needed to be quite compact, so all RC components except the aluminum electrolytic capacitors were surface-mounted.
I found a heat plate with PTC-controlled maximum temperature on AliExpress. I used this heat plate and solder paste for soldering the surface-mount RC/C components.
![]()
The component density isn't high, so hand soldering is also possible.
After surface-mounting the components, the DIP components—electrolytic capacitors, sensors, switches, and pin headers—were soldered by hand.
Assembly Check
After checking for short circuits between the power supply and ground, a diagnostic sketch for verifying the board's operation was prepared.
This sketch displays the results of switch operations on the OLED screen.
https://github.com/Nobcha/R909-VFO-ESP/blob/main/R909_VFO_esp_ol_SWRE_i2c_TEST.inoSketch
Launch the Arduino IDE (I used V2.3.5) and upload the sketch to the ESP32-C3 dev kit super mini via USB cable. Connect the USB cable, specify the CPU setting as ESP32C3 Dev Module, confirm that it is connected in "Tools" "port", load the following sketch, and compile and upload it. To get the Arduino IDE to recognize the ESP32 module, press the BOOT switch and RESET switch on the module simultaneously, and then release the RESET switch first.https://github.com/Nobcha/R909-SINAD/blob/main/try_7_3i_sinad_meter.ino
-
I tried a digital SINAD indicator using an ESP32-C3.
04/10/2026 at 11:40 • 0 commentsIn this setup, the SINAD value changes in real time as the signal level is adjusted.
I measured the receiving sensitivity at 27MHz (AM 80% Mod) with the ATX-mini HF/FM receiver using the Si4732. The value was -104dBm. To set it to 12dB SINAD, the volume adjustment had to be maximized and a step-up using a transformer was necessary.
ATX-mini 27MHz 1000Hz 80% AM -104dBm 12dB SINAD
SINAD measurement in progress FFT view of the test signal
![]()
In JH1LHV-OM's measurement example, the reading was -100dBm at 26MHz (AM 30% Mod), so the difference is likely due to the modulation depth setting. At 30% modulation, the SINAD did not rise above 12dB at my case.
I also checked the R80 Chinese-made airband receiver. This receiver has a configuration of NE602-MC3361-TA7640-LM386. A problem arose. Even with volume adjustment, the SINAD did not rise above 8dB. When using a deeper modulation of 80% at 1000Hz and examining the FFT, a component was found at 500Hz. Could this be due to the MC3361 chip being an FM chipset?
Therefore, the sensitivity of the R80 airband receiver is equivalent to a SINAD of 8dB.
R80 118.1MHz 1000Hz 80% AM -105dBm 9.1dB SINAD
SINAD measurement in progress
![]()
The FFT display helps visualize noise and distortion components.
![]()
Note: When measuring C401, the measurement was smooth.
-
SG modulation depth and receiver audio volume setting
04/08/2026 at 09:31 • 0 commentsWe have compiled a separate document outlining important points to consider when measuring receiver sensitivity using the SINAD indicator. (SG modulation depth and receiver audio volume setting)
nobcha




