Arduino Pro Micro — характеристики, распиновка и особенности использования

Arduino Pro Micro — небольшая плата на микроконтроллере ATmega32U4, которую разработала компания SparkFun, а затем массово повторили многие производители. Официальной платой Arduino она не является, но в списках устройств и в сообщениях об ошибках её обычно называют именно «Arduino Pro Micro». Не путайте её с Arduino Pro Mini, у которой микроконтроллер другой (ATmega328P) и нет встроенного USB.

Как и у Arduino Micro и Leonardo, USB-контроллер встроен в микроконтроллер ATmega32U4. Поэтому плата определяется компьютером как виртуальный COM-порт и может эмулировать клавиатуру, мышь или игровой контроллер. При этом платы не рассчитаны на шилды: это компактная колодка для макетной платы или впайки в готовое устройство.

Плата выпускается в двух вариантах: 5 В / 16 МГц и 3,3 В / 8 МГц. Характеристики основной части совпадают, но у 3,3-вольтового варианта вдвое ниже тактовая частота, и при загрузке скетча нужно выбрать правильную версию в Arduino IDE.

Клон Pro Micro на ATmega32U4 с разъёмом mini-USB

На фотографии — типичный клон Pro Micro с разъёмом mini-USB; у оригинальной платы SparkFun разъём micro-USB. Расположение выводов у них одинаковое.


Основные характеристики Arduino Pro Micro

  • Микроконтроллер: ATmega32U4
  • Архитектура: AVR, 8 бит
  • Тактовая частота: 16 МГц (версия 5 В) или 8 МГц (версия 3,3 В)
  • Рабочее напряжение: 5 В или 3,3 В в зависимости от версии
  • Входное напряжение (RAW): от 1 В выше рабочего напряжения до 12 В
  • Выводы ввода-вывода: 18, номера 0–21 в Arduino IDE (часть номеров относится к аналоговым входам A0–A3)
  • ШИМ (PWM): 5 выводов
  • Аналоговые входы: 9
  • Flash-память: 32 КБ (в том числе загрузчик)
  • SRAM: 2,5 КБ
  • EEPROM: 1 КБ
  • Интерфейсы: UART (Serial1), I²C, SPI
  • USB: встроенный контроллер ATmega32U4; виртуальный COM-порт и HID
  • Беспроводная связь: отсутствует
  • Совместимость с шилдами: нет
  • Размеры: около 33 × 18 мм (1,30 × 0,70 дюйма), с разъёмом USB около 35 мм (1,37 дюйма)
  • Способ программирования: Arduino IDE; загрузчик, совместимый с Leonardo (Caterina)

Объёмы памяти относятся к микроконтроллеру ATmega32U4 и одинаковы для обоих вариантов платы. Размер загрузчика зависит от его версии и в документации SparkFun не приводится, поэтому полезный объём Flash для скетча уточняйте для своей платы.


Технические характеристики

Микроконтроллер

Основа платы — ATmega32U4: 8-битный AVR с 32 КБ Flash, 2,5 КБ SRAM и 1 КБ EEPROM. Внутри — аппаратные таймеры, 10-битный АЦП, UART, I²C, SPI и контроллер USB 2.0 Full Speed. По вычислительным возможностям он близок к ATmega328P из Uno и Nano.

Версия определяется напряжением питания и частотой. Вариант 5 В / 16 МГц по логике совпадает с Leonardo и Arduino Micro, а 3,3 В / 8 МГц удобен при работе с 3,3-вольтовыми датчиками и модулями. Версию платы отмечают галочкой на обратной стороне.

Обратная сторона Pro Micro: отметка версии 5 В или 3,3 В

⚠ Версия 5 В или 3,3 В. Рабочее напряжение платы определяет максимально допустимое напряжение на любом выводе. Не подавайте сигналы 5 В на плату версии 3,3 В / 8 МГц и не смешивайте в одной цепи платы разных версий без согласования уровней. Перед загрузкой скетча выберите в Arduino IDE ту версию, которая совпадает с отметкой на плате.

Память (Flash, SRAM, EEPROM)

Из 32 КБ Flash часть занимает загрузчик, поэтому для скетча остаётся примерно 28 КБ. SRAM — 2,5 КБ для переменных, EEPROM — 1 КБ для данных, которые нужно сохранять при выключении питания. Памяти немного: тяжёлые графические библиотеки и большие строки быстро её исчерпывают.

Цифровые и аналоговые выводы (I/O)

Всего 18 выводов, в Arduino IDE они имеют номера от 0 до 21. Выводы A0–A3 можно использовать и как цифровые (номера 18–21). Аналоговых входов 9; часть из них совпадает с цифровыми выводами 4, 6, 8, 9 и 10 (A6–A10). ШИМ поддерживают 5 выводов. Внешних прерываний пять: вывод 3 (INT0), 2 (INT1), 0 (INT2), 1 (INT3) и 7.

