Микроконтроллеры для DIY: большой гид по ESP32, STM32, RP2040, AVR, nRF52 и другим

Микроконтроллеры для DIY: большой гид по ESP32, STM32, RP2040, AVR, nRF52 и другим

Какие микроконтроллеры используют в современной DIY-разработке: ESP32, STM32, RP2040, AVR, PIC, nRF52, SAMD, Renesas и TI. Отличия, характеристики, выбор платы под Wi-Fi, Bluetooth, USB, датчики, батарею и моторы

В DIY-магазинах слово «Arduino» часто используют как название любого маленького контроллера. Это удобно, но технически неточно. Arduino — это прежде всего экосистема плат, библиотек и среды разработки. Внутри Arduino Uno стоит AVR-чип ATmega328P, в Arduino Nano Every — AVR ATmega4809, в Nano 33 IoT — Arm-чип SAMD21, а в Nano ESP32 — вообще ESP32-S3.

Микроконтроллер — это маленький компьютер на одной микросхеме. Внутри находятся процессор, память, GPIO, таймеры, АЦП, интерфейсы I2C/SPI/UART и другие блоки. Он запускает одну прошивку и обычно делает одну понятную вещь: читает датчики, управляет реле, показывает данные на экране, обслуживает кнопки, передаёт телеметрию или крутит двигатель.

Эта статья — не каталог всех тысяч чипов, которые существуют в мире. Это карта тех семейств, с которыми действительно сталкивается человек в современной DIY-разработке: на макетной плате, в Arduino IDE, PlatformIO, MicroPython, Zephyr, STM32CubeIDE или при разработке своей платы.

Сначала: не путай чип, модуль и плату

Одно и то же название в карточке товара может означать три разных вещи.

УровеньПримерЧто это
Микроконтроллер (MCU)ESP32-S3, STM32F103, RP2040, ATmega328PСама микросхема с процессором и периферией
РадиомодульESP32-WROOM-32, ESP32-C3-MINI-1, nRF52840-модульЧип плюс Flash, антенна, RF-обвязка, иногда экранировка
Плата разработкиESP32 DevKit, Arduino Uno, Raspberry Pi Pico, RP2040-ZeroМодуль/чип, USB, стабилизатор, кнопки и разъёмы на готовой плате

Для первого проекта обычно покупают плату разработки. Она уже умеет питаться от USB и прошиваться без программатора. Когда проект заработал и его нужно уменьшить, удешевить или выпустить серией, переходят на модуль либо разводят свою PCB с микроконтроллером.

Четыре вопроса перед выбором

Вместо «какой чип мощнее?» сначала ответь на эти вопросы.

  1. Нужна ли беспроводная связь? Wi-Fi, Bluetooth, Zigbee/Thread, LoRa или никакая.
  2. От чего будет питаться устройство? USB и розетка, Li-Ion, две батарейки AA или маленькая таблетка.
  3. Что нужно подключить? I2C-датчики, OLED, SD-карта, светодиодная лента, сервоприводы, CAN, дисплей, USB-клавиатура.
  4. В какой среде ты хочешь писать код? Arduino IDE, MicroPython/CircuitPython, C/C++ с SDK, PlatformIO, Zephyr, STM32CubeIDE, Rust.

После этого выбор обычно сужается до двух-трёх семейств.

Главная карта семейств

