Щелчки и заикания звука при воспроизведении потока на ESP32 — самый частый симптом, с которым сталкиваются при сборке интернет-радио, и в большинстве случаев причина кроется не в прошивке, а в неправильном подключении ЦАП или недостаточном питании. Сам проект при этом остаётся одним из самых благодарных для начинающих: плата с Wi-Fi на борту, готовые библиотеки для декодирования MP3 и AAC, а стоимость компонентов сопоставима с ценой обеда в кафе.

Ниже разберём весь путь от выбора железа до работающего устройства: какие платы подойдут, как подключить цифро-аналоговый преобразователь по шине I2S, какую прошивку залить и как добавить свои радиостанции. Отдельное внимание уделим типичным ошибкам, из-за которых радио молчит или хрипит.

Как работает интернет-радио на ESP32

Принцип устройства проще, чем кажется. Микроконтроллер ESP32 подключается к домашней сети Wi-Fi, открывает HTTP-поток радиостанции и получает сжатый аудиопоток — обычно в формате MP3 или AAC. Затем программный декодер преобразует поток в цифровой аудиосигнал, который по шине I2S передаётся на внешний ЦАП, а тот формирует аналоговый сигнал для усилителя или наушников.

Декодирование MP3 — задача ресурсоёмкая, но двухъядерного процессора ESP32 для неё достаточно. Именно поэтому для проекта не подходят более слабые платы вроде ESP8266 без внешнего декодера: вычислительной мощности там заметно меньше, и звук будет прерываться.

💡

ESP32 декодирует аудиопоток программно, поэтому для стабильного звука нужен именно ESP32 с двумя ядрами, а не более слабые микроконтроллеры.