ESP32 применялись для всего: от простых IoT-устройств до ИИ , аудио , и проектов компьютерного зрения . Но при поиске нового проекта была обнаружена прошивка ESP-SDR, которая превращает ESP32 в полноценную программно-определяемую радиосистему (SDR) без дополнительного оборудования.
Эта прошивка с открытым исходным кодом обходит Wi-Fi- и Bluetooth-модемы ESP32 с фиксированным набором функций и напрямую получает доступ к внутренней цепочке сигналов АЦП для захвата необработанных отсчетов I/Q основной полосы. Затем эти отсчеты отправляются на компьютер через USB или UART, где их можно обработать и отобразить в виде радиоспектра или водопада, превращая поддерживаемые микросхемы ESP32 в недорогие программно-определяемые радиоприемники без необходимости в дополнительном оборудовании SDR.
Ключевые особенности и поддерживаемое оборудование:
- Поддерживаемые микросхемы – ESP32, ESP32-C3, ESP32-C5 (двухдиапазонный 2,4/5 ГГц), ESP32-C6, ESP32-C61, ESP32-S2, ESP32-S3 и предварительная версия ESP32-S31
- Диапазон перестройки – Номинально 2,4 ГГц ISM (2,2–2,7 ГГц на некоторых чипах) и 5 ГГц (4,8–6,0 ГГц на ESP32-C5); C61 может настраиваться до 2,7 ГГц и захватывать сигналы LTE Band 7 и 5G NR Band n7
- Частота дискретизации и полоса пропускания – До 80 MSa/s с полосой пропускания ~13–54 МГц в зависимости от чипа
- FFT на кристалле – Прошивка поддерживает FFT на кристалле и отправляет компактные данные спектра вместо необработанных I/Q-отсчётов
По словам разработчиков, инженеры Espressif, вероятно, оставили в кремнии отладочный тракт выборки I/Q для заводского тестирования пластин. Используя LLM для обратного проектирования функции adctrig в библиотеке librftest от Espressif, команда выяснила, как настроить специальные отладочные регистры.

После включения ESP32 записывает необработанные I/Q-отсчёты напрямую во внутреннюю SRAM. Затем прошивка использует кольцевой буфер для перемещения отсчётов из SRAM и передачи их на компьютер через USB или UART. Для отображения захваченных сигналов требуется ESP-WebSDR — браузерный инструмент, который подключается к ESP32 через USB и показывает радиоспектр и водопад в реальном времени. Также его можно использовать для Прошейте прошивку ESP-SDR напрямую из поддерживаемого веб-браузера (например, Chrome или Edge).
ESP32 работает быстро и может захватывать данные со скоростью до 80 MSa/s, что даёт около 2,56 Гбит/с данных, но главная проблема — вывести все эти данные с чипа. USB и UART не справляются с полной скоростью передачи данных, поэтому ESP-WebSDR захватывает короткие I/Q-снимки для построения спектра и водопада. Это означает, что он может пропускать сигналы, появляющиеся между окнами захвата. Для непрерывной потоковой передачи команда работает над SoapyESPSDR для ESP32-S31, который может передавать I/Q-данные по Gigabit Ethernet со скоростью от 8 до 16 MSa/s в такое ПО, как GNU Radio и Gqrx.
Ранее публиковались материалы о нескольких радио- и SDR-проектах на ESP32, но все они всё ещё полагались на внешний приёмник или на обработанные данные Wi-Fi. Всего несколько дней назад был опубликован материал о том, как прошивка LakeShark превращает LilyGO T-Display P4 в портативный SDR-сканер, в котором ESP32-P4 не имеет собственного радио и полагается на донгл RTL-SDR Blog V3 или V4 в качестве радиочастотного фронтенда. Также были рассмотрены Wi-Fi-анализатор ESP32-C5 от Chen Liang , который отслеживает сигналы Wi-Fi в диапазонах 2,4 ГГц и 5 ГГц, а ESP-WIFI-CSI работает с информацией о состоянии канала. nRFBOX V2 и ESP32-DIV используют внешний nRF24 для сканирования диапазона 2,4 ГГц. По сравнению со всем этим ESP-SDR полагается на встроенный радиомодуль ESP32, поэтому дополнительное SDR-оборудование не требуется. Это позволяет выполнять базовый спектральный анализ на плате ESP32, которая может стоить менее $5.
Разработчики Florian Euchner и Zoltan Doczi из проекта ESPARGOS обнаружили эту функцию во время работы над ESPARGOS One , установка с восемью антеннами для Wi-Fi-зондирования. С ESP-SDR она также может работать как восьмиканальный SDR и обнаруживать и определять местоположение таких сигналов, как Bluetooth LE и Zigbee, в диапазоне 2,4 ГГц.
Как ESP-SDR, так и ESP-WebSDR — это проекты с открытым исходным кодом, выпущенные под лицензией GPL-3.0. Исходный код можно найти на GitHub и попробовать браузерную SDR-демонстрацию с совместимой отладочной платой ESP32. Также было оставлено примечание об использовании ИИ в репозитории ESP-WebSDR:
Части этого кода сгенерированы ИИ. Хотя в pyespargos и прошивку для массивов ESPARGOS One вложено много ручного труда, времени на ручную проверку всего исходного кода ESP-WebSDR нет.
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.