СемействоПроизводительАрхитектураСвязь «из коробки»Типичный сценарий
AVRMicrochip, раньше Atmel8-бит AVRОбычно нетКлассический Arduino, простые 5-вольтовые проекты
ESP8266Espressif32-бит XtensaWi-Fi 2,4 ГГцОчень дешёвый Wi-Fi, старые IoT-проекты
ESP32EspressifXtensa или RISC-V, зависит от моделиWi‑Fi, Bluetooth; у C6/H2 — 802.15.4IoT, Home Assistant, MQTT, веб-интерфейсы
RP2040 / RP2350Raspberry PiArm Cortex-M0+ / Arm + RISC-V у RP2350Нет радиоUSB, PIO, быстрые интерфейсы, контроллеры
STM32STMicroelectronicsArm Cortex-M0+/M3/M4/M7/M33/M55В отдельных сериях — BLE/802.15.4Моторы, CAN, промышленная автоматика, свои платы
SAMDMicrochipArm Cortex-M0+/M4Обычно нетArduino Zero/MKR, Adafruit-платы, USB-устройства
nRF52 / nRF54Nordic SemiconductorArm Cortex-M4F / M33 и др.Bluetooth LE, 802.15.4 у ряда моделейНизкое потребление, BLE, Thread/Zigbee/Matter
PICMicrochip8-/16-/32-бит PICОбычно нетОбучение, простая автоматика, некоторые серийные устройства
MSPM0 / MSP430Texas InstrumentsArm Cortex-M0+ / 16-бит MSP430Обычно нетНизкое потребление, аналоговые и промышленные задачи
RA / RL78 / RXRenesasArm Cortex-M / proprietaryВ отдельных сериях — радиоПромышленность, HMI, motor control, энергоэффективные устройства

Семейства выше не конкурируют «в лоб» во всех задачах. ESP32 с Wi-Fi и STM32 для трёхфазного двигателя решают разные проблемы; nRF52 выбирают не потому, что он быстрее ESP32, а потому что Bluetooth-датчик от батарейки должен прожить месяцы или годы.

ESP: самый короткий путь к Wi-Fi и IoT

Производитель: Espressif Systems.
Что выбирают в DIY: ESP8266, классический ESP32, ESP32-C3, ESP32-S2, ESP32-S3, ESP32-C6, ESP32-H2.

ESP стал массовым благодаря тому, что объединил микроконтроллер, Wi-Fi-радио, Flash и антенну в доступном модуле. Не нужно отдельно поднимать сетевой стек, искать RF-разводку и сертифицировать свою антенну для домашнего прототипа: ESP32 DevKit уже даёт USB, питание и готовый радиомодуль.

Как ориентироваться в ESP-семействе

ЧипЯдроБеспроводные возможностиКогда выбирать
ESP8266Одно Xtensa LX106Wi-Fi 2,4 ГГцОчень простой и дешёвый Wi-Fi, старые совместимые проекты
ESP32 (original)1–2 Xtensa LX6Wi-Fi + Bluetooth Classic/BLEУниверсальный «народный» ESP32, много примеров
ESP32-S2Одно Xtensa LX7Wi-Fi, USB OTGWi-Fi + нативный USB, когда Bluetooth не нужен
ESP32-S32 × Xtensa LX7Wi-Fi + BLE, USB OTGКамеры, дисплеи, USB HID, большие проекты с PSRAM
ESP32-C3Одно RISC-VWi-Fi + BLEКомпактный, современный и недорогой IoT-узел
ESP32-C6RISC-V HP + LPWi-Fi 6 + BLE + Zigbee/ThreadMatter, Thread/Zigbee, современный умный дом
ESP32-H2RISC-VBLE + Zigbee/Thread, без Wi-FiНизкопотребляющие 802.15.4-устройства

ESP32-C6 особенно интересен для новых устройств умного дома: он объединяет Wi-Fi 6 в диапазоне 2,4 ГГц, Bluetooth LE и IEEE 802.15.4 — базу для Thread и Zigbee. У него высокопроизводительное RISC-V-ядро до 160 МГц, отдельное low-power-ядро, 512 КБ SRAM и внешняя Flash. Это не значит, что старый ESP32 «устарел»: для MQTT-реле, датчика температуры, веб-панели или контроллера ленты он по-прежнему отлично подходит.

Плюсы ESP

  • Wi-Fi и Bluetooth в одной доступной плате.
  • Огромное число библиотек, примеров, модулей и готовых корпусов.
  • Arduino IDE, PlatformIO, ESP-IDF, MicroPython и CircuitPython для ряда моделей.
  • Удобные протоколы для DIY: MQTT, HTTP, WebSocket, ESP-NOW, OTA.
  • У многих моделей есть deep sleep и полезная периферия: RMT, I2S, TWAI/CAN, USB у новых семейств.

