Плата разработки определяет не только производительность будущего устройства. От неё зависят доступные интерфейсы, способ программирования, беспроводная связь, работа в реальном времени, возможность подключения дисплеев, датчиков, приводов и сетевого оборудования.
В этой категории собраны разные классы платформ – от простых микроконтроллерных плат для первых экспериментов до производительных контроллеров и одноплатных компьютеров. Поэтому выбирать плату лучше не по количеству мегагерц или GPIO, а по архитектуре самого проекта.
Какую платформу выбрать
Платформа
Для каких задач подходит
Arduino
Обучение, простая автоматика, датчики, реле, двигатели и быстрое прототипирование
ESP8266
Компактные Wi-Fi устройства, сетевые датчики и простые IoT-проекты
ESP32
Wi-Fi, Bluetooth, IoT, дисплеи, камеры, автоматизация и беспроводные контроллеры
STM32
Управление периферией, точные тайминги, приводы, измерительные и встраиваемые системы
Raspberry Pi Pico
Компактные микроконтроллерные устройства, собственная периферия и работа в реальном времени
Одноплатные компьютеры
Linux, сетевые сервисы, сложные интерфейсы, шлюзы, локальные приложения и обработка данных
Для простого старта можно посмотреть платы Arduino. Если проекту нужна встроенная беспроводная связь, основной выбор обычно находится между ESP32 и ESP8266. Для более низкоуровневой разработки и задач управления периферией представлены платы STM32.
Микроконтроллерная плата или одноплатный компьютер
Эти устройства внешне могут быть похожи, но предназначены для разных задач.
Arduino, ESP32, ESP8266, STM32 и Raspberry Pi Pico – это прежде всего микроконтроллерные платформы. Они запускают прошивку непосредственно на микроконтроллере и подходят для управления оборудованием, датчиками и периферией.
Orange Pi, Banana Pi и многие Raspberry Pi относятся уже к одноплатным компьютерам. На них может работать полноценная операционная система, сетевые службы, базы данных, графические приложения и другое программное обеспечение.
Плата разработки и микроконтроллерный модуль – не одно и то же
DevKit, NodeMCU, Discovery, Nucleo, Pico и другие платы разработки создаются так, чтобы с микроконтроллером было удобно экспериментировать. На плате уже могут находиться стабилизатор питания, USB-разъём, программатор или USB-UART преобразователь, кнопки загрузки и сброса, светодиоды и разъёмы для подключения внешних компонентов.
Модуль обычно компактнее и рассчитан на интеграцию в готовое устройство. На нём может находиться сам микроконтроллер, Flash-память, антенна и минимальная обвязка, но для питания, USB и периферии потребуется собственная плата.
Большое количество GPIO само по себе не означает, что плата лучше подходит для проекта. Важнее понять, какие интерфейсы действительно понадобятся.
Для датчиков часто используются I2C, SPI и UART. Для двигателей и силовой электроники важны PWM, таймеры и специализированные периферийные блоки. В системах автоматизации могут потребоваться CAN, RS-485 или Ethernet, а для пользовательского интерфейса – дисплей, сенсорная панель, USB, камера или аудио.
При выборе стоит проверить:
количество доступных GPIO;
напряжение логических уровней;
ADC и DAC;
аппаратные таймеры и PWM;
SPI, I2C и UART;
USB;
CAN или TWAI;
Ethernet;
Wi-Fi и Bluetooth;
поддержку внешней памяти;
интерфейсы дисплеев и камер;
тип питания;
наличие встроенного программатора.
Arduino, ESP32 или STM32
Если нужен простой старт, большое количество готовых примеров и понятная экосистема, чаще всего начинают с Arduino.
ESP32 имеет смысл брать, когда в проекте сразу нужны Wi-Fi, Bluetooth или более современная периферия. На его базе много готовых плат с дисплеями, камерами, Ethernet, PoE, LoRa и другими интерфейсами, поэтому часть аппаратной работы уже решена производителем платы.
STM32 чаще выбирают для задач, где важны точная работа таймеров, развитая периферия, управление приводами, измерительные функции и более низкоуровневый контроль над микроконтроллером.
Один проект может использовать несколько контроллеров
Не всегда нужно выбирать только одну платформу. В сложных устройствах разные платы могут выполнять разные задачи.
Например, микроконтроллер может управлять датчиками, приводами и критичными по времени процессами, ESP32 – обеспечивать беспроводную связь, а одноплатный компьютер – хранить данные, запускать интерфейс пользователя или выполнять более тяжёлую обработку.
Для первых испытаний обычно удобнее большая плата разработки с USB и доступом ко всем основным контактам. На ней проще проверить схему, подключить датчики, протестировать питание и написать программное обеспечение.
После того как устройство заработало, можно перейти на компактную плату, готовый модуль или собственную печатную плату.
Поэтому DevKit и NodeMCU удобны не только для обучения – это быстрый инструмент проверки архитектуры будущего устройства до разработки собственной электроники.