Arduino pro mini программирование

Прошивка Arduino Pro Mini через Nano

Не так давно столкнулся с необходимостью использования Arduino Pro Mini в своем проекте и сразу же встал вопрос как заливать в нее скетч. Конечно продаются различные переходники UART при помощи которых этот вопрос снимается быстро, но в тот момент такого переходника не оказалось под рукой.
Почитав на сайте http://arduino.cc и посабирав информацию на разлинчых форумах, узнал о возможности прошивать Pro Mini при помощи других плат Arduino.
Итак, рассмотрим в чем заключается метод Arduino as ISP и что необходимо для этого на примере Arduino Nano.
Для возможности использования платы в родном Arduino IDE имеется пример скетча для перевода платы в программатор, этот пример уже самодостаточен для прошивки Pro Mini, найти его можно выбрав в меню Файл.

Далее в меню «Инструменты» выставляем нашу плату «программатор» и тип ее микроконтроллера.

Затем прошиваем Nano скетчем ArduinoISP, обратив внимание на скорость порта в функции setup, данная скорость будет использоваться непосредственно при прошивке Pro Mini в стандартном скетче ее значение равно 19200.

После того, как Nano будет подготовленна можем собирать breadboard, для прошивки Pro Mini по схеме указанной здесь http://arduino.cc/en/Tutorial/ArduinoISP.
То есть следующим образом:
Nano -> Pro Mini

  • +5v -> Vcc
  • GND -> GND
  • D10 -> RST
  • D11 -> D11
  • D12 -> D12
  • D13 -> D13

У меня получилось примерно так:

После того как все собрано и проверено можно подключить Nano к компьютеру, поморгав 7 раз обе платы готовы к работе.
Далее для прошивки нам необходимо убедиться, что при выставлении прошиваемой платы и программатора у нас используются одинаковые скорости порта, взяв за стандарт скорость из скетча. Для типа платы нужно найти файл boards.txt его путь относительно установленной программы IDE такой: Arduino/hardware/arduino/boards.txt. В нем нам нужно найти раздел параметров для платы Pro Mini выглядит она примерно так:
pro5v328.name=Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
У меня прошиваемая мини на 5 вольт с микроконтроллером ATmega328, если же у вас иная версия плата то вам нужно найти соответствующий вашей платы раздел.
Здесь необходимо убедиться что скорость выставлена верная:
pro5v328.upload.speed=19200
Затем зайдем в файл programmers.txt, его путь Arduino/hardware/arduino/programmers.txt и убедимся в верности параметров:
arduinoisp.name=Arduino as ISP
arduinoisp.communication=serial
arduinoisp.protocol=stk500v1
arduinoisp.speed=19200
После того как убедились, что все параметры верны можно запускать IDE, если она была запущена то перезапустить. Это необходимо для того чтобы вступили силу новые параметры.
После запуска IDE нам нужно выставить в меню «Инструменты» нашу прошиваемую плату и тип программатора «Arduino as ISP»:


Теперь у нас все готово для прошивки. Выбираем нужный скетч, для пробы можно выбрать любой из примеров. А теперь особое внимание уделю как прошивать, обычная кнопка для прошивки нам не подойдет так как она предназначена для прошивки стандартным программатором т.е. в Arduino Nano и при ее нажатии мы просто прошьем Nano, что нам обсолютно не нужно.

Верный путь прошить Pro Mini лежит в меню «Файл» и называется он «Загрузить с помощью программатора», у меня стоит версия IDE 1.5.6-r2 там этот пункт называется «Вгрузить через программатор», по всей видимости трудности перевода в этом релизе, в версии 1.0.5-r2 все в порядке.

С первого раза может не получиться прошить, да и в дальнейшем возможно будет вылетать ошибка такого вида:

Однако не стоит беспокоится, если все собрано верно и спаяно надежно то, достаточно нажать «Reset» на Pro Mini, подождать пару секунд и плата успешно прошъется.
Благодарю за внимание на этом все, пока.

Загрузить прошивку на этот микроконтроллер можно несколькими способами:

  • Через другую плату ардуино, у которой есть встроенный USB-UART
  • С помощью специального программатора
  • Используя USBasp-программатор