Что учитывать

  • Почти все GPIO — только 3,3 В, 5 В напрямую подавать нельзя.
  • Wi-Fi создаёт короткие пики потребления: слабое питание вызывает перезагрузки.
  • Аналоговый вход и Wi-Fi могут иметь ограничения в зависимости от модели.
  • Названия ESP32 похожи, но возможности отличаются: у ESP32-S2 нет Bluetooth, у ESP32-H2 нет Wi-Fi, старый ESP32 поддерживает Bluetooth Classic, а C3/C6 — только BLE.
  • Для глубокого сна и батарейки нужно измерять ток конкретной платы: USB-UART, стабилизатор и светодиоды DevKit иногда потребляют больше самого чипа.

Бери ESP32, если: нужен Wi-Fi, MQTT, Home Assistant, web-панель, OTA, Bluetooth-управление или быстрый IoT-прототип.

Не бери ESP32 автоматически, если: Wi-Fi не нужен, устройство должно год работать от батарейки, а главная задача — точные аппаратные тайминги или USB-периферия. В таких случаях RP2040, nRF52 или STM32 могут быть проще и экономнее.

RP2040 и RP2350: USB, PIO и точный контроль пинов

Производитель: Raspberry Pi.
Платы: Raspberry Pi Pico, Pico W, RP2040-Zero, Seeed XIAO RP2040, Adafruit QT Py RP2040 и другие.

RP2040 — необычный микроконтроллер: Raspberry Pi не стал добавлять в него Wi-Fi или Bluetooth, зато сделал сильную периферию и программируемый ввод-вывод PIO. Внутри два Arm Cortex-M0+ до 133 МГц, 264 КБ SRAM, 30 GPIO, USB 1.1 host/device и восемь PIO state machine. Внешняя QSPI Flash выбирается производителем платы: у Raspberry Pi Pico и многих RP2040-Zero это 2 МБ, но на других платах объём отличается.

Чем хорош PIO

PIO — это маленькие специализированные автоматы, которые могут сами читать или генерировать точно рассчитанные последовательности сигналов. Основные ядра в это время продолжают выполнять код приложения.

PIO полезен для:

  • адресных лент WS2812/NeoPixel;
  • дополнительных UART/SPI-подобных интерфейсов;
  • нестандартных шин и протоколов;
  • точного захвата импульсов;
  • LED-матриц, DVI и других задач с жёстким таймингом.

Это не «магическое ускорение всего». Для чтения кнопки, BME280 или реле PIO не нужен. Но когда проект упирается в тайминги, RP2040 часто оказывается заметно приятнее простых Arduino-плат.

RP2350 — следующее поколение

RP2350 — более новая линейка Raspberry Pi. Она добавляет больше памяти и GPIO в зависимости от варианта, больше PIO, современную архитектуру и аппаратные механизмы безопасности. В официальном сравнении Raspberry Pi у RP2040 указаны 264 КБ SRAM и 8 PIO state machine, а у RP2350 — 520 КБ SRAM и 12 PIO state machine.

Для новичка RP2040 остаётся более массовым и понятным: примеров и дешёвых плат пока больше. RP2350 выбирают, когда нужны дополнительные ресурсы и конкретные новые возможности платы.

Плюсы RP2040/RP2350

  • Отличная работа с USB: HID-клавиатуры, MIDI, контроллеры, serial-устройства.
  • PIO для нестандартных интерфейсов и точных временных последовательностей.
  • Arduino, Pico SDK, MicroPython, CircuitPython, TinyUSB, Rust.
  • Два ядра и хороший запас RAM для платы такого класса.
  • Простая прошивка UF2: BOOTSEL → USB-диск → копирование файла.

Ограничения

  • У RP2040 нет встроенного радио. Если нужна сеть, берут Pico W, внешний модуль или сразу ESP32.
  • GPIO — 3,3 В.
  • В самом RP2040 нет Flash: её объём зависит от конкретной платы.
  • Нативный USB не заменяет Wi-Fi: для web-интерфейса и OTA нужна сеть.

Бери RP2040, если: делаешь USB-контроллер, макропад, MIDI, LED-проект, устройство со сложными таймингами или хочешь быстро писать на MicroPython без радиомодуля.

STM32: огромный конструктор для серьёзной периферии

