Прошивка является популярным способом распространения программ для ардуино и микроконтроллеров.
Здесь описана процедура загрузки прошивки микроконтроллера платы Arduino.
Данная инструкция позволит вам установить прошивку на наиболее популярные платы такие как Nano, UNO, Leonardo, Mini, Pro Micro и другие, собранные на микроконтроллере atmega328p, atmega168, atmega32u4 и других.
Для прошивки других типов плат обратитесь за помощью (http://jarduino.ru/support).
О прошивках Arduino
Не стоит путать прошивку со скетчем!
Скетч – это исходный код прошивки.
Прошивка ардуино – это скомпилированный (бинарный) файл, загружаемый в плату Arduino (в микроконтроллер). Прошивка не является исходным кодом программы (скетча). Файл прошивки обычно имеет расширение HEX.
Преимущество прошивки – это простота ее использования:
- Не нужны никакие библиотеки,
- Легко загрузить и выгрузить,
- Можно перенести с одного устройства на другое.
Пожалуй, единственным недостатком прошивки является невозможность получения из нее удобочитаемого исходного кода, чтобы понять как она работает и внести в нее изменение.
Вместе с прошивкой часто может поставляться и копия памяти ПЗУ (EEPROM), в которой хранятся данные, необходимые для работы устройства.
Способы прошивки Arduino
Существует несколько популярных программ загрузки прошивки на Arduino. Подавляющее большинство из них сделаны частными программистами, а многие из них давно уже заброшены и не поддерживаются, но по-прежнему существуют в сети и прекрасно работают.
Рассмотрим пару наиболее популярных программ прошивки.
XLoader
Самая простая и лаконичная программа, которая подойдет любому, кому просто надо загрузить hex на популярную Arduino.

Загрузка прошивки интуитивно понятна:
- Выбираем…
- файл прошивки
- плату ардуино
- COM-порт
- Скорость передачи данных
- Нажимаем кнопку Upload (Загрузить).
Последняя версия – 1.0.
Не может загружать EEPROM.
SinaProg
SinaProg – это уже более профессиональная и универсальная программа, разработанная неизвестными иранскими программистами. Однако сразу надо сказать, что данная программа – не более чем графическая оболочка для утилиты AVRDude, о которой пойдет речь дальше.

- Выбираем файл прошивки
- Настраиваем программатор: выбираем…
- Arduino,
- Порт
- Скорость передачи
Последняя версия – 2.1.1
Avrdude
Большинство всех загрузчиков используют одну и ту же утилиту – AVRDude (AVR Downloader-Uploader), которая давно вошла во многие среды разработки для ардуино, в т.м. числе и в Arduino IDE.
Это мощнейшая утилита для работы с чипами AVR, но все-таки это утилита командной строки, что многим неудобно.

Читайте в следующем параграфе как прошить ардуино и с его помощью.
Последняя версия – 6.3.
Arduino IDE, AVRDude
Рассмотрим как загрузить прошивку, имея только Arduino IDE на компьютере с Windows.
Напомню, что вместе с Arduino IDE ставится и AVRDude, с помощью которого мы и загрузим прошивку.
Установка программного обеспечения
- Установить программу Arduino IDE, если она не установлена
- В ряде случаев потребуется установить дополнительный драйвер вашей платы (если плата – китайский клон). Драйвер нужен только в случае если вы не видите вашу плату в Arduino IDE.
Подготовка
- Подключить плату к компьютеру
- Запустить Arduino IDE
- Определить к какому порту подключена Arduino, через меню, как показано ниже:

- Определите в какой папке установлена Arduino IDE
Обычно – “C:Program Files (x86)Arduino”
Загрузка прошивки ардуино
- Открываете командную строку и вводите следующую команду, предварительно скорректировав ее под свои условия:
“C:Program Files (x86)Arduinohardwaretoolsavr/bin/avrdude” -“C:Program Files (x86)Arduinohardwaretoolsavr/etc/avrdude.conf” -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:Firware.hex:i
Обратите внимание на:
- Путь к Arduino IDE (желтым),
- Номер порта (голубым),
- Скорость передачи данных (зеленым)
- Название (путь) файла прошивки (фиолетовым)
Если при выполнении команды вы увидите ошибку как ниже
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xd2

, значит ваша плата не может работать со скоростью 115200, и необходимо установить скорость 57600.
Нажмите CTRL+C, чтобы прервать процесс.
Получение помощи
Если у вас что-то не получилось, и вы являетесь нашим клиентом, обратитесь на страницу поддержки.
Часто задаваемые вопросы о прошивке
Какой COM-порт выбирать?
Такой вопрос возникает обычно, когда программа не может автоматически выбрать COM-порт, к которому подключена Arduino.
Прежде всего, чтобы ардуино определялась, необходимо, чтобы на компьютере были установлены ее драйвера. Они ставятся вместе с Arduino IDE. Для китайских удешевлённых колонов может понадобится поставить драйвер CH340.
Итак, драйвера установлены, теперь выберем правильный порт.
Порт можно посмотреть в Arduino IDE…

… или, если вы на Windows, в диспетчере устройств:

Однозначно, это не COM1. Поэтому, в моем случае это будет COM3.
Какую скорость выбрать?
Скорость передачи зависит от версии платы. Если мы говорим о популярных Nano или UNO, то скорость будет 115200. Однако, если вы имеете дело с китайский клоном, то, возможно, придется выбрать 57600.
В общем, рецепт прост: если не получается с одной скоростью, тут же пробуете другую.
Чем регулируется частота и амплитуда , Какой кабель нужен для прошивки Arduino nano ?
Она вводится через последовательный порт, аналогично тому как загружается прошивка.
Кабель нужен mini-USB data
Со строкой для cmd у вас какая-то беда. Вот рабочий вариант.
“C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe” -C “C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf” -v -p atmega328p -c arduino -P COM3 -b 57600 -D -U flash:w:D:\Documents\Arduino\C\WinAVRC\main.hex:i
За статью спасибо.
А как все это проделать в Линукс?
Не найду ссылку для скачивания демо версии для автокормушки. Подскажите.
А можно ли загрузить прошивку для синхронной розетки и будет ли она работать, если плата – китайский клон Arduino Nano, но с процессором Atmega 168P? Что-то у меня не получается. Возможно в этом всё дело.
Прошивка – для Arduino на чипе 328p. На 168 она не пойдёт.