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 с разъёмом 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-вольтовыми датчиками и модулями. Версию платы отмечают галочкой на обратной стороне.
⚠ Версия 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 рабочее значение не приведено, поэтому нагрузки мощнее светодиода подключайте через транзистор или драйвер.
Интерфейсы связи (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.
Интерфейсы и разъёмы
- 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 | Функции |
|---|---|---|---|
| 1 | TXO (D1) | PD3 | UART Serial1 TX, прерывание INT3 |
| 2 | RXI (D0) | PD2 | UART Serial1 RX, прерывание INT2 |
| 3 | GND | — | Земля |
| 4 | GND | — | Земля |
| 5 | D2 | PD1 | I²C SDA, прерывание INT1 |
| 6 | D3 | PD0 | I²C SCL, ШИМ, прерывание INT0 |
| 7 | D4 (A6) | PD4 | Аналоговый вход A6 |
| 8 | D5 | PC6 | ШИМ |
| 9 | D6 (A7) | PD7 | ШИМ, аналоговый вход A7 |
| 10 | D7 | PE6 | Прерывание |
| 11 | D8 (A8) | PB4 | Аналоговый вход A8 |
| 12 | D9 (A9) | PB5 | ШИМ, аналоговый вход A9 |
Правый ряд выводов (от разъёма USB)
| Контакт | Вывод Arduino | Порт MCU | Функции |
|---|---|---|---|
| 1 | RAW | — | Вход питания (до 12 В) |
| 2 | GND | — | Земля |
| 3 | RST | — | Сброс (подтянут к питанию резистором 10 кОм) |
| 4 | VCC | — | Шина питания 5 В или 3,3 В по версии платы |
| 5 | A3 (D21) | PF4 | Аналоговый вход A3 |
| 6 | A2 (D20) | PF5 | Аналоговый вход A2 |
| 7 | A1 (D19) | PF6 | Аналоговый вход A1 |
| 8 | A0 (D18) | PF7 | Аналоговый вход A0 |
| 9 | D15 | PB1 | SPI SCLK |
| 10 | D14 | PB3 | SPI MISO |
| 11 | D16 | PB2 | SPI MOSI |
| 12 | D10 (A10) | PB6 | ШИМ, аналоговый вход A10 |
Светодиоды платы
| Светодиод | Порт MCU | Цвет |
|---|---|---|
| Питание | — | Красный |
| RX | PB0 | Жёлтый |
| TX | PD5 | Зелёный |
Возможности и особенности
- Встроенный 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 Micro | Arduino Micro | Arduino Pro Mini |
|---|---|---|---|
| Микроконтроллер | ATmega32U4 | ATmega32U4 | ATmega328P |
| Тактовая частота | 16 МГц (5 В) / 8 МГц (3,3 В) | 16 МГц | 16 МГц (5 В) / 8 МГц (3,3 В) |
| Native USB | да | да | нет |
| Аналоговые входы | 9 | 12 | 6–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 — Pro Micro & Fio V3 Hookup Guide — описание платы, версии напряжения, выводов и светодиодов.
- SparkFun Pro Micro 5V/16MHz — страница оригинальной платы производителя.
- SparkFun Arduino_Boards (GitHub) — пакет поддержки плат SparkFun для Arduino IDE.
- ATmega32U4 на сайте Microchip — документация на микроконтроллер.
Иллюстрации: схема выводов, отметка версии и чертёж — 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.