Производитель: STMicroelectronics.
Что встречается в DIY: STM32F0/F1/F4, G0/G4, L0/L4/U5, H5/H7, WB/WBA, Nucleo, Discovery, Blue Pill, Black Pill.

STM32 — не один чип, а очень большое семейство Arm Cortex-M. В нём есть недорогие Cortex-M0+, массовые M3/M4, энергоэффективные серии, чипы для моторного управления, беспроводные варианты и мощные M7/M55. Поэтому вопрос «какой STM32?» почти всегда требует уточнения.

ПодсемействоИдеяТипичные DIY-задачи
STM32F0 / G0Бюджетные Arm Cortex-M0+Замена AVR, датчики, простая автоматика
STM32F1Старое популярное семейство Cortex-M3Blue Pill, множество старых уроков и проектов
STM32F4 / G4Cortex-M4, DSP/FPU у многих моделейАудио, motor control, быстрые измерения, PID
STM32L0 / L4 / U5Низкое потреблениеАвтономные датчики, измерители, промышленная телеметрия
STM32H5 / H7 / N6Высокая производительностьДисплеи, Ethernet, сложная обработка, edge AI у отдельных серий
STM32WB / WBAРадио + ArmBluetooth LE, Zigbee, Thread, Matter у части моделей

Почему STM32 любят инженеры

  • Очень широкий выбор корпусов, памяти, напряжений и периферии.
  • CAN/FDCAN, USB, Ethernet, SDIO, продвинутые таймеры, ADC/DAC, DMA, op-amp/comparator — в зависимости от модели.
  • Сильная экосистема Nucleo/Discovery, ST-Link, STM32CubeIDE и STM32CubeMX.
  • Хороший путь от макета к собственной плате и серийному устройству.
  • Много вариантов для моторного управления, промышленности и измерительной техники.

Почему STM32 иногда не лучший первый выбор

  • Маркировки сложнее, чем у ESP32: STM32G431CBU6 уже несёт информацию о серии, корпусе, памяти и температурном диапазоне.
  • Документации много, но нужно читать datasheet, reference manual и application notes.
  • Одна библиотека может не подходить другой подсерии без правок.
  • У дешёвых «Blue Pill» встречаются клоны и платы с разной реализацией USB/кварца.

Бери STM32, если: нужны быстрые таймеры, моторы, CAN, несколько ADC, промышленная периферия, надёжная собственная PCB или ты хочешь вырасти за пределы Arduino-библиотек.

AVR: классика Arduino

Производитель: Microchip, раньше Atmel.
Типовые чипы: ATmega328P, ATmega32U4, ATtiny85, ATtiny1616, ATmega4809.

Когда говорят «обычный Arduino», чаще всего имеют в виду ATmega328P из Arduino Uno/Nano. Это 8-битный AVR с 32 КБ Flash, 2 КБ SRAM, 1 КБ EEPROM, 23 GPIO, 10-битным ADC, UART, I2C и SPI. Его частота на Arduino Uno обычно 16 МГц. 

По современным меркам цифры скромные. Но именно ограничения AVR делают его хорошим учебным инструментом: один поток кода, понятные таймеры, предсказуемое поведение, 5-вольтовая логика на классических платах и тысячи примеров.

Когда AVR — разумный выбор

  • Простая автоматика без сети: кнопки, LED, реле, термометр, LCD 1602.
  • Проект, где нужны 5-вольтовые сигналы без level shifter.
  • Низкая цена и простота ремонта.
  • Самодельная плата с ATtiny для одной функции: таймер, индикатор, простая подсветка, датчик.
  • Обучение базам электроники и C++/Arduino.

Где AVR упирается в потолок

2 КБ SRAM заканчиваются очень быстро: большой экранный буфер, JSON, Wi-Fi, TLS, несколько библиотек или длинные строки способны заполнить память. Для сложных UI, сетевых протоколов и обработки данных AVR лучше заменить на ESP32, RP2040 или STM32.

Новые AVR семейства tinyAVR 0/1/2-series и megaAVR 0-series заметно современнее ATmega328P: у них лучше периферия, есть event system и более гибкие пины. Но старый ATmega328P всё ещё важен, потому что на нём построена огромная часть Arduino-мира.