Последние два способа очень похожи. Они отличаются лишь типом программатора. Поэтому в этой статье мы рассмотрим только прошивку с помощью другой Arduino и с помощью специального программатора.

Прошивка ардуино про мини с помощью Arduino Uno или Nano

Для того что бы прошить одну ардуинку через другую, нам понадобятся 2 платы Arduino, соединительные провода, USB кабель и компьютер. Я покажу как прошить Arduino Pro Mini с помощью Arduino Nano, но по этой же инструкции можно использовать и другие платы Arduino, такие как Uno, Mega и тд.

Для начала надо настроить нашу плату, которая будет выступать в роли программатора. Для этого подключим ее к USB компьютера и перейдем в Arduino IDE. В примерах уже есть готовый скетч, написанный специально для этой цели.

Выбираем этот скетч и прошиваем. Теперь мы готовы подключать Arduino Pro Mini. Подключаем следующим образом:

Arduino Nano -> Arduino Pro Mini

  • +5v -> Vcc
  • GND -> GND
  • D10 -> RST
  • D11 -> D11
  • D12 -> D12
  • D13 -> D13

У меня это выглядит так:

Далее нам нужно выставить в меню «Инструменты» нашу прошиваемую плату и тип программатора «Arduino as ISP»:


Теперь мы можем прошить нашу Arduino Pro Mini. Откройте или напишите нужную вам прошивку. Будьте внимательны! Стандартная кнопка загрузки скетча нам не подходит. По умолчанию она заливает прошивку без использования программатора. Таким образом мы прошьем микроконтроллер, который должен выступать в качестве программатора. Чтобы этого не произошло нужно перейти в меню Скетч >> Загрузить через программатор.

Готово!

Прошивка Arduino Pro Mini с помощью специального программатора

Купить специальный программатор можно . Стоит он меньше одного доллара. Если вы часто используете ардуино про мини, то этот программатор сильно упростит и ускорит прошивку.

Для преобразования USB-to-Serial используется микросхема CH340. Что бы она определялась компьютером правильно необходимо установить специальный драйвер.

Прошить ардуино с помощью программатора очень просто. Нужно подключить программатор к Arduino Pro Mini следующим образом:

Arduino Программатор

  • Vcc Vcc
  • GND GND
  • RX1 TXD
  • TX0 RXD

Подключаем программатор к компьютеру и проверяем, что он не требует драйверов. Если же он определяется как «неопознанное устройство» скачайте и установите драйвер. Его легко найти, набрав в поисковике «*модель вашего программатора* драйвер». Например «CP2102 драйвер». Далее запускаем Arduino IDE. Выбираете модель вашей платы. Потом переходим в меню Инструменты -> Программатор и выбираете ваш программатор. Далее открываете нужный вам скетч и загружаете его с помощью пункта в меню Скетч -> Загрузить через программатор.

Если ваш программатор не поддерживает программный сброс, то вам придется вручную нажать кнопку перезагрузки на вашей Arduino Pro Mini в момент компиляции скетча. Это нужно сделать сразу как только в Arduino IDE появится строка, что скетч скомпилирован.

Вот и все. Мы успешно прошили Arduino Pro Mini с помощью программатора.

Описание платы

Свойства arduino pro mini аналогичны, как и у платы Ардуино Уно и Нано. Их отличие заключается в невозможности прошить Pro Mini по USB-UART. Вместо этого для создания связи с компьютером используется проводник FTDI с преобразователем интерфейса или дополнительная плата Sparkfun. Также есть отличия по скорости, с которой работает чип. У arduino про мини скорость ниже, чем у Ардуино уно, но это практически не сказывается на проектах.

Работать с Ардуино про мини нужно аккуратно. Если пользователь сожжет чип, подав на него чрезмерное напряжение, его будет невозможно вытащить и заменить.

Разъемы не припаяны к платформе. Произвести подключение можно как через разъемы, так и навесным монтажом. Ножки можно припаять.

Существует 2 модели микроконтроллера arduino pro mini – на 3,3 В и 5 В. В первой используется тактовая частота 8 МГц, вторая работает на 16 МГц. Какая именно это модель, должно быть указано на корпусе.

Скетч в микроконтроллер традиционно записывается через среду разработки Arduino IDE. Для загрузки кода потребуются специальные переходники. Изначально продается с уже установленной прошивкой.

