Почти все Arduino-контроллеры (UNO, MEGA,MINI, NANO) не имеют USB-контроллера и осуществляют связь по физическому USB-каналу с помощью преобразователя интерфейсов COM-USB. Соответственно, программист имеет доступ только к внутреннему UART, с которым и обменивается данными. Плата PRO MICRO собрана на чипе ATmega32U4, который имеет встроенный USB-контроллер полностью доступный программе. С его помощью можно организовать стандартные USB-профили, в том числе смоделировать клавиатуру, мышь, флэш-память, жесткий диск или разработать устройство со своим профилем. В пакет Arduino-IDE, начиная с версии 1.6.6, встроена USB-библиотека, которая поддерживает создание различных USB-классов - HID, Mass Storage, CDC, MIDI, Keyboard, Mouse.
Основные характеристики:
Микроконтроллер: ATmega32u4
Рабочее напряжение процессора: 5В
Рабочая частота процессора: 16МГц
Напряжение внешнего питания: 6-12В
Количество цифровых входов/выходов: 18
Из числа цифровых выходов с ШИМ 5
Количество аналоговых входов: 9
USB разъем типа B micro-USB
Допустимый ток на цифровых выходах: 40мА
Объем Flash памяти программ, всего: 32кБ
Объем памяти, занятой загрузчиком: 4кБ
Объем оперативной памяти SRAM: 2,5кБ
Энергонезависимая память EEPROM: 1кБ
Размер платы 33х18мм
Комплектность: плата модуля без кабеля
На логическом уровне PRO-MICRO это полный аналог популярного контроллера ARDUINO LEONARDO. Поэтому любой проект, отработанный на LEONARDO, можно легко перенести на PRO MICRO. Главная особенности платы – это её миниатюрность. Из полезных особенностей,которые наследованы от LEONARDO можно отметить самовосстанавливающийся предохранитель в цепи питания USB и полную свободу использования последовательного UART порта, независимо от подключения компьютера. В связи с использованием встроенного USB контроллера плата PRO-MICRO имеет некоторые особенности. При первом включении необходимо указать место, где расположен пакет Arduino IDE и драйвер. При успешном подключении в системе появляются два устройства: на уровне USB-профиля “HID совместимая мышь” и виртуальный порт "Arduino Micro (COMxx)", который создан драйвером для стандартной связи с IDE. Номер этого порта необходимо сообщить программе, а плату выбрать "Arduino Leonardo"
Вторая особенность – после заливки программы и при ручном сбросе процессора происходит кратковременный разрыв USB соединения с компьютером, в это время происходит инициализация USB-контроллера. При этом программа не должна выводить данные в поток Serial, пока не проверит его готовность if(Serial). Следует также помнить, что поток Serial направляет данные на компьютер и является виртуальным COM-портом, а аппаратный UART-порт на контактах «0» и «1» связан с потоком Serial. Особенно внимательным надо быть при использовании USB-библиотек и Serial. Эти особенности подробно описаны в руководстве. При отработке программы плата обычно питается от USB-порта. Законченная конструкция питается либо стабилизированным напряжением 5В на линиях VCC(+) и GND либо нестабилизированным напряжением 6...12В на выводах RAW и GND.