Бери AVR, если: нужен понятный старт, 5-вольтовая плата, небольшой проект без сети и без тяжёлых библиотек.

SAMD: Arm-версия Arduino и дружба с USB

Производитель: Microchip.
Типовые чипы: ATSAMD21, ATSAMD51.

SAMD21 — 32-битный Arm Cortex-M0+ до 48 МГц, который встречается в Arduino Zero, MKR, Seeeduino XIAO SAMD21 и множестве Adafruit-плат. Это заметный шаг вверх относительно ATmega328P: больше RAM и Flash, 3,3-вольтовая логика, нативный USB, гибкая периферия.

SAMD51 — старшая линейка на Cortex-M4F, которую часто ставят в платы для дисплеев, аудио, USB и CircuitPython. В экосистеме Adafruit SAMD долго был «главным» чипом для CircuitPython, поэтому для него много библиотек, готовых плат и примеров.

Бери SAMD, если: нужна Arduino/CircuitPython-плата с качественным USB, хорошей поддержкой библиотек и без Wi-Fi; особенно если выбранная плата Adafruit/Seeed уже построена на SAMD.

Не выбирай только по бренду Arduino: современный RP2040 часто даёт больше RAM и производительности за меньшие деньги, а ESP32 добавляет сеть. У SAMD остаются сильные стороны в зрелых платах, нативном USB и совместимости с библиотеками.

nRF52 и nRF54: Bluetooth, батарейка и умный дом

Производитель: Nordic Semiconductor.
Типовые чипы: nRF52832, nRF52840, nRF5340, nRF54L15 и другие.

Если устройство должно работать от батарейки и общаться по Bluetooth Low Energy, Nordic — один из самых логичных вариантов. Эти чипы не пытаются быть дешёвым Wi-Fi-компьютером: их сильная сторона — радиостек, энергопотребление, стабильный BLE и протоколы 802.15.4.

nRF52840 — популярный ориентир для DIY и готовых устройств: Cortex-M4F 64 МГц, 1 МБ Flash, 256 КБ RAM, Bluetooth LE, Bluetooth Mesh, Thread, Zigbee, NFC-A, USB 2.0 Full Speed, 12-битный ADC и до 48 GPIO. Он поддерживает Bluetooth LE с 2 Мбит/с, long range и IEEE 802.15.4. 

Где nRF особенно хорош

  • BLE-датчик, кнопка, маяк, пульт или wearable от батарейки.
  • Thread/Zigbee/Matter-устройства, особенно при использовании готового SDK/Zephyr.
  • USB + BLE: контроллеры, клавиатуры, адаптеры.
  • Устройства, которым важно просыпаться, коротко передавать данные и снова спать.

Что учитывать

  • Wi-Fi у nRF52 обычно нет. Для облака нужен шлюз, телефон или отдельный радиомодуль.
  • Экосистема сложнее Arduino: часто используют nRF Connect SDK на базе Zephyr.
  • Сам чип и платы обычно дороже распространённых ESP32-C3.
  • Для первой BLE-игрушки ESP32 может быть проще, но для долгой работы от батареи и качественного Bluetooth nRF часто выигрывает.

Бери nRF52/nRF54, если: главное — Bluetooth LE, автономность, Thread/Zigbee/Matter или профессиональный беспроводной датчик.

PIC: не исчез, просто живёт в другой части мира

Производитель: Microchip.
Линейки: PIC10/12/16/18, dsPIC, PIC24, PIC32.

PIC был одним из главных семейств для обучения и серийной электроники задолго до Arduino. В DIY-среде он виден реже AVR и ESP32, но в реальных приборах встречается постоянно: от простых контроллеров питания до производственной автоматики.

Microchip продолжает развивать 8-битные PIC и AVR параллельно; в текущем портфеле есть, например, PIC16 до 32 МГц и 28 КБ Flash, PIC18 до 64 МГц и 64 КБ Flash.

Почему PIC может быть интересен

  • Большой ассортимент недорогих чипов в разных корпусах.
  • Хорошая аналоговая периферия и специальные блоки у конкретных моделей.
  • PIC16/PIC18 подходят для простых устройств, dsPIC — для DSP и моторного управления, PIC32 — для 32-битных задач.
  • Удобен, если повторяешь существующую схему или работаешь в среде MPLAB X.