Технические характеристики микроконтроллера arduino pro mini:

  • Рабочее напряжение 3,3 В и 5 В (в зависимости от модели);
  • 14 пинов, 6 из которых используются как выводы ШИМ;
  • Постоянный ток для входа и выхода 40 мА;
  • Суммарный ток выводов – не более 200 мА;
  • 16 Кб флэш памяти, 2 Кб используются для загрузчика;
  • 1 Кб оперативной памяти;
  • 512 байт eeprom;
  • Тактовая частота – 8 МГц или 16 МГц в зависимости от модели;
  • I2c интерфейс;
  • Размеры платы 18х33 мм.

Питание можно подавать тремя способами:

  • Через переходник FTDI;
  • При подаче стабилизированного напряжения на контакт Vcc;
  • При подаче напряжения на контакт RAW.

Какие проекты можно реализовать на базе Ардуино Про Мини:

  • Управляемые конструкции для квадрокоптера;
  • Таймер;
  • Устройство для анализа влажности почвы;
  • Автоматический полив растений;
  • Устройство для измерения осадков и скорости ветра;
  • Автоматизация аквариума.

И многие другие проекты для дома и дачи.

Прошивка arduino pro mini

Прошивка arduino pro mini

Миниатюрные размеры платы не позволяют прошить ее без внешней помощи. Есть несколько способов заливки скетча в микроконтроллер:

  • Через адаптер USB в TTL;
  • Через Ардуино Уно;
  • Через SPI интерфейс с помощью любой платы ардуино с разъемом для подключения к компьютеру.

Самым простым методом является первый.

Прошивка через адаптер USB в TTL

В продаже можно найти специальный адаптер – UART переходник. Видов таких переходников много, стоимость каждого изделия невысокая. Советуется приобретать переходники с контактами RST или DTR, они упрощают процесс прошивки.

Для прошивки нужно подключить адаптер в Ардуино: нужно соединить земли с одного и другого устройства, Vcc – на +5В или +3,3 В (в зависимости от модели), RX – TX, TX – RX. Затем конструкцию нужно подключить к компьютеру, установить драйвер и начать прошивку. Компьютер определит, к какому порту подключена плата. Драйвер можно скачать с официального сайта. Скачанный архив нужно распаковать и установить.

Затем нужно запустить среду разработки Adruino IDE, выбрать нужную плату и номер порта и загрузить микропрограмму. Это делается следующим образом:

  • Нажать «Загрузить»;
  • Затем начнется компиляция – появится надпись «Компиляция скетча»;
  • После появление надписи «Загружаем» нужно нажать на плате кнопку Reset (в переходниках с RST или DTR нажимать кнопку не нужно).

Важно! Нажатие на Reset должно быть кратковременным.

Скетч будет загружен в микроконтроллер. Об успешном окончании процедуры можно понять по мигающему светодиоду.

Прошивка через Ардуино Уно

Для прошивки потребуется классическая плата Ардуино Уно в DIP корпусе. На ней должен быть специальный разъем, из которого нужно вытащить аккуратно микроконтроллер. Важно делать все действия внимательно, чтобы не погнуть ножки процессора.

Проводами нужно подключить arduino pro mini к разъему. Как подключить контакты – RX-RX, TX-TX, GND-GND, 5V-VCC, RST-RST.

После подключения можно начать стандартную загрузку скетча через Arduino IDE.

Прошивка через SPI интерфейс

Этот способ является самым неудобным и трудоемким. Прошивание платы производится в 2 этапа:

  • Прошивка микроконтроллера Ардуино Уно как ISP программатора;
  • Настройка среды разработки и загрузка кода в Arduino Pro Mini.

Алгоритм проведения первого этапа:

  • Запуск среды разработки Arduino IDE;
  • Открытие «Файл» – «Примеры» – «11. ArduinoISP» – «ArduinoISP»;
  • Далее «Инструменты» – «Плата» – «Ардуино уно»;
  • «Инструменты» – «Порт», и выбирается нужный номер COM порта;
  • Далее нужно произвести компиляцию и загрузить код в Ардуино Уно.

Затем обе платы нужно соединить проводниками по приведенной схеме: 5V – VCC, GND – GND, MOSI (11) – MOSI (11), MISO (12) – MISO (12), SCK (13) – SCK (13).

