- Научиться работать с радиочипом AX5043 при помощи ИИ-инструментов: агенты, MCP, генерация кода, рефакторинг, отладка и тп
- Разработать и протестировать схему ВЧ части AX5043 для приема AIS сигнала
- Разработать ПО для работы в связке ESP32 и AX5043
- Провести тестирование AIS приемника, измерить его чувствительность, энергопотребление
- Плата ESP32-S3-Zero
- Радиочип AX5043 с самодельной обвязкой: TXCO, LDO, ВЧ-часть и тп
- Операционная система Ubuntu Ubuntu 24.04.3 LTS
- Visual Studio Code v1.108.2
- Ассистент (агент) Continue в виде плагина для VS Code
- Агент Qwen Code и плагин Qwen Code Companion для интеграции с Visual Studio Code. С 2026.04.15 бесплатный доступ к LLM закрыт
- Локальные MCP сервера: Platformio MCP, Serial monitor MCP, GitHub MCP, MCP PDF быстрый PDF парсер с ~50 инструментами, Document Parser MCP от agenson, Docling MCP (использует Docling), интегрированные с Continue/VS Code
- Различные браузерные LLM: ChatGPT, Deepseek, Qwen, Prism, Perplexity и другие
- Агрегаторы LLM: https://build.nvidia.com, Open Router
После многочисленных попыток "завести" плату E32 170T30D для приема AIS сигнала (получилось, но недостаточная чувствительность на уровне порядка -85 дБм в пакетном режиме) решил попробовать другие варианты.
Чип AX5043 по описанию подходит замечательно: умеет работать с кастомной преамбулой, может производить дифференциальное кодирование/декодирование (считай, тоже NRZI), умеет искать именно HDLC пакеты и проверять нужную CRC-16-CCITT/X-25. А еще может выдавать IQ сигнал, может работать на частотах до 27 МГц, может выдавать и передавать аналоговый сигнал (FM-трансмиттер) и тп.
Есть референсная схема на 169 МГц, конфигурация на 868 МГц, мануал по программированию AX5043.
Есть реальные работающие схемы УКВ-трансиверов на AX5043 от richardeoin, от PQ9ISH (KiCAD файл, для быстрого просмотра kiCAD схем можно использовать online viewer Altium) и двухдиапазонного трансивера от NotBlackMagic.
К сожалению, данный чип снят с производства и больше не поддерживается производителем. Например, мне так и не получилось найти и скачать фирменную утилиту AX RadioLab для настройки регистров чипа. Не получилось найти в продаже с доставкой в РФ готовые платы на AX5043, например, E31-230T27D от E-byte (похоже, снят с производства).
Рис 1. Плата ESP32-S3-Zero
Рис 2. Назначение выводов ESP32-S3-Zero
Рис 3. Схема подключения AX5043 и ESP32-S3-Zero (простейший генератор для проверки)
Рис 4, 5, 6. Фото этапов сборки макетной платы с AX5043 и ESP32-S3-Zero (LDO для TXCO и AX5043 не распаяны)
Для тестирования работы используется режим генератора несущей на частоте 161,975 МГц с уровнем -10 дБм с выводом ВЧ-сигнала с пина ANTP1 (5) с простейшей LC-цепочкой без фильтрации и согласования, пины ANTP (3) и ANTN (4) не задействованы.
Таблица 1. Подключение шины SPI
| AX5043 | ESP32-S3-Zero |
|---|---|
| MOSI (17) | GPIO11 (14) |
| MISO (16) | GPIO13 (16) |
| CLK (15) | GPIO12 (15) |
| SEL (17) | GPIO10 (13) |
Для распайки AX5043 были заказаны на российском маркетплейсе платы-переходники QFN-28 на DIP, TXCO распаян временно на отдельной плате для удобства. Подключена шина SPI, IRQ, DATA, DATA_CLK. Первое включение, проверка сигнала на выходе SYSCLK (13) AX5043 - обнаружен стабильный меандр с частотой 1,200 МГц, т.е. AX5043 потенциально рабочая (по умолчанию включен делитель fXTAL/16, частота TXCO 19,200 Мгц), хотя была куплена по невысокой цене на российском маркетплейсе.
Нужно было опробовать новый радиочип, разобраться с его режимами и регистрами. Решил сделать простой генератор несущей на 161,975 МГц. Конечно, писать полностью код для десятков регистров не очень удобно, поэтому воспользовался помощью ИИ агента. Примерно через полчаса работы агента (MCP сервера уже были установлены) я получил красивый компилируемый без ошибок код и сообщение:
Рис 7. Агент радостно рапортует об успешном завершении работы.
Конечно же, это была преждевременная радость и отладка кода (с переписыванием с нуля уже с помощью других LLM) заняла еще пару не полных дней. Посещали мысли - "а точно ли радиочип настоящий, а не фейковая копия?". Но в конце концов, всё получилось увидеть на спектроанализаторе заветный пик на нужной частоте.
Таблица 2. Субъективное сравние моделй
| Модель | Провайдер | Использование | Скорость | Точность | Комментарий |
|---|---|---|---|---|---|
| z-ai/glm5 | Nvidia | Continue/Agent | Средняя | Хорошая | Пишет по делу, галлюцинаций сравнительно немного, вполне качественный код. Бывает падает с ошибкой "400 Unterminated string starting at: line 1 column 12 (char 11)" |
| moonshotai/kimi-k2-instruct-0905 | Nvidia | Continue/Agent | Средняя/Высокая | Хорошая | Достаточно шустрая модель, сравнительно немного глюков, Бывает падает с ошибкой "400 Unterminated string starting at: line 1 column 2 (char 1)" |
| qwen/qwen3-coder-480b-a35b-instruct | Nvidia | Continue/Agent | Средняя/Высокая | Хорошая | Неплохое качество кода, даже может бороться с ошибкой вида "400 Unterminated string starting at: ..." через промет |
- Управлять входами EN для TXCO и радиочипа с MCU для снижения энергопотребления
- Управлять входом Vcon TXCO (корректировка частоты) с MCU через RC-фильтр для компенсации старения и тп
- Кросс-платформенный драйвер AX5043 и УКВ-приемник с использованием данного драйвера
- Двухдиапазонный УКВ-трансивер на базе AX5043 с собственным уникальным драйвером и детальным описанием AX5043 от NotBlackMagic, включая получение IQ сигнала, аналоговую де/модуляцию ЧМ и тп
- Еще один УКВ трансивер и драйвер AX5043, заточен под Linux + Python и Raspberry Pi
- Подборка материалов по AX5043 (битые ссылки?)