Почему новички редко начинают с PIC

В Arduino/MicroPython-мире меньше готовых примеров и плат. Документация рассчитана скорее на инженера, который выбирает чип под серийное изделие, чем на человека, который хочет за вечер подключить OLED и MQTT.

Бери PIC, если: проект или работа уже опираются на PIC, нужен конкретный периферийный блок, либо хочется изучить MPLAB и классическую микроконтроллерную разработку. Для общего первого DIY-проекта ESP32/AVR/RP2040 чаще стартуют быстрее.

MSPM0 и MSP430: энергосбережение и аналоговые задачи от TI

Производитель: Texas Instruments.
Семейства: классический 16-битный MSP430 и современный 32-битный MSPM0.

MSP430 долгие годы ассоциируется с низким потреблением: приборы учёта, автономные измерители, простые датчики на батарейках. MSPM0 — более современная доступная 32-битная линейка на Arm Cortex-M0+, которую TI позиционирует как масштабируемое семейство для embedded-задач. 

В DIY MSPM0 пока менее заметен, чем STM32 и ESP32, но становится интересным, если важны аналоговая часть, недорогая промышленная автоматика, моторы, надёжная документация и экосистема TI.

Бери MSP430/MSPM0, если: ты строишь низкопотребляющий измеритель, работаешь с TI LaunchPad или хочешь глубже разбираться в аналоговых и промышленных применениях. Для Wi-Fi-устройства всё равно потребуется внешний радиомодуль.

Renesas RA, RL78 и RX: когда DIY начинает походить на промышленность

Производитель: Renesas.
Что важно знать: RA — Arm Cortex-M, RL78 — экономичная 16-битная линейка, RX — собственная 32-битная архитектура.

Renesas широко представлен в промышленной и автомобильной электронике. В хобби он встречается реже, но не потому, что чипы плохие: просто вокруг ESP32 и Arduino больше готовых уроков. Семейство RA построено на Cortex-M и включает варианты до 240 МГц с акцентом на безопасность, connectivity, HMI и motor control.

Также Renesas выпускает RL78, RX, RZ и другие линии. Если ты работаешь с промышленным оборудованием, дисплеем, мотором, защищённой периферией или готовой платой Renesas, это нормальная современная платформа. Но для первой DIY-метеостанции она обычно избыточна.

Не только эти: Silicon Labs, NXP, Infineon и другие

Мир микроконтроллеров намного шире перечня выше. В DIY они появляются реже, но знать о них полезно.

ПроизводительСемействаКогда встретишь
Silicon LabsEFM32, EFR32BLE, Zigbee, Thread, низкое потребление, умный дом
NXPLPC, i.MX RT, KinetisВысокая производительность, аудио, дисплеи, Teensy у части поколений
InfineonPSoC, XMC, AURIXАналоговые блоки, индустрия, motor control, automotive
GigaDeviceGD32Недорогие Cortex-M, часто похожи на STM32 по позиционированию
WCHCH32, CH5xxОчень дешёвые RISC-V/USB-платы, китайская экосистема
Bouffalo LabBL602/BL616 и др.Wi-Fi/BLE RISC-V, экспериментальные IoT-проекты
Sonix, Realtek и др.Разные SoCКамеры, аудио, узкоспециализированные устройства

Не обязательно изучать их все. Чаще всего такая плата попадает в руки вместе с готовым устройством, конкретным модулем или задачей. Тогда выбор уже сделан за тебя, и нужно искать документацию именно по этому семейству.

Сравнение по реальным задачам

ЗадачаПервый кандидатАльтернативаПочему
Wi-Fi-датчик MQTTESP32-C3ESP32 classic / ESP32-S3Wi-Fi, готовые библиотеки, OTA, Home Assistant
Реле с веб-панельюESP32ESP8266 для очень простого случаяДешёвое соединение с сетью и web server
BLE-кнопка от батарейкиnRF52ESP32-C3nRF обычно лучше по автономности и BLE-стеку
Zigbee/Thread/MatterESP32-C6 или nRF52/nRF54STM32WBAВстроенная 802.15.4-радиочасть
USB-клавиатура, MIDI, макропадRP2040SAMD21/SAMD51, nRF52840Удобный USB и PIO; много готовых примеров
WS2812-матрица и сложные таймингиRP2040ESP32 с RMTPIO хорошо подходит для точных сигналов
Простая учебная схема на 5 ВArduino Uno/Nano на AVRATtiny, Arduino Nano EveryПонятная логика и устойчивые 5-вольтовые уровни
Промышленный датчик, CAN, моторSTM32 G4/F4/H7Renesas RA, TI MSPM0Таймеры, DMA, CAN, ADC, motor control
Низкопотребляющий измеритель без радиоSTM32L / MSP430AVR tinyAVR, Renesas RL78Режимы сна и автономность
Плата с большим дисплеем/аудиоSTM32H7 / ESP32-S3NXP i.MX RTМного RAM/периферии и производительность

Как читать характеристики

Частота — не главная цифра

240 МГц у ESP32 не делают его «в три раза лучше» STM32 на 80 МГц. На результат влияют архитектура ядра, Flash/RAM, кеш, DMA, эффективность библиотек, периферия и то, что делает программа. Для включения реле раз в минуту разница между 16 и 240 МГц не имеет практического значения.

Flash и RAM — разные вещи

  • Flash хранит прошивку и константы после выключения питания.
  • RAM/SRAM хранит переменные, стек, буферы и работает только пока плата питается.
  • PSRAM — внешняя дополнительная RAM на некоторых ESP32-платах; полезна для дисплеев, камер и больших буферов.
  • EEPROM — отдельная энергонезависимая память, характерна для AVR; на других чипах её часто эмулируют во Flash.

Новичок часто смотрит только на Flash, а потом получает загадочные падения программы. Большие JSON-буферы, изображения, строки и сетевые библиотеки съедают прежде всего RAM.

GPIO — не просто «количество ножек»

Смотри не только на число GPIO, но и на детали:

  • сколько реально выведено на плату;
  • какие пины заняты Flash, USB, встроенным LED или кнопкой;
  • есть ли ADC и сколько его каналов;
  • поддерживают ли нужные пины PWM, I2C, SPI, UART;
  • какие пины являются boot/strapping-пинами;
  • какие уровни допускаются: 3,3 В или 5 В;
  • есть ли внутренние подтяжки и насколько они слабые.

Самая частая ошибка: забыть про уровни

Большинство современных Arm, ESP и RP2040-плат используют GPIO 3,3 В. Если модуль питается от 5 В, это не означает, что его сигнал можно подавать на GPIO напрямую.

Классический пример — HC-SR04: сам датчик питается от 5 В и выдаёт Echo около 5 В. Для ESP32 или RP2040 этот выход нужно понизить резистивным делителем или согласователем уровней. 

Быстрый способ понять, нужен ли level shifter

Смотри на две вещи отдельно: напряжение питания модуля и напряжение его логических сигналов.

  • Если датчик питается от 3,3 В и его SDA/SCL/TX/OUT подтянуты к 3,3 В — он обычно безопасен для 3,3-вольтового MCU.
  • Если датчик питается от 5 В, но в документации прямо указана совместимость его входов/выходов с 3,3 В — прямое соединение может быть допустимо. Всё равно проверь datasheet.
  • Если 5-вольтовый модуль выдаёт логическую единицу 5 В, на GPIO ESP32/RP2040/STM32 нужен делитель или двунаправленный level shifter — зависит от интерфейса.
  • Если неясно, измерь высокий уровень мультиметром или осциллографом и не подавай неизвестный сигнал прямо на GPIO.

Среды разработки

