Close
0%
0%

A Pocket Digital SINAD Indicator Using ESP32

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

Similar projects worth following
The SG function added to tinySA requires a SINAD meter to measure receiver sensitivity. I prototyped a digital SINAD indicator using the ESP32-C3 function library on Arduino. This simple device is useful for evaluating receivers.

The tinySA now has an SG function. I needed a SINAD meter for receiver sensitivity tests. So I built one on an ESP32-C3.

What it does
- SINAD measurement: 10kHz sampling, 1kHz digital notch filter (IIR)
- Waveform display: Real-time audio waveform
- FFT spectrum: Visualize noise and distortion

Why SINAD?
(Signal + Noise + Distortion) / (Noise + Distortion). Includes distortion. Tells you about usable signal quality. Works for FM, AM, and SSB.

The setup
tinySA  ULTRA(SG) → Receiver under test → ESP32 SINAD meter

Code & hardware
Open source. { https://github.com/Nobcha/R909-SINAD/blob/main/}

This short video shows the ESP32-based SINAD meter in operation, including real-time SINAD readout and FFT display.

👉 https://www.youtube.com/watch?v=a2N7Uo3oPMg

In the video, notice how the SINAD value changes with signal level and how the FFT reveals noise and distortion components.

Referrence:

BLOG:https://hrd-737.hateblo.jp/entry/2025/07/05/165913

*This is a hobby project. Works for me. Maybe it works for you too.*

Key Points Behind the Measurement.txt

Key Points Behind the Measurement Setup (Modulation Depth & Audio Output Level)

plain - 1.31 kB - 04/08/2026 at 09:27

Download

SINAD_indicator SPECs.txt

ESP32-C3 SINAD indicator's SPECs ESP32-C3 dev kit super mini @ Arduino IDE

plain - 3.07 kB - 04/07/2026 at 05:47

Download

  • 1 × ESP3-C3 dev kit super mini
  • 1 × OLED/SSD1306

  • How to assmble the circuit

    nobcha5 days ago 0 comments

    Components 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 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.ino

    Sketch


    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.

    nobcha04/10/2026 at 11:40 0 comments

    In 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

    nobcha04/08/2026 at 09:31 0 comments

    We 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)

View all 3 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates