Repository navigation
Releases: cyber-murmel/esp-sdr-zephyr
Release list
v0.1.3
For the Seeed XIAO ESP32S3 (8 MB flash) and an x86_64 Linux PC:
esp-sdr-multiapp-v0.1.3-xiao_esp32s3.bin: multiapp, with MCUboot and every app on its FAT volume.libEsdrSupport-v0.1.3-ubuntu24.04-x86_64.so: the SoapySDR module for the board's osmosdr app (driver=esdr), built on
Ubuntu 24.04 for SoapySDR ABI 0.8 and libusb 1.0. Elsewhere, build it from
apps/osmosdr/soapy.esp32s3-esp-sdr-v0.1.3.svd,esp32c6-esp-sdr-v0.1.3.svd: Espressif's SVDs with the radio
registers this project documents (doc/undocumented-registers-*.md), for debuggers.
gqrx
- Flash, with the board in download mode (hold BOOT while plugging it in, or run
usjon the
shell of a running esp-sdr app):esptool --chip esp32s3 write-flash 0x0 esp-sdr-multiapp-v0.1.3-xiao_esp32s3.bin - Load the plugin: SoapySDR loads the modules in the directories
SOAPY_SDR_PLUGIN_PATHnames.mkdir -p ~/.local/lib/esdr && cp libEsdrSupport-v0.1.3-ubuntu24.04-x86_64.so ~/.local/lib/esdr/ export SOAPY_SDR_PLUGIN_PATH=~/.local/lib/esdr - Start osmosdr on the board, which reboots into it (again after every power cycle);
SoapySDRUtil --find=driver=esdrthen lists it:printf 'app run osmosdr\r' > /dev/serial/by-id/usb-Zephyr_Project_ESP-SDR_multiapp_* - Run
gqrxfrom the same shell. In its I/O device configuration: device string
driver=esdr,soapy=1, input rate 250000 (the most USB full speed carries).
On Ubuntu, apt install gqrx-sdr soapysdr-tools brings gqrx and SoapySDR. Without root, the PC
needs udev rules for the board (USB vendor 2fe3), for example in
/etc/udev/rules.d/70-esp-sdr.rules:
SUBSYSTEM=="usb", ATTRS{idVendor}=="2fe3", MODE="660", GROUP="plugdev", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="2fe3", MODE="660", GROUP="dialout", TAG+="uaccess"
ATTRS{idVendor}=="2fe3", ENV{ID_MM_DEVICE_IGNORE}="1"
The other apps: app list and app run <name> on the board's USB shell
(apps/multiapp/README.rst).
Full Changelog: v0.1.2...v0.1.3
v0.1.2
For the Seeed XIAO ESP32S3 (8 MB flash) and an x86_64 Linux PC:
esp-sdr-multiapp-v0.1.2-xiao_esp32s3.bin: multiapp, with MCUboot and every app on its FAT volume.libEsdrSupport-v0.1.2-ubuntu24.04-x86_64.so: the SoapySDR module for the board's osmosdr app (driver=esdr), built on
Ubuntu 24.04 for SoapySDR ABI 0.8 and libusb 1.0. Elsewhere, build it from
apps/osmosdr/soapy.esp32s3-esp-sdr-v0.1.2.svd,esp32c6-esp-sdr-v0.1.2.svd: Espressif's SVDs with the radio
registers this project documents (doc/undocumented-registers-*.md), for debuggers.
gqrx
- Flash, with the board in download mode (hold BOOT while plugging it in, or run
usjon the
shell of a running esp-sdr app):esptool --chip esp32s3 write-flash 0x0 esp-sdr-multiapp-v0.1.2-xiao_esp32s3.bin - Load the plugin: SoapySDR loads the modules in the directories
SOAPY_SDR_PLUGIN_PATHnames.mkdir -p ~/.local/lib/esdr && cp libEsdrSupport-v0.1.2-ubuntu24.04-x86_64.so ~/.local/lib/esdr/ export SOAPY_SDR_PLUGIN_PATH=~/.local/lib/esdr - Start osmosdr on the board, which reboots into it (again after every power cycle);
SoapySDRUtil --find=driver=esdrthen lists it:printf 'app run osmosdr\r' > /dev/serial/by-id/usb-Zephyr_Project_ESP-SDR_multiapp_* - Run
gqrxfrom the same shell. In its I/O device configuration: device string
driver=esdr,soapy=1, input rate 250000 (the most USB full speed carries).
On Ubuntu, apt install gqrx-sdr soapysdr-tools brings gqrx and SoapySDR. Without root, the PC
needs udev rules for the board (USB vendor 2fe3), for example in
/etc/udev/rules.d/70-esp-sdr.rules:
SUBSYSTEM=="usb", ATTRS{idVendor}=="2fe3", MODE="660", GROUP="plugdev", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="2fe3", MODE="660", GROUP="dialout", TAG+="uaccess"
ATTRS{idVendor}=="2fe3", ENV{ID_MM_DEVICE_IGNORE}="1"
The other apps: app list and app run <name> on the board's USB shell
(apps/multiapp/README.rst).
Full Changelog: v0.1.1...v0.1.2
v0.1.1
For the Seeed XIAO ESP32S3 (8 MB flash) and an x86_64 Linux PC:
esp-sdr-multiapp-v0.1.1-xiao_esp32s3.bin: multiapp, with MCUboot and every app on its FAT volume.libEsdrSupport-v0.1.1-ubuntu24.04-x86_64.so: the SoapySDR module for the board's osmosdr app (driver=esdr), built on
Ubuntu 24.04 for SoapySDR ABI 0.8 and libusb 1.0. Elsewhere, build it from
apps/osmosdr/soapy.
gqrx
- Flash, with the board in download mode (hold BOOT while plugging it in, or run
usjon the
shell of a running esp-sdr app):esptool --chip esp32s3 write-flash 0x0 esp-sdr-multiapp-v0.1.1-xiao_esp32s3.bin - Load the plugin: SoapySDR loads the modules in the directories
SOAPY_SDR_PLUGIN_PATHnames.mkdir -p ~/.local/lib/esdr && cp libEsdrSupport-v0.1.1-ubuntu24.04-x86_64.so ~/.local/lib/esdr/ export SOAPY_SDR_PLUGIN_PATH=~/.local/lib/esdr - Start osmosdr on the board, which reboots into it (again after every power cycle);
SoapySDRUtil --find=driver=esdrthen lists it:printf 'app run osmosdr\r' > /dev/serial/by-id/usb-Zephyr_Project_ESP-SDR_multiapp_* - Run
gqrxfrom the same shell. In its I/O device configuration: device string
driver=esdr,soapy=1, input rate 250000 (the most USB full speed carries).
On Ubuntu, apt install gqrx-sdr soapysdr-tools brings gqrx and SoapySDR. Without root, the PC
needs udev rules for the board (USB vendor 2fe3), for example in
/etc/udev/rules.d/70-esp-sdr.rules:
SUBSYSTEM=="usb", ATTRS{idVendor}=="2fe3", MODE="660", GROUP="plugdev", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="2fe3", MODE="660", GROUP="dialout", TAG+="uaccess"
ATTRS{idVendor}=="2fe3", ENV{ID_MM_DEVICE_IGNORE}="1"
The other apps: app list and app run <name> on the board's USB shell
(apps/multiapp/README.rst).
Full Changelog: v0.1.0...v0.1.1
v0.1.0
esp-sdr-multiapp-v0.1.0-xiao_esp32s3.bin: multiapp for the Seeed XIAO ESP32S3 (8 MB flash), with MCUboot and every
app on its FAT volume. With the board in download mode (hold BOOT while plugging it in,
or run usj on the shell of a running esp-sdr app):
esptool --chip esp32s3 write-flash 0x0 esp-sdr-multiapp-v0.1.0-xiao_esp32s3.bin
Then app list and app run <name> on its USB shell (apps/multiapp/README.rst).
Full Changelog: https://github.com/cyber-murmel/esp-sdr-zephyr/commits/v0.1.0