СредаКому подходитЧасто работает с
Arduino IDEПервый проект, быстрый прототип, готовые библиотекиAVR, ESP, RP2040, STM32, SAMD, nRF и другие core
PlatformIOПроекты с Git, библиотеками, несколькими окружениямиБольшинство популярных платформ
MicroPythonБыстрые эксперименты, датчики, обучение PythonESP32, RP2040, STM32, некоторые nRF
CircuitPythonУдобный USB-диск CIRCUITPY, Adafruit-библиотекиSAMD, RP2040, ESP32-S2/S3/C3/C6 и поддерживаемые платы
ESP-IDFПолные возможности ESPESP32-семейство
Pico SDKC/C++ и PIORP2040/RP2350
STM32CubeIDE / CubeMXКонфигурация STM32-периферии и HAL/LLSTM32
Zephyr / nRF Connect SDKBluetooth, Thread, Matter, RTOSnRF, STM32, ESP и множество других
MPLAB XPIC и AVR от MicrochipPIC, AVR, dsPIC, SAMD

Выбор среды меняет ощущения от одного и того же чипа. ESP32 в Arduino IDE — быстрый прототип на вечер; ESP32 в ESP-IDF — более контролируемый продукт с полным доступом к возможностям SoC. STM32 в Arduino core можно заставить мигать LED за минуты, а в CubeMX — точно настроить DMA, таймер и частоты для сложного устройства.

Что купить новичку: практичный набор

Чтобы не утонуть в сотне плат, достаточно четырёх-пяти позиций:

  • Arduino Uno/Nano-совместимая плата на ATmega328P — понять GPIO, 5 В, кнопки, LED, реле, базовую электронику.
  • ESP32 DevKit или ESP32-C3 SuperMini — Wi-Fi, MQTT, веб-панель, IoT.
  • RP2040-Zero или Raspberry Pi Pico — USB, MicroPython, PIO, компактные контроллеры.
  • Небольшая STM32 Nucleo или проверенная плата на STM32G0/G4/F4 — когда захочется таймеров, ADC, CAN и более инженерного подхода.
  • nRF52840-плата — если Bluetooth и батарейное питание становятся главной задачей.

Это не обязательный «правильный путь». Но такой набор покрывает почти все типичные DIY-сценарии и быстро учит главному: выбирать не бренд, а инструмент под задачу.

Что запомнить

  • Arduino — экосистема, а не один микроконтроллер.
  • ESP32 — главный массовый выбор для Wi-Fi и IoT; конкретную модель ESP нужно выбирать по радио и периферии.
  • RP2040 хорош для USB и сложных таймингов благодаря PIO, но не содержит радио.
  • STM32 — большое семейство для периферии, моторного управления, CAN, ADC и своих плат.
  • AVR остаётся удобным для обучения и простых 5-вольтовых устройств, хотя по памяти и скорости уступает 32-битным семействам.
  • nRF52/nRF54 сильнее всего там, где нужны Bluetooth LE, Thread/Zigbee и долгий срок работы от батареи.
  • PIC, MSPM0/MSP430, Renesas и другие семейства важны в реальной электронике, но в DIY часто требуют более самостоятельной работы с документацией.
  • Всегда проверяй уровни логики: 5 В на GPIO 3,3-вольтовой платы — частая причина сгоревшего чипа.

Проверь себя

  1. Ты собираешь датчик температуры с MQTT и настройкой через веб-страницу. Какое семейство будет самым прямым выбором?
  2. Нужно сделать USB-MIDI-контроллер с энкодерами и адресной LED-лентой, без Wi-Fi. Что выбрать в первую очередь?
  3. Устройство должно работать от батарейки, передавать раз в минуту маленький пакет по Bluetooth и жить как можно дольше. Почему ESP32 не всегда лучший вариант?
Показать ответы
  1. ESP32: Wi-Fi, MQTT, HTTP/web server и OTA хорошо поддержаны готовыми библиотеками. Для простой задачи можно взять ESP32-C3, для более тяжёлого интерфейса или дополнительной памяти — ESP32-S3/обычный ESP32 в зависимости от требований.
  2. RP2040. У него нативный USB, хорошая поддержка HID/MIDI и PIO для точной работы с WS2812. Альтернативы — SAMD21/SAMD51 или nRF52840, если нужен ещё и Bluetooth.
  3. Wi-Fi обычно требует заметной энергии при передаче и подключении к точке доступа. nRF52/nRF54 оптимизированы для BLE и глубокого сна: они могут коротко проснуться, передать маленький пакет и снова уйти в очень экономичный режим. Именно поэтому для BLE-датчика на батарейке Nordic часто практичнее ESP32.