Теперь нужно настроить Arduino IDE для Arduino Pro Mini. Это делается следующим образом:

  • «Инструменты» – «Плата» – выбор нужной платы Arduino Pro Mini;

  • В том же меню выбирается «Процессор» – выбор соответствующего процессора с нужной тактовой частотой;
  • Затем нужно установить порт, к которому подключена плата;
  • «Инструменты» – «Программатор» – Arduino as ISP;
  • Затем нужно загрузить скетч через программатор.

Важно отметить, что загрузка кода должна происходить через специальное меню «загрузить через программатор». Здесь можно запутаться, потому такой способ и неудобен. Загрузка обычным способом приведет тому, что код зальется в Ардуино Уно.

После проведенной загрузки перепрошить микроконтроллер через переходник больше не получится. Придется заливать новый bootloader через «записать загрузчик».

Если при каком-либо виде загрузки прошивки возникают проблемы, нужно проверить подключение платы.

Сравнение характеристик разных плат Ардуино

Основная характеристика, по которой Ардуино про мини отличается от остальных плат – это размеры. Габариты Arduino Pro Mini составляют всего 1,8 см х 3,3 см. Немного большую длину имеет плата Ардуино Нано – 1,9 см х 4,3 см. Плата Ардуино Уно больше примерно в 2 раза, ее габариты составляют 6,9 см х 5,3 см. Arduino Mega имеет самые крупные габариты – 10,2 см на 5,4 см.

Количество пинов также различно. Ардуино про мини, как Ардуино Нано и Ардуино Уно, имеет 14 цифровых пинов. Ардуино Мега оснащена 54 цифровыми входами/выходами, из которых 15 поддерживают ШИМ.

Важное отличие Arduino Pro Mini от остальных плат – отсутствие прошивки по USB-UART. Остальные микроконтроллеры можно прошить таким способом, кроме Ардуино Нано. Она прошивается с помощью преобразователя rt232.

Arduino pro mini – специализированная электронная платформа в виде микросхемы, предназначение которой состоит в создании электронных устройств. Следовательно, в микроконтроллере отсутствует привычная микросхема, роль которой заключается в поддержании связи с помощью USB-UART. Цена намного дешевле, в отличие от других представителей Arduino. Pro Mini или просто pro – модельный ряд, не оснащенный разъемами USB, которые используются для подключения и прошивания устройства.

Вместо этого существует программатор. Начинающий электронщик может выбрать из двух доступных вариантов изделия: Ардуино с 3,3 В и 8 МГц или Ардуино про мини 5 V, в котором доступна распиновка. Статья ниже познакомит читателя с особенностями модели и покажет, где можно использовать электронную плату.

Аппаратная часть мк Arduino pro mini

В таблице ниже описана аппаратная часть Arduino pro mini. На Arduino mini pro особое внимание уделяется входам и выходам.

Аппаратная часть Особенности
Питание На платформе Ардуино мини про расположен разъем для подсоединения кабеля FTDI, с помощью которого устройство получает питание. Также возможно включать ардуинку через вывод Vcc или RAW. Рассмотрим подробнее источники питания на Ардуино мини:

  1. С помощью RAW-вывода. Напряжение в таком случае будет нерегулируемым.
  2. GND – вывод при заземлении.
  3. VCC. Используется в том случае, когда требуется регулировать напряжение.
Состояние памяти Распределение памяти на схеме Ардуино мини про:

  • 16 килобайт выделено для флеш памяти;
  • 2 килобайт для того, чтобы включился загрузчик;
  • на оперативную память выделен 1 килобайт;
  • 512 байт под чтение и запись библиотеки EEPROM.
Количество входов и выходов и их предназначение Для распиновки разработчики Ардуино про выделили 14 контактов, которые пользователь самостоятельно настраивает, как входы или выходы. На вывод потребуется 3,3 Вольта. В настройках по умолчанию нагрузочный резистор, сделанный для вывода, пропускает 40 мА. Особенные функции для Arduino mini pro pinout:

  1. Шина последовательности. Нужна для принятия 0 и передачи информации 1 в виде TTL.
  2. Led 13. Под этим словосочетанием подразумевается светодиод, который подключен к цифровому выводу под номером 13. Если вывод равняется импульсу, передающему 1, светодиод загорится.
  3. Внешнее прерывание, 2-3. Подробно о данной особенности расписано в attachInterrupt().
  4. ШИМ на 3, 5, 6, 9, 10, 11. Для этого используется функция analogWrite(), которая обеспечивает выводы ШИМ, предназначенные для разрешения 8 бит.

