amateur radio
debian
ham radio
raspberry pi
raspbian
rtl sdr
SDR
shortwave listening
shortwave radio
software defined radio
adalm pluto, alsa audio, amateur radio, cat control, civetweb, cmake, esp32, fftw, framebuffer, ft8, gui, hackrf, ham radio, hifiberry, i2c, liquid dsp, lvgl, midi controller, nlohmann json, noise reduction, optical encoder, primevue, qsd, qse, radioberry, raspberry pi, rtl-sdr, sdr, sdrberry, SDRPlay, soapySDR, software defined radio, touchscreen, usb hid, vnc, vue js, web server, WSJTX
9M2PJU
0 Comments
Exploring SDRBerry: A Raspberry Pi-Based SDR Transceiver with LVGL GUI
Software-defined radio (SDR) has transformed how we interact with radio signals, and SDRBerry aims to push this transformation further. SDRBerry is an ongoing project designed to integrate an SDR transceiver with a Raspberry Pi, leveraging the power of LVGL v8 for a modern GUI experience. While still in development, this project offers a unique learning opportunity in C++ programming, Liquid DSP, and GUI design.
Project Overview
SDRBerry is built with the goal of supporting various SDR devices, including:
- Adalm Pluto SDR
- Radioberry
- RTL-SDR
- SDRPlay
- Other SDR receivers via SoapySDR
The system also aims to integrate optical encoders, I2C/serial-controlled bandpass filters, and an ESP32-based CAT controller for additional hardware control.

Installation Guide
To install SDRBerry, follow these steps:
- Set up Raspberry Pi OS (64-bit Bullseye) in CLI mode.
- Use Raspberry Pi Imager to create a bootable SD card or USB stick (USB storage is preferred for longevity).
- Configure Wi-Fi and enable I2C using
raspi-config
. - Compile the software using VisualGDB, CMake, GCC, and GFortran.
- Enable remote control with framebuffer VNC using framebuffer-vncserver.
A full installation guide is available in install_guide.txt
, and an installation script (install.sh
) automates the process.
Hardware Requirements
- Raspberry Pi 4 Model B
- 5-inch or 7-inch 800×480 touchscreen (DSI connector recommended)
- USB storage device (e.g., Samsung Fit Plus 32GB or larger)
- Generic USB audio adapter
Features and Development Progress
Completed Features:
✔ Adalm Pluto, RTL-SDR, SDRPlay, Radioberry, and HackRF support
✔ FM broadband and narrowband reception
✔ SSB transmission and reception
✔ USB CAT interface support (e.g., ESP32 as a CAT controller)
✔ I2C filter support with PCF8574
✔ Noise reduction (ported from DD4WH’s implementation)
✔ Morse code decoder
✔ FT8 transmission and reception
✔ Web-based remote control via Vue.js 3 and PrimeVue UI (experimental)
Upcoming Features:
- MIDI controller support
- Direct optical encoder support via GPIO
- Network and Wi-Fi setup screen
- Additional noise reduction algorithms (e.g., LMS filtering)
- Codec2 implementation for FreeDV digital voice
Installation of Dependencies
SDRBerry relies on several open-source libraries, including:
- Liquid-DSP (Joseph D. Gaeddert)
- Alsa Audio
- SoapySDR and SoapyPlutoSDR
- FFTW (Fast Fourier Transform)
- CivetWeb (embedded web server)
- nlohmann-json (JSON library for C++)
To install and compile the software, use:
wget https://raw.githubusercontent.com/paulh002/sdrberry/master/install/install.sh
chmod +x install.sh
./install.sh HFB DSI
For Raspberry Pi Touch 2 with Radioberry:
./install.sh RDB T2
Running SDRBerry
To start SDRBerry in user mode or root mode (depending on the SDR device used):
sudo sdrberry > sdrberry.log 2>&1
Mouse support is included, with optimized responsiveness via usbhid.mousepoll=2
in cmdline.txt
.
Web-Based Control
SDRBerry introduces an experimental web-based remote control on port 8081. The interface, built using Vue.js 3 and PrimeVue UI, allows users to control SDRBerry remotely. The source code will be available in a separate repository.

To access the web interface:
http://raspberry_pi_ip:8081
Conclusion
SDRBerry is an exciting open-source SDR project that integrates Raspberry Pi, LVGL GUI, and SDR technologies. While still in active development, the project offers a strong foundation for experimenting with software-defined radio on a compact and affordable platform.
For more details and the latest updates, visit the SDRBerry GitHub repository:
https://github.com/paulh002/sdrberry
Post Comment