Вывод RST подтянут к питанию резистором 10 кОм. Кнопки Reset на плате нет: для перезапуска RST замыкают на землю (GND).

⚠ Ток выводов. Допустимый ток вывода определяется микроконтроллером ATmega32U4: по его документации 40 мА — предельное значение, а рабочий ток должен быть заметно ниже. В описании платы SparkFun рабочее значение не приведено, поэтому нагрузки мощнее светодиода подключайте через транзистор или драйвер.

Распиновка Pro Micro: выводы, ШИМ, аналоговые входы, SPI, I²C и последовательный порт

Интерфейсы связи (UART, I²C, SPI)

  • UART: аппаратный порт Serial1 на выводах 0 (RX) и 1 (TX). Объект Serial — это виртуальный USB-порт.
  • I²C: SDA — вывод 2, SCL — вывод 3.
  • SPI: MISO — вывод 14, SCK — вывод 15, MOSI — вывод 16. Вывод выбора устройства (SS) нужно назначить любым свободным.

USB

USB-контроллер встроен в микроконтроллер, поэтому плата работает не только как последовательный порт, но и как HID-устройство через библиотеки Keyboard, Mouse и другие. Разъём на большинстве плат — micro-USB; у части современных клонов используется USB-C, поэтому разъём стоит проверять по описанию конкретной модели.

Три светодиода: красный показывает наличие питания, жёлтый — приём данных платой (RX), зелёный — передачу (TX).

Питание

Питание подаётся через USB или на вывод RAW. Через USB на RAW приходит около 4,8 В (5 В минус падение на диоде Шоттки). Внешнее напряжение на RAW допускается до 12 В и должно быть минимум на 1 В выше рабочего (то есть для 5-вольтовой платы больше 6 В). Вывод VCC при подаче питания снаружи не стабилизируется платой, поэтому подавать на него можно только чистое стабилизированное напряжение, равное рабочему.

⚠ Питание. Внешнее питание подавайте на RAW (до 12 В, минимум на 1 В выше рабочего напряжения: для 5-вольтовой платы больше 6 В) или по USB. Через USB на RAW приходит около 4,8 В. На VCC подавайте только стабилизированное напряжение, равное рабочему (5 В или 3,3 В по версии платы): плата его не стабилизирует. Не подавайте напряжение на RAW и VCC одновременно с USB, если не уверены в схеме питания.

Совместимость с шилдами и форм-фактор

Шилды Arduino Uno не подходят. Плата сделана для макетной платы: два ряда выводов по краям, 12 штырьков в каждом ряду.

Размеры и конструкция

Плата примерно 33 × 18 мм; вместе с разъёмом USB — около 35 мм. Это почти размер Arduino Nano, но короче и без кнопки Reset.

Чертёж Pro Micro с размерами платы в дюймах

Интерфейсы и разъёмы

  • Micro-USB (или USB-C у части клонов) — питание, прошивка, виртуальный COM-порт и HID.
  • Два ряда выводов — цифровые, аналоговые, питание (RAW, VCC, GND), RST.
  • Светодиоды: питание, RX, TX.
  • ICSP: распаянного разъёма нет; наличие площадок для него зависит от модели, смотрите схему своей версии.

Программирование

Плата программируется в Arduino IDE на упрощённом C/C++. Для оригинальной SparkFun Pro Micro производитель рекомендует установить пакет SparkFun AVR Boards и выбрать в списке плат «SparkFun Pro Micro», затем указать версию 5 В / 16 МГц или 3,3 В / 8 МГц. Для 5-вольтовых плат на практике часто выбирают и «Arduino Leonardo» — загрузчик у них совместим.

Загрузчик (Caterina) работает по USB. Если скетч «подвесил» порт, плату переводят в режим загрузки двойным кратковременным замыканием RST на землю. Помните, что для скетчей на этой плате Serial — виртуальный порт USB и без подключённого компьютера не передаёт данных.


Распиновка

Ниже — расположение выводов по схеме SparkFun; нумерация — как в Arduino IDE.

Левый ряд выводов (от разъёма USB)

КонтактВывод ArduinoПорт MCUФункции
1TXO (D1)PD3UART Serial1 TX, прерывание INT3
2RXI (D0)PD2UART Serial1 RX, прерывание INT2
3GND—Земля
4GND—Земля
5D2PD1I²C SDA, прерывание INT1
6D3PD0I²C SCL, ШИМ, прерывание INT0
7D4 (A6)PD4Аналоговый вход A6
8D5PC6ШИМ
9D6 (A7)PD7ШИМ, аналоговый вход A7
10D7PE6Прерывание
11D8 (A8)PB4Аналоговый вход A8
12D9 (A9)PB5ШИМ, аналоговый вход A9