Как мы уже заметили ранее — по размерам Arduino mini pro компактна и подойдет для конструирования любого устройства.

Принципиальная схема микроконтроллера выглядит так:

Принципиальная схема платы

Теперь перейдем к распиновке платы:

Распиновка микроконтроллера

Программирование мк Arduino pro mini

Все программы программируются с помощью бесплатной среды разработки для Arduino pro mini. В Arduino mini включен ATmega328, в который предварительно вшивается загрузчик. Поэтому пользователь может свободно загружать программы в память микроконтроллера. Связь обеспечивает протокол STK500.

Распиновка ATmega328

Как прошить Ардуино про мини без загрузчика с помощью внешнего программатора? Легко и просто.

Для начала потребуется отменить требование на нажатие кнопки перезагрузки перед тем, как прошивать код написанной программы. Ардуино mini pro сконструирован так, что перезагрузка посредством программного обеспечения доступна напрямую с любого компьютерного устройства. В 6-контактных выводах есть один, который напрямую связан с линией сброса Arduino 328 pro с помощью конденсатора на 100 нФ.

Через управление вышеописанным выводом возможно преобразовать USB или последовательный порт путем подключения к разъему. Если сделать так, что появится уровень ниже нормы в течение продолжительного времени, платформа автоматически перезагрузится.

Arduino IDE дает возможность пользователю, чтобы тот загрузил программный код при одном нажатии на кнопку для загрузки бесплатной среды разработки.

Arduino IDE

Однако повышается риск неоправданных последствий и поломки платформы. Если на компьютере электронщика установлена операционная система Мак Ос или Линукс, то сбрасывание на микроконтроллере будет происходить каждый раз, когда программное обеспечение с помощью USB-кабеля с платформой.

Спустя половину секунды с момента сброса начинает свою работу загрузчик. В основном, загрузчик устроен так, чтобы не перехватывать другие данные, однако нередко все происходит наоборот: перехватываются первые байты данных программы, которые отправляются на плату при установленном соединении.

Чтобы устранить такой «баг», необходимо в коде программы, которая будет работать на Ардуино, проверить, как осуществляется процесс передачи данных программы с компьютера на платформу. Оптимальное время для отправления кода – секунда с момента установки соединения между устройствами.

Arduino Pro Mini + CP2102 — преобразователь USB-UART

Стоимость: $6,3 (сейчас 1,43)

Arduino Pro Mini в комплекте с переходником USB-UART на чипе CP2102 я купил 1,5 года назад (с тех пор цены на них значительно упали) и они все это время пролежали у меня на полке. Все руки не доходили сделать что-нибудь на этом контроллере. Не последнюю роль в этом сыграло и то, что прошить скетч в Arduino Pro Mini хоть и не сложно, но немного сложнее чем в Arduino UNO, Mega или Nano.

И вот я все же решил применить этот контроллер в одном из своих проектов, все равно лежит без дела.

У меня оказалась 16MHz 5-вольтовая модель на чипе ATmega 328. Как оказалось при анализе данных из интернет, есть платы контроллеров, у которых не разведен сигнал DTR. В моем случае все разведено правильно. В комплекте шел преобразователь USB-UART.

Платформа содержит 14 цифровых входов и выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, резонатор, кнопку перезагрузки и отверстия для монтажа выводов. Блок из шести выводов может подключаться к плате-конвертеру USB-UART.

Arduino Pro Mini по своим техническим характеристикам и параметрам очень близка с Arduino Nano. По размерам они одинаковые в ширину, но в длину Arduino Pro Mini короче примерно на 1 см.

10 мм это немало. Но вот только если в плату запаять пины для подключения USB-UART, все преимущества этой платы перед Nano пропадают. На данный момент Arduino Pro Mini стоит на $0,25 дешевле чем Arduino Nano. Это несущественно. Больше преимуществ и достоинств нет, одни недостатки.

И главный недостаток — более сложная загрузка скетчей.

