Микроконтроллер — это компьютер на одном кристалле: процессор, память, входы-выходы и периферия внутри. В отличие от «просто процессора», ему не нужны внешние чипы памяти и обвязка, чтобы начать работать.
Что внутри типичного (ESP32): два ядра Xtensa до 240 МГц, 520 КБ SRAM, внешняя flash 4 МБ, Wi-Fi и Bluetooth, 34 GPIO, 18 каналов АЦП, 16 каналов ШИМ, таймеры, I2C/SPI/UART, аппаратный криптоускоритель.
У ATmega328P (Arduino Uno): одно ядро 16 МГц, 2 КБ SRAM, 32 КБ flash, 1 КБ EEPROM, 23 GPIO, 6 каналов АЦП 10 бит, без радио.
Ключевая разница с «компьютером»: нет операционной системы (обычно), нет файловой системы, программа — один цикл. Ты пишешь setup() и loop(), и это ближе к прошивке стиральной машины, чем к веб-серверу.
Что определяет выбор: сколько пинов, какая периферия, есть ли радио, сколько нужно вычислений, какое питание, сколько стоит.
Главное ограничение — память. 520 КБ SRAM у ESP32 кажутся большими, но Wi-Fi стек забирает сотни килобайт, и на буферы остаётся немного. У AVR 2 КБ — и это реально мало: строка в 100 символов уже 100 байт.
И ещё: микроконтроллер не «маленький компьютер для всего». Для видео и нейросетей нужен Linux-компьютер (Raspberry Pi), для точных измерений — внешний АЦП, для быстрой логики — FPGA.
Понимание, что внутри и чего нет, избавляет от попыток «сделать видео на ESP32» и объясняет ограничения.
Открой даташит любой платы и выпиши: ядро, частоту, SRAM, flash, число GPIO, наличие радио. Сравни с потребностями своего проекта.
Проверь себя
Почему на ESP32 иногда не хватает памяти, хотя SRAM 520 КБ?
Wi-Fi и TCP/IP стек занимают большую часть, плюс буферы и куча. Реально на задачу остаётся 100–200 КБ, и это надо учитывать при работе с большими массивами.
-
Wikipedia: Microcontroller
что такое микроконтроллер
-
Espressif: ESP32 Datasheet
пример: состав ESP32