Правый ряд выводов (от разъёма USB)

КонтактВывод ArduinoПорт MCUФункции
1RAW—Вход питания (до 12 В)
2GND—Земля
3RST—Сброс (подтянут к питанию резистором 10 кОм)
4VCC—Шина питания 5 В или 3,3 В по версии платы
5A3 (D21)PF4Аналоговый вход A3
6A2 (D20)PF5Аналоговый вход A2
7A1 (D19)PF6Аналоговый вход A1
8A0 (D18)PF7Аналоговый вход A0
9D15PB1SPI SCLK
10D14PB3SPI MISO
11D16PB2SPI MOSI
12D10 (A10)PB6ШИМ, аналоговый вход A10

Светодиоды платы

СветодиодПорт MCUЦвет
Питание—Красный
RXPB0Жёлтый
TXPD5Зелёный

Возможности и особенности

  • Встроенный USB — эмуляция клавиатуры, мыши, геймпада без дополнительных микросхем.
  • Две версии напряжения позволяют использовать плату и с 5-вольтовыми, и с 3,3-вольтовыми модулями.
  • Малый размер, подходит для компактных устройств: самодельных клавиатур, пультов, носимой электроники.
  • По сравнению с Pro Mini у платы встроенный USB и чуть больше SRAM (2,5 КБ против 2 КБ).

Для чего подходит Arduino Pro Micro

  • Самодельные клавиатуры и макропады: обработка матрицы кнопок и отправка кодов клавиш по USB.
  • Игровые контроллеры и джойстики.
  • Компактные датчики и контроллеры с питанием от аккумулятора (в версии 3,3 В / 8 МГц).
  • Мосты между датчиками и компьютером по виртуальному COM-порту.
  • Обучение и прототипирование на макетной плате.

Преимущества

  • Встроенный USB без отдельного преобразователя.
  • Малый размер и форм-фактор для макетной платы.
  • Версии на 5 В и на 3,3 В.
  • Хорошая поддержка в Arduino IDE и большое число готовых библиотек.
  • Низкое энергопотребление по сравнению с одноплатными компьютерами.

Ограничения

  • Не является оригинальной платой Arduino: производителей много, и качество, разъём и распиновка у клонов могут отличаться.
  • Нет кнопки Reset на плате.
  • Мало памяти: 32 КБ Flash и 2,5 КБ SRAM.
  • Нет сети и беспроводной связи.
  • Нет стабилизатора на выводе VCC: подавать напряжение нужно на RAW или по USB.
  • Один аппаратный UART (Serial1).
  • Нельзя смешивать версии 3,3 В и 5 В в одной цепи без согласования уровней.

Arduino Pro Micro и похожие платы

ХарактеристикаPro MicroArduino MicroArduino Pro Mini
МикроконтроллерATmega32U4ATmega32U4ATmega328P
Тактовая частота16 МГц (5 В) / 8 МГц (3,3 В)16 МГц16 МГц (5 В) / 8 МГц (3,3 В)
Native USBдаданет
Аналоговые входы9126–8 (зависит от модели)
Размероколо 33 × 18 мм48 × 18 ммоколо 33 × 18 мм

Pro Micro меньше Arduino Micro, но у неё меньше аналоговых входов и нет кнопки сброса. По сравнению с Pro Mini главное преимущество — встроенный USB.


Заключение

Arduino Pro Micro — компактная плата на ATmega32U4 с встроенным USB, которая подходит для самодельных клавиатур, джойстиков и небольших устройств на макетной плате. Две версии по напряжению (5 В / 16 МГц и 3,3 В / 8 МГц) позволяют выбрать плату под нужные модули.

Перед покупкой стоит учесть, что это неофициальная плата (оригинальная разработка принадлежит SparkFun), без кнопки Reset, с небольшой памятью и без совместимости с шилдами Uno. Версию напряжения нужно проверять при покупке и при загрузке скетча.


Материалы

Иллюстрации: схема выводов, отметка версии и чертёж — SparkFun (материалы SparkFun Pro Micro Hookup Guide, лицензия CC BY-SA 4.0; плата разработана N. Seidle и P. Lewis, лицензия CC BY-SA 3.0); фотография клона Pro Micro — Pk0001, Wikimedia Commons, лицензия CC BY-SA 4.0.

Оставьте комментарий

Отправляя комментарий, вы соглашаетесь с обработкой ваших данных (имя, адрес электронной почты, текст комментария) в соответствии с политикой конфиденциальности.