Прошить скетч можно несколькими способами.

Один из способов — использовать Arduino UNO в качестве USB-UART . В интернет много инструкций как это сделать, поэтому я не буду на этом останавливаться.

Второй способ — использовать сам переходник USB-UART. Он у меня есть, причем «правильный», поэтому я и решил им воспользоваться. Как работает переходник? Arduino общается с микросхемой преобразователя по обычному UART, к компьютеру же подключается по USB. Компьютер распознает подключенный переходник как как COM-порт.

Загрузить скетч в Arduino Pro Mini, как оказалось впоследствии, совсем не сложно. Нужно только соединить проводами из комплекта 5 выводов на переходнике и Arduino:

(Преобразователь) <-> (Arduino)

DTR <-> GRN
TXD <-> RXI
RXD <-> TXO
GND <-> GND
5V <-> VCC

На моей Arduino Pro Mini сигнал DRT отмаркирован как GRN. Догадаться что есть что было непросто, тем более что на одном из сайтов «добрый» советчик написал что GRN нужно соединить с GND. Что ж, Интернет — большая помойка и я не первый раз убеждаюсь что на форумах охотнее всего дают советы совсем не те, кто действительно разбирается в обсуждаемом предмете. Так вот, GRN это DTR.

Для тех кто не знает что такое DTR:
Data Terminal Ready (DTR) — управляющий сигнал в последовательном протоколе передачи данных, передаваемый от терминального оборудования (DTE) к принимающему данные оборудованию, чтобы указать, что терминал готов к связи.

В Arduino сигнал DTR инициирует сигнал Reset в момент начала передачи скетча.

Можно вместо соединения DTR <-> GRN соединить DTR переходника через конденсатор 0,1мкФ с Reset Arduino Pro Mini. Так тоже работает, проверено. Именно через конденсатор. Несмотря на то, что на форумах и многих сайтах написано что нужно соединять DTR и RESET напрямую, при прямом соединении передача скетча не происходит. По крайней мере у меня при прямом соединении ничего не работало.

Теоретически, как пишут в интернет, можно записать скетч и без DTR, нажав точно в момент начала записи ресет на плате контроллера. Я попытался несколько раз поймать этот момент — у меня не получилось. Тренировать свои навыки в попытках попасть ресетом в нужное время я не стал, проще доверить подачу сигнала Reset микросхеме преобразователя CP2102.

Но не все CP2102 одинаково полезны. На eBay и AliExpress продется очень много дешевых подделок, с которыми народ мучается и которые часто приходится дорабатывать, чтобы они могли записать скетч в Arduino Pro Mini. В этих переходниках не разведен сигнал DTR c 28 вывода микросхемы CP2102. В некоторых перепутана маркировка Rx и Tx. Поэтому в сети на форумах так много инструкций, противоречащих друг другу и иногда просто вводящих читателей в заблуждение. Я потратил около двух часов на чтение этих бредней (не хотелось изобретать велосипед, думал сэкономить время) и попытки записать скетч в контроллер по этим инструкциям. В итоге все инструкции оказались нерабочими для моего переходника CP2102. Он у меня оказался «правильным», в котором нанесена правильная маркировка и правильно разведены все сигналы.

Достаточно было только подключить все провода и все заработало.

Поэтому, если вы столкнетесь с необходимостью записи скетча в Arduino Pro Mini через USB-UART первым делом проверьте, разведен ли сигнал DTR на плате Arduino Pro Mini. Я читал что есть такие платы, на которых он не разведен. В таком случае можно воспользоваться вариантом подключения сигнала DTR с платы переходника USB-UART к пину RESET Arduino Pro Mini через конденсатор 0,1-0,15мкФ.

Вторым делом, проверьте подключен ли на плате переходника USB-UART сигнал DTR на какой-либо пин. Пин может быть, и даже быть подписан как DTR, но не быть подключен к 28 выводу микросхемы CP2102. Если 28 вывод этой микросхемы никуда не подключена, нужно обеспечить ее подключение к пину DTR. Если же 28 вывод подключен куда-то в схему, эту дорожку нужно перерезать и завести напрямую на пин DTR.

Правильность маркировки Rx и Tx на поддельной плате CP2102 можно определить опытным путем, тут всего 2 варианта.

