RX Analyzer
RADIO

RX Analyzer

RX Analyzer

A standalone radio signal analyzer and decoder

RX Analyzer is an experimental standalone radio signal analyzer and decoder based on the ESP32-S3.

The project was created to explore how far a small embedded platform can go in the analysis and decoding of amateur-radio signals without relying on a PC.

The device connects to the audio output of a radio receiver, processes the signal locally, analyzes its spectrum and attempts to automatically identify and decode different digital and analog modes.

The main goal is to build a compact, portable and autonomous tool for radio amateurs, capable of providing real-time signal analysis and decoding directly on the device.

Main features

RX Analyzer combines real-time signal processing, digital communications and embedded machine learning in a single device.

Real-time spectrum analysis

The system displays a live FFT spectrum and waterfall, making it possible to visualize the received signal and identify activity across the audio bandwidth.

Signal detection and classification can be performed using both traditional heuristics and an on-device TinyML model.

The current classifier can distinguish several signal categories, including:

  • Noise

  • Tones

  • CW

  • RTTY / FSK

  • PSK31

  • Voice

The machine-learning component is an int8 MLP model, designed to run directly on the ESP32-S3 without requiring an external computer or cloud service.

Amateur radio decoding

The project currently includes support for several popular amateur-radio modes:

CW (Morse Code)
Detection and decoding of Morse code, including WPM estimation.

RTTY
Baudot decoding with support for common speeds such as 45.45, 50 and 75 baud, together with AFC and automatic polarity detection.

FT8 / FT4
Digital-mode decoding using the integrated ft8_lib component.

Image transmission modes

RX Analyzer can also process image-based radio transmissions.

Supported formats currently include:

  • SSTV: Martin, Scottie, Robot and PD modes

  • WEFAX / Weather FAX

Decoded images can be displayed directly on the device, allowing the system to operate as a completely independent receiving station.

Hardware

The main hardware platform is the Freenove FNK0104S, featuring an ESP32-S3R8 microcontroller with:

  • 8 MB PSRAM

  • 16 MB Flash

  • 4" 480×320 LCD

  • Capacitive touch interface

  • ES8311 audio codec

  • SD card support

  • Battery support

  • USB-C

A second configuration is supported using the ESP32-S3 DevKitC-1 N16R8, intended for development and testing without the integrated LCD.

Audio is currently captured using the ESP32-S3 internal ADC through a simple input biasing circuit.

User interface

The Freenove version provides a graphical touch interface directly on the 4" LCD.

The interface is designed to provide access to the main analysis and decoding functions, including spectrum visualization, waterfall display and decoded messages.

The software interface supports English and Portuguese.

A Wi-Fi web interface is also available, allowing the current receiver information and decoded data to be accessed from a browser.

Why this project?

This project started from a simple idea:

Could an inexpensive microcontroller become a useful standalone amateur-radio signal analysis and decoding tool?

Rather than simply implementing a single decoder, RX Analyzer is intended as an experimental platform where several technologies can be combined:

DSP + SDR concepts + digital signal decoding + embedded systems + TinyML

The ESP32-S3 provides enough processing power and memory to experiment with these techniques while keeping the hardware relatively inexpensive and portable.

Current status

RX Analyzer is an active work-in-progress project.

The software has already been tested using recorded signals, PC-based simulators and a number of real-world signals.

The project is still being developed, and some areas require additional validation and refinement, particularly complete on-air testing, SD-card recording, enclosure design and integration of the ES8311 audio codec.

Technology stack

The project is built using:

  • ESP32-S3

  • ESP-IDF

  • PlatformIO

  • C/C++

  • Digital Signal Processing

  • FFT / spectrum analysis

  • TinyML / embedded machine learning

  • Wi-Fi

  • Touchscreen UI

  • Amateur-radio digital mode decoding

Open source

RX Analyzer is released as an open-source project under the MIT License.

The complete source code, documentation and development history are available on GitHub.

GitHub:
https://github.com/joaquimorg/ham_decoder

Back to posts