Я так же читал в интернет инструкцию, что через USB-UART переходник CP2102 записывать скетч нужно в режиме «Загрузить через программатор», якобы только так все работает. Я не знаю, намеренно ли автор этого опуса вводит читателей в заблуждение, или у него был не USB-UART переходник CP2102 а что-то другое, но этот совет НЕПРАВИЛЬНЫЙ!

Через USB-UART переходник CP2102 компьютер видит Arduino Pro Mini как будто он подключен к COM-порту, то есть точно так же как другие Arduino, у которых переходник USB-UART на борту.

Поэтому скетчи в Arduino Pro Mini заливаются точно так же, как в другие модели Arduino. Нужно только в среде программирования Arduino выбрать модель Pro Mini, затем в появившемся дополнительном пункте выбрать один из 4 возможных видов процессора (ATmega168 или 328, 3,3 или 5V) и виртуальный COM-порт, который появился после установки драйверов переходника USB-UART. Дальше можно пользоваться кнопкой загрузить или Ctrl-U. Если все правильно подключено, не имеет значения тип и модель переходника, скетчи заливаются по UART. Просто выбираем COM-порт которым определился переходник.

После 2 часов чтения форумов и сайтов с «руководствами» и «советами», котрые на 99% оказались неверными, по крайней мере они не подошли для конкретно моих моделей Arduino Pro Mini и USB-UART переходника CP2102, мне удалось все правильно подключить и залить в контроллер слегка модифицированный скетч мигания светодиодом. Я заставил его моргать SOS азбукой Морзе.

Вот скетч, вдруг кому будет интересно:

Выводы:

Если бы я не пытался сэкономит время на «изобретении велосипеда» и не потратил время на чтение бесполезных (даже скорее вредных) советов и руководств на форумах и сайтах, подключение и прошивка Arduino Pro Mini заняла бы не 2 часа, а максимум минут 5-10.

Свой комплект из Arduino Pro Mini и USB-UART переходника CP2102, по сегодняшним меркам я купил дороговато. Правда меня утешает то, что переходник правильный и на нем разведены все сигналы.

Аrduino Nano идентичная по параметрам и возможностям Arduino Pro Mini, стоит совсем чуть-чуть дороже (максимум на 25-50 центов), в размерах проигрывает 1 см (а с распаянными пинами у Arduino Pro Mini и вообще не проигрывает), но гораздо удобнее в использовании за счет встроенного USB-UART и распространенного разъема MicroUSB.

Arduino Pro Mini не самая востребованная плата, наберите в поиске на eBay «Arduino Nano» и отсортируйте по цене по возрастанию и вы увидите как ушлые китайцы совсем дешево сбывают в этом разделе много Arduino Pro Mini, выдаваемых за Nano? в надежде что покупатель не разберется и, покусившись на низкую цену, купит эти контроллеры. У них вся надежда только на покупателей-лохов.

Посоветую ли я покупать Arduino Pro Mini? Новичку — нет. Да — человеку, который точно знает что это такое, какие имеет недостатки и стоят ли они той мизерной экономии.

Еще раз повторю, что прошить Arduino Pro Mini несложно, но стоит ли эта возня с подключением проводков или Arduino UNO разницы в цене $0,2-$0,25. Особенно если придется подключать контролер к компьютеру для отладки много раз, а если в корпусе? Если вы считаете что десять-пятнацать раз подсоединить-отсоединить 5 проводков выгоднее, чем заплатить 20 центов — этот контроллер для вас.

Вот собственно и все. Я поделился своим опытом и высказал свое мнение, решать — вам.

P.S. Прошло немного времени и я несколько изменил свое мнение о Arduino Pro Mini. Даже экономия в 25-50 центов это немало, особенно если собирается небольшая партия изделий, использующих этот контроллер. Понятно, что по-хорошему для небольшой партии желательно интегрировать контроллер непосредственно на плату, а не использовать готовый Arduino (это все же скорее отладочная плата). Но варианты бывают разные, иногда уже есть готовые платы и можно их модернизировать и расширить функционал, интегрировав Arduino. Это окажется дешевле чем разводить новые платы.

А наличие переходника USB-UART на борту изделия, передаваемого пользователю, совсем не нужно и даже вредно. Так что Arduino Pro Mini имеет право на жизнь.