Arduino com port driver windows 10

Первые шаги с Arduino: установка драйверов, настройка программы, подключение Ардуино, решение проблем и программирование Arduino

На данной странице находится максимально подробный гайд по началу работы с Arduino, в котором можно найти ответы на все вопросы касательно установки, подключения и загрузки прошивки, а также по работе с моими проектами. Внимательно изучите гайд, прежде чем писать мне на почту или в нашу группу ВК, если у вас что-то не получается, тут есть ответы на все вопросы. Также прилагаю список уроков на этом сайте, где можно найти ещё больше базовой информации:

  • Начало работы
  • Работа с Arduino IDE
  • Первая прошивка, ошибки, FAQ
  • Питание платы

Arduino  IDE


Arduino IDE – программа для написания и загрузки прошивки в плату, скачать можно с официального сайта вот здесь. Внимание! Перевод языка страницы в браузере ломает кнопки! На данный момент называется Legacy IDE (1.8.X), так как вышла новая IDE v2. Новичкам рекомендуется начать с версии 1.8.X.

Перед загрузкой вам предложат пожертвовать на развитие проекта, можно отказаться и нажать JUST DOWNLOAD (только скачать). Либо открываем прямую ссылку на загрузку версии 1.8.19 и сразу качаем файл.

Для работы рекомендуется компьютер с Winodws 7 или выше, либо Linux/MacOS

  • Если у вас Windows XP, придётся установить версию 1.6.13, более свежие версии будут очень сильно тормозить или не будут работать вообще. Есть ещё одна проблема: некоторые библиотеки не будут работать на старых версиях Arduino IDE, также не будет работать поддержка плат семейства esp8266, поэтому крайне рекомендуется обновить свой компьютер до Windows 7 или выше
  • Установка на Linux из системного репозитория – читать тут
  • Установка на MacOS – читать тут

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

Другие версии
Не устанавливайте старые версии IDE, если нет на то весомых причин, а также beta и hourly-билды

Java


Для старых версий Arduino IDE, а также для некоторых других программ, понадобится пакет Java JRE. Скачать можно с официального сайта для своей операционной системы.

Установка


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

Драйвер


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

Обновление


Перед установкой новой версии нужно удалить старую. Ни в коем случае не удаляйте папку установленной IDE из Program Files, удалять нужно через “Установка и удаление программ“, либо запустив файл uninstall.exe из папки с установленной программой. Иначе установщик откажется устанавливать новую программу, так как в системе остались следы от старой. Решение этой проблемы описано в видео ниже. Вкратце о том, как удалить IDE вручную:

Удаление остатков IDE

Удаляем папки:

  • Папка с программой
    • C:Program Files (x86)Arduino (64-битная версия Windows)
    • C:Program FilesArduino (32-битная версия Windows)
  • Папка со скетчами и библиотеками
    • ДокументыArduino
  • Папка с настройками и дополнительными “ядрами” плат
    • C:Пользователи (или Users)Ваш_пользовательAppDataLocalArduino15

Удаляем следы из реестра:

  • Открыть редактор системного реестра:
    • Windows 10: Пуск/regedit
    • Предыдущие: Пуск/Выполнить/regedit
    • Инструкция для всех Windows
  • В открывшемся окне: Правка/Найти…
    • В окне поиска пишем arduinouninstall
    • Поиск
  • Удаляем найденный параметр (см. скриншот ниже)
  • На всякий случай Правка/Найти далее
  • Удаляем и так далее, пока не удалим все найденные параметры с arduinouninstall
  • После этого можно запускать установщик и устанавливать новую программу

Другие проблемы


  • Если перестала запускаться Arduino IDE – удаляем файлик preferences.txt из C:Пользователи (или Users)Ваш_пользовательAppDataLocalArduino15

Портативная версия


Вместо полной установки программы можно скачать архив с уже “установленной”, на странице загрузки он называется Windows ZIP file. Вот прямая ссылка на 1.8.19. Распаковав архив, получим портативную версию Arduino IDE, которую можно скинуть на флешку и использовать на любом компьютере без установки программы. Но понадобится установить драйвер CH341 для китайских плат, а также драйверы из папки с программой Arduino IDE (подробнее в следующем уроке). Возможно понадобится установить Java.

Работа на смартфоне


Писать и загружать прошивку через смартфон тоже можно, понадобится смартфон на Android и приложение ArduinoDroid. Также для тренировки и удобного редактирования скетчей можно использовать CppDroid, но загружать в плату она не умеет.

Первое подключение

Осмотр платы


Перед подключением к компьютеру рекомендуется провести визуальный осмотр платы на предмет дефектов пайки компонентов. Что можно встретить (в порядке фотографий):

  • Замкнутые пины (вроде бы паяются китайцами вручную)
  • Неприпаянная нога компонента
  • “Торчащие” вверх или под углом компоненты типа резисторов и конденсаторов, припаянные только с одной стороны
  • Компоненты со смещением
  • “Сопля” между ногами компонента

blank

blank

Плату с обнаруженным дефектом не рекомендуется подключать к компьютеру! Всё можно исправить паяльником, если не умеете сами – попросите того, кто умеет.

Реакция на подключение питания


Как понять, что плата работает корректно? На примере Nano/Uno:

  • При подключении USB загорается и горит светодиод PWR
  • Если плата новая и на ней прошит загрузчик (он обязан быть прошит) – однократно мигает светодиод L
  • Примечание: светодиоды могут быть любого цвета
  • На новой плате прошито “мигание светодиодом”, поэтому светодиод L продолжит мигать один или два раза в секунду в зависимости от версии загрузчика
  • При нажатии на кнопку сброса (RESET, единственная кнопка на плате) должен однократно мигнуть светодиод L, сигнализируя о завершении работы загрузчика.

Если ваша плата ведёт себя иначе – скорее всего это заводской брак, если плата новая, или кривые руки – если плата уже паялась и или куда то подключалась =)

Драйвер USB контроллера

CH341


В своих проектах я использую “Ардуино-совместимые” китайские платы, у которой для подключения по USB используется контроллер CH340/CH341. Чтобы он распознавался компьютером, нужно установить драйвер.

Windows

Скачать драйвер можно по ссылке:

  • FTP сайта
  • Яндекс.Диск
  • Сайт driverslab

Запускаем и в появившемся окошке нажимаем INSTALL. Готово!

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

  • C/Program Files/Arduino/drivers (для 32-х разрядной системы)
  • C/Program Files (x86)/Arduino/drivers (для 64-х разрядной системы).

Запустить файл

  • dpinst-x86.exe (для 32-х разрядной системы)
  • dpinst-amd64.exe (для 64-х разрядной системы)

blank

Linux Mint

В Linux уже встроен необходимый драйвер, но Arduino IDE может отказаться с ним работать: Linux определяет ардуинку как устройство ttyUSB*, обычно это ttyUSB0 (это можно узнать командой dmesg в терминале), то есть в системе появляется интерфейс /dev/ttyUSB0. Чтобы с ним работать, нужны права доступа. Читать и писать на устройство /dev/ttyUSB0 имеет пользователь root и пользователи группы dialout. Работы с правами суперпользователя лучше избегать, поэтому следует занести своего пользователя в группу dialout. Это можно сделать следующей командой (обратите внимание, команда whoami в обратных кавычках)

sudo usermod -a -G dialout `whoami`

После этого нужно перелогиниться. Дальше запускаем Arduino IDE и в меню «Инструменты/Порт» ставим галочку напротив /dev/ttyUSB0.

Linux Arch

Вся информация по работе с IDE на данной ОСи есть вот в этой статье

FT232


На оригинальных Arduino Nano стоит USB контроллер производства FTDI – FT232, драйвер для всех версий ОС можно скачать с официального сайта (прямая ссылка на инсталлятор для Windows). Некоторые очень редкие китайцы паяют на свои Наны поддельные FTDI контроллеры, которые буквально выходят из строя после некоторых обновлений Windows. Если вам достался такой экземпляр (я никогда не даю ссылки на такие поделки) – подробности по ситуации читайте здесь. Как восстановить контроллер и сделать рабочий драйвер – читайте здесь.

CP2102


На некоторые Arduino-совместимые платы китайцы ставят контроллер USB CP2102. Драйвер на него в большинстве случаев уже есть в системе (на Linux точно есть), если не работает – скачать можно с официального сайта.

  • Прямая ссылка на драйвер для Windows всех версий
  • Прямая ссылка на драйвер для Mac OS

На Windows установка производится следующим образом: достаём из архива и

Настройка и прошивка

Подключение платы


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

  • Неисправен USB кабель
  • Неисправен USB порт компьютера
  • Неисправен USB порт Arduino
  • Попробуйте другой компьютер, чтобы исключить часть проблем из списка
  • Попробуйте другую плату (желательно новую), чтобы исключить часть проблем из списка
  • На плате Arduino сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при сборке схемы
  • Плата Arduino сгорела полностью из-за неправильного подключения пользователем внешнего питания или короткого замыкания

Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Кабель должен быть data-кабелем, а не “зарядным”
  • Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
  • Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к установке.

В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, обычно COM3. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Некорректно установлен драйвер на USB контроллер Arduino
    • Переверните плату и найдите “узкую” микросхему. Если на ней написано CH341 – ставим драйвер по инструкции выше
    • Если написано FT232R – опять же инструкция выше
    • Если ничего не написано – открываем “Диспетчер устройств”, смотрим блок “Другие устройства”. Если при подключении платы к компьютеру там появляется FT232R USB UART – смотрим инструкцию выше
  • Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
  • Возникла системная ошибка, обратитесь к знакомому компьютерщику или экзорцисту

Выбор и настройка платы (Arduino NANO)


  • Выбираем соответствующую плату в ИнструментыПлата Большинство моих проектов сделаны на Arduino Nano. Если вы используете Nano:
    •  В микроконтроллер китайских плат зашит “старый” загрузчик, поэтому выбираем ИнструментыПроцессорATmega328p (Old Bootloader). Если вам по какой-то причине пришлют платы с новым загрузчиком – прошивка не загрузится (будет минутная загрузка и ошибка), можно попробовать сменить пункт Процессор на ATmega328p
  • Теперь выбираем порт, к которому подключена плата. COM1 – в большинстве случаев системный порт, у вас должен появиться ещё один (обычно COM3)

Загрузка прошивки


“Загрузка” прошивки происходит в два этапа – компиляция и непосредственно загрузка в микроконтроллер. Компиляция – проверка кода на наличие ошибок, её можно запустить, нажав кнопку с символом галочки в верхнем меню программы. Компилировать код можно даже не подключая плату к компьютеру! При нажатии на кнопку с символом стрелочки начнётся компиляция, а затем загрузка скомпилированного кода в плату.

Вставьте следующий код с полной заменой содержимого в IDE и загрузите его. Должен начать мигать светодиод на плате, это означает что все программы настроены верно и можно переходить к работе!

Примечание: данный код является универсальным для всех Arduino-совместимых плат

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, 0);
  delay(300);
  digitalWrite(LED_BUILTIN, 1);
  delay(300);
}

ESP8266 (Wemos, NodeMCU)


ESP8266  – микроконтроллер с WiFi на борту, на его базе сделаны платы Wemos D1 mini, NodeMCU и другие.

  • Читайте вводный урок по esp8266.
  • На популярных платах Wemos и NodeMCU стоит бортовой USB и CH340 или CP2102 (обычно это указано на странице товара).
  • Установка драйверов описана выше на этой странице.

Для работы с esp8266 нужно добавить поддержку плат в Arduino IDE:

  • Arduino IDE/Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
  • http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • Нажать ОК
  • Arduino IDE/Инструменты/Плата/Менеджер плат… Начать вводить в поиске “esp”. Выбрать и установить ESP8266 boards
    • Рекомендуемая версия – 2.7.4, на более высоких пока что наблюдаются проблемы с совместимостью
  • В списке плат Инструменты/Плата/ появится семейство плат на esp8266. Выбираем плату
    • NodeMCU – NodeMCU 1.0
    • Wemos Mini – LOLIN Wemos D1 R2 & mini
    • Или другую согласно своей конфигурации
  • Выбираем порт, к которому подключена плата
  • На четвёртом скриншоте ниже показаны настройки платы по умолчанию, изменены только выделенные красным (плата и порт)

Заметка для NodeMCU. Перед началом загрузки нужно ввести плату в режим прошивки. Подключить к компьютеру, выбрать появившийся порт для загрузки. Зажать кнопку Flash. Кликнуть по кнопке Reset. Отпустить кнопку Flash. И только после этого нажать стрелочку в программе для загрузки прошивки.

ESP32


ESP32  – мощный микроконтроллер с WiFi на борту

  • На плате стоит бортовой USB и CH340 или CP2102 (обычно это указано на странице товара).
  • Установка драйверов описана выше на этой странице.

Для работы с ESP32 нужно добавить поддержку плат в Arduino IDE:

  • Arduino IDE/Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
  • https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  • Нажать ОК
  • Arduino IDE/Инструменты/Плата/Менеджер плат… Начать вводить в поиске “esp”. Выбрать и установить esp32
  • В списке плат Инструменты/Плата/ появится семейство плат на esp32. Выбираем плату согласно купленной модификации
  • Выбираем порт, к которому подключена плата

У некоторых плат не работает автоматический запуск в режиме прошивки, поэтому в самом начале процесса загрузки прошивки нужно зажать кнопку Flash (BOOT) на плате

Digispark


Digispark – плата на базе ATtiny85.

  • Читайте вводный урок по Digispark.
  • Подключение к ПК по USB (реализован программно)
  • Нужно установить специальный драйвер, скачать можно на официальном GitHub проекта (в разделе Релизы, вот прямая ссылка на архив), либо с моего FTP. Драйвера есть для Win, MacOS и Linux.
  • Пользователям Linux читать здесь

Для работы с Digispark нужно добавить поддержку плат в Arduino IDE:

  • Arduino IDE/Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
    • http://digistump.com/package_digistump_index.json
    • или https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
  • Нажать ОК
  • Arduino IDE/Инструменты/Плата/Менеджер плат… Начать вводить в поиске “Digispark”. Выбрать и установить Digistump AVR Boards
  • В списке плат Arduino IDE/Инструменты/Плата/ появится семейство плат Digispark. Выбираем Digispark (Default – 16.5mhz)

Прошивка загружается следующим образом: ПЛАТУ НЕ ПОДКЛЮЧАЕМ, ПОРТ НЕ ВЫБИРАЕМ, нажимаем загрузка, ждём компиляции. Появится надпись “подключите плату”. Втыкаем плату в USB и прошивка загружается.

LGT8F328


LGT8F328 – китайский клон ATmega328

  • Читайте вводный урок по lgt8f328.
  • Может понадобиться драйвер (прямая ссылка на архив)

Для работы с LGT8F328 нужно добавить поддержку плат в Arduino IDE:

  • Запустить Arduino IDE, перейти в Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
  • https://raw.githubusercontent.com/dbuezas/lgt8fx/master/package_lgt8fx_index.json
  • Нажать ОК
  • Перейти в Инструменты/Плата/Менеджер плат… Начать вводить в поиске “lgt8”. Выбрать и установить LGT8fx Boards
  • Теперь в списке плат Инструменты/Плата/ появится семейство плат Logic Green… Выбираем свою плату

“Голые” МК


Для начала рекомендуется изучить вот эти два урока: первый и второй. У проектов на базе голого микроконтроллера есть два варианта:

  • Если проект основан на ATmega328 (Arduino Nano/Mini) и на плате есть источник тактирования на 16 МГц (резонатор), то микроконтроллер можно просто перепаять с Arduino и загружать прошивку через внешний USB-TTL переходник, как на Arduino Pro Mini. Либо загрузить прошивку, и потом перепаивать – всё будет работать.
    • Если источника тактирования нет – так делать нельзя! Сначала нужно настроить МК на внутреннее тактирование, подключив ISP программатор к плате Arduino и выбрав внутренний источник тактирования в настройках ядра. Подробнее читайте в уроке.
  • Если используется новый микроконтроллер (или припаянный китайцами) – он по умолчанию настроен на внутреннее тактирование и его можно паять на плату в любом случае. Загрузить прошивку можно только при помощи ISP программатора. Также можно прошить загрузчик и в дальнейшем загружать прошивку через USB-TTL преобразователь.

Установка библиотек


Библиотека – несколько файлов с кодом, облегчающим работу с датчиками и другими модулями. К моим проектам библиотеки идут в архиве (об этом ниже). Рассмотрим все способы загрузки и установки библиотек.

Менеджер библиотек


Большинство Ардуино-библиотек можно установить автоматически из встроенного в программу менеджера библиотек:

  • Скетч/Подключить библиотеку/Управлять библиотеками…
  • Комбинация клавиш Ctrl+Shift+I

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

Скачивание с GitHub


Не все существующие библиотеки есть в менеджере библиотек и скачать их можно только с GitHub. Есть два способа: скачать весь репозиторий и скачать релиз. Весь репозиторий со всеми “лишними” служебными файлами можно скачать одним архивом вот так, нажав Code/Download ZIP

Если у библиотеки есть релизы – справа будет отмечен последний (свежий) релиз. Нажимаем на него:

И в новом окне нажимаем Source code (zip) – начнётся загрузка архива. Скачивание релиза более предпочтительно, так как содержит только файлы библиотеки.

blank

В обоих случаях библиотека скачается как .zip архив.

Автоматическая установка


Скачанный .zip архив можно установить в автоматическом режиме через Скетч/Подключить библиотеку/Добавить .ZIP библиотеку… В открывшемся окне выбрать скачанный архив, библиотека будет установлена по указанному в настройках пути.

Ручная установка


Для начала нужно распаковать архив (стандартный архиватор Windows или WinRAR). Чтобы Arduino IDE смогла использовать библиотеку, нам нужно положить её туда, где программа будет её искать. Таких мест три (на примере Windows):

  • Документы/Arduino/libraries/
  • Папка с программой/libraries/
    • C/Program Files/Arduino/libraries/ (Windows 32)
    • C/Program Files (x86)/Arduino/libraries/ (Windows 64)
    • В портативной версии IDE желательно держать библиотеки в Папка с программой/libraries

Рекомендуется держать все библиотеки в одном месте, чтобы не было путаницы. Лично я устанавливаю все библиотеки в папку с программой (в Program Files), но для этого могут потребоваться права администратора (зависит от версии и настроек Windows). Если у вас возникли с этим проблемы – устанавливайте в Документы/Arduino/libraries/. На скриншотах показана установка скачанной с GitHub библиотеки в папку с программой и в документы. Ставить нужно в одно место, я просто показываю оба варианта.

Ошибки компиляции


Возникает на этапе сборки и компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки, то есть проблема сугубо программная. Слева от кнопки “загрузить” есть кнопка с галочкой – проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру.

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
  • В чёрном окошке в самом низу Arduino IDE можно прочитать полный текст ошибки и понять, куда копать
  • В скачанных с интернета готовых скетчах часто возникает ошибка с описанием <название файла>.h no such file or directory. Это означает, что в скетче используется библиотека <название файла>, и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по <название файла>.
  • При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
  • Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
  • Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча.
  • Ошибка недостаточно свободного места возникает по вполне понятным причинам. Оптимизация: статическая память – память, занимаемая кодом (циклы, функции). Динамическая память занята переменными.

Частые ошибки в коде, приводящие к ошибке компиляции

  • …no such file or directory – компилятор не может найти файл, который используется в коде. Чаще всего это библиотека, которую не установили или установили неправильно
  • expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
  • stray ‘320’ in program – русские символы в коде
  • expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
  • … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
  • redefinition of … – повторное объявление функции или переменной
  • storage size of … isn’t known – массив задан без указания размера

Ошибки загрузки


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

  • Если неправильно выбран COM порт – прошивка не загрузится с ошибкой avrdude: ser_open(): can’t open device. Вернитесь к пункту “Выбор и настройка платы” этого урока и убедитесь в том, что выбор порта активен и при подключении платы появляется новый.
  • Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением Ардуины от питания. Потом вставляем USB и по новой прошиваем.
  • Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”.
    • Если это Arduino Nano – попробуйте оба, Old и не Old.
  • Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
  • Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
  • Если в описании ошибки встречается bootloader is not responding и not in sync, из-за ошибок записи мог “слететь” загрузчик, его можно попробовать прошить заново.
  • Если все пункты из этого списка проверены, а загрузчик прошить не удаётся – микроконтроллер скорее всего необратимо повреждён, то есть сгорел.

Предупреждения


Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет несовместимых с жизнью ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:

  • # Pragma message……. – сообщения с директивой Pragma обычно выводят библиотеки, сообщая о своей версии или каких-то настройках. Это даже не предупреждение, а просто вывод текста в лог.
  • Недостаточно памяти, программа может работать нестабильно – чуть выше этого предупреждения обычно идёт информация о задействованной памяти. Память устройства можно добивать до 99%, ничего страшного не случится. Это флэш память и во время работы она не изменяется. А вот динамическую память желательно забивать не более 85-90%, иначе реально могут быть непонятные глюки в работе, так как память постоянно “бурлит” во время работы. НО. Это зависит от скетча и в первую очередь от количества локальных переменных. Можно написать такой код, который будет стабильно работать при 99% занятой SRAM памяти.
  • Предупреждения о несовместимых типах данных. Компилятор не смог привести один тип к другому и сообщает о потенциальных ошибках в ходе выполнения программы. В большинстве случаев ничего плохого не случится, но лучше найти проблемную строку и помочь компилятору преобразовать тип.

Частые вопросы


  • Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс flash памяти. А он довольно большой.
  • Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
  • Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов.
  • Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию.
    • Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
    • Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу
    • Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь
    • Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI

▶Проекты AlexGyver◀


ВНИМАТЕЛЬНО ЧИТАЙ ИНСТРУКЦИЮ
Если это твой первый опыт работы с Arduino — внимательно изучи каждый пункт инструкции выше, здесь всё написано!!!

Все мои проекты имеют одинаковую структуру и устанавливаются/прошиваются одинаково, поэтому вот финальная общая инструкция:

1. Установить Arduino IDE и драйверы, как написано в гайде выше. Если это ваш первый раз – желательно не подключать ничего к новой плате, а загрузить пробную прошивку из гайда и убедиться, что всё загружается и работает. Если после сборки схемы прошивка перестанет загружаться – увы, схема собрана с ошибками и плата уже могла сгореть. Но она работала, мы это проверили =)

  • Если проект основан не на стандартной Arduino плате, а например на esp8266, ESP32, Digispark, lgt8f328 – устанавливаем поддержку этих плат, как описано выше.

2. Скачать архив со страницы проекта. Ссылка всегда одна, она ведёт на прямую загрузку архива с хранилища GitHub. Когда проект обновляется (об этом может быть написано на странице проекта), ссылка на архив остаётся той же, но в нём будут уже какие-то изменённые файлы, добавлены новые версии прошивки и т.д. Все обновления указаны на странице проекта.

3. Распаковать архив. Архив имеет формат .zip, для его распаковки можно использовать встроенные инструменты операционной системы, либо популярный WinRAR. Если не распаковать архив – прошивка откроется неправильно. Я не отличаюсь буйной фантазией и всегда называю папки одинаково, вот что может быть в архиве проекта:

  • firmware – прошивки для Arduino
  • software – программы для ПК
  • libraries – библиотеки
  • schemes – схемы
  • PCB – gerber файлы печатных плат
  • docs – всякие документы
  • Android – исходники приложения
  • 3Dprint – модели для печати
  • processing – программа на Processing

Извлечение WinRAR

Извлечение Windows

Распакованная папка

4. Установить библиотеки. К прошивкам моих проектов всегда идут библиотеки, необходимые для работы кода. Библиотеки в проектах часто пересекаются, но рекомендуется ставить именно идущую в комплекте с проектом версию, так как более старые или новые могут быть несовместимы.

Содержимое папки libraries из архива помещаем в

  • С/Program Files/Arduino/libraries/ (Windows x32)
  • C/Program Files (x86)/Arduino/libraries/ (Windows x64)

Установка в libraries

Если возникнут проблемы с доступом к этой папке (на Windows 10), то библиотеки можно положить в

  • Документы/Arduino/libraries/

Установка в документы

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

5. Открыть скетч (так называется файл с программой). При запуске файла скетча автоматически откроется Arduino IDE. Важно: если в папке со скетчем есть несколько файлов – запускаем любой с логотипом Arduino. Остальные файлы должны подтянуться автоматически и образовать вкладки в окне программы. Если запускать скетч прямо из архива – вкладки не откроются и скомпилировать/загрузить программу будет невозможно.

Вкладки в Arduino IDE

6. Выбрать плату и порт. Выбираем в настройках программы соответствующую плату и порт куда она подключена, как в гайде выше. Важные моменты по настройкам самой платы обычно указано в описании конкретного проекта.

  • Для проектов на Arduino Nano выбираем Arduino Nano, а также ИнструментыПроцессорATmega328p (Old Bootloader). Если вам по какой-то причине пришлют платы с новым загрузчиком – прошивка не загрузится (будет минутная загрузка и ошибка), можно попробовать сменить пункт Процессор на ATmega328p
  • Для проектов на Wemos выбираем (LOLIN)Wemos D1 R2 & mini
  • Для проектов на NodeMCU выбираем NodeMCU 1.0
  • В некоторых проектах, например GyverLamp2 (второй версии) для прошивки в esp8266 нужно выбрать плату Generic esp8266, читайте особенности загрузки на странице проекта!
  • Для проектов на Digispark порт выбирать не надо, читай инструкцию выше

blank

blank

7. Настроить программу. Очень часто в начале кода моих программ можно встретить блок настроек. Настройки обычно имеют вид

#define SOME_SETTING 1  // 1 включено, 0 выключено

где цифра отвечает за значение настройки, менять нужно только цифру согласно комментарию.

8. Загрузить прошивку. Нажимаем стрелочку в левом верхнем углу окна программы и прошивка загружается. Не загружается? Читаем гайд выше, там описаны все возможные причины.

Загружать прошивку желательно до подключения компонентов, чтобы убедиться в том, что плата рабочая. После сборки можно прошить ещё раз, плата должна спокойно прошиться. В проектах с мощными потребителями в цепи питания платы 5V (адресная светодиодная лента, сервоприводы, моторы и проч.) необходимо подать на схему внешнее питание 5V перед подключением Arduino к компьютеру, потому что USB не обеспечит нужный ток, если потребитель его потребует – это может привести к выгоранию защитного диода на плате Arduino.

9. Если что-то не работает – читай инструкцию, в ней описан каждый шаг и решение всех проблем. Также в самом начале есть видео, где всё показано ещё более подробно.

Заметка для тех, кто не читал инструкцию и получил какую-то ошибку. Вот список самых частых причин:

  • Не распаковал архив и запустил скетч прямо из него, получил ошибку компиляции в стиле not declared in this scope. РАСПАКУЙ АРХИВ
  • В логе ошибок встречается фраза no such file or directory – не установил библиотеки. УСТАНОВИ БИБЛИОТЕКИ
  • Происходит ошибка загрузки. ВЕРНИСЬ К ИНСТРУКЦИИ ПО НАСТРОЙКЕ IDE
  • На плате что-то греется и прошивка не грузится. ДОПУСТИЛ ОШИБКУ ПРИ СБОРКЕ, ВСЁ СГОРЕЛО
  • Установил старую или кривую версию Arduino IDE и получил непонятные ошибки – удали старую и УСТАНОВИ СВЕЖУЮ ВЕРСИЮ
  • Некоторые проекты будут работать только на тех платах, что показаны в видео и описаны на странице проекта. Под другие платы прошивка компилироваться не будет!

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

Стандартным интерфейсом плат Arduino на микроконтроллерах ATmega328P является UART, а у современных компьютеров используется USB. Чип USB-UART CH340G служит мостом между микроконтроллером и USB-портом компьютера, который позволяет загружать прошивку в плату, а также передавать между собой данные.

Список поддерживаемых плат

Зачем нужен драйвер?

При подключении любого устройства к USB-порту компьютера необходимо подсказать операционной системе, как с ним общаться. На стороне компьютера таким переводчиком является специальная программа, называемая драйвером. Например, драйвер преобразователя USB-UART работает в режиме эмуляции последовательного COM-порта. Т. е. при подключении вашей платы к компьютеру чип моста с помощью драйвера попросит операционную систему открыть виртуальный COM-порт, через который начнётся общение между платой и ПК.

Каждый производитель делает свои чипы с соответствующими драйверами. К сожалению, не все драйверы предустановлены в операционных системах по умолчанию. Когда нужного драйвера нет, ОС пытается найти его для нового подключённого устройства, не находит, и вместо виртуального COM-порта вы видите надпись «USB 2.0 SERIAL» или «Неизвестное устройство». Для решения проблемы скачайте и установите драйвер для вашей операционной системы.

Установка драйвера

Рассмотрим установку драйвера на примере платы Iskra Uno в операционной системе Windows. С остальными платами ситуация будет аналогичная.

  1. Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B).

  2. Установите и настройте интегрированную среду разработки Arduino IDE.

  3. Откройте диспетчер устройств Windows и раскройте вкладку «Порты (COM и LPT)».

    1. Если во вкладке отображается пункт USB-SERIAL CH340 (COMx) — значит, всё получилось, и можно переходить к прошивке платформы.

    2. Если пункта не обнаружено или вкладка «Порты (COM и LPT)» вовсе отсутствует, следуйте дальнейшей инструкции.

  4. В диспетчере устройств Windows раскройте вкладку «Другие устройства» и найдите пункт USB2.0-Serial.

  5. Далее кликните правой кнопкой мыши по пункту USB 2.0 Serial и выберите раздел «обновить драйвер».

  6. Выберите пункт «Выполнить поиск драйверов на этом компьютере».

  7. Укажите путь к директории драйвера и нажмите кнопку «установить». В нашем случае:

  8. Если всплывёт окно с текстом «Не удалось проверить издателя драйверов», кликните по вкладке «Всё равно установить этот драйвер». По завершении процесса вы должны увидеть сообщение об удачной установке драйвера.

  9. Откройте повторно вкладку «Порты (COM и LPT)» в диспетчере устройств. Если там отображается пункт USB-SERIAL CH340 (COMx) — значит, всё получилось, и теперь можно переходить к прошивке платформы.

Ресурсы

  • Скачать драйвер CH340

Contributors:
bboyho, santaimpersonator



Favorited



Favorite

10

Introduction

In this tutorial, we’ll show you how to install CH340 drivers on multiple operating systems if you need. The driver should automatically install on most operating systems. However, there is a wide range of operating systems out there. You may need to install drivers the first time you connect the chip to your computer’s USB port or when there are operating system updates.

CH340 Highlighted and Closeup

Required Materials

Depending on your application, the CH340 may be populated on a breakout or development board. Here are a few boards that use this particular USB-to-serial converter.

Accessories

You’ll also need the correct USB cable to connect the board to your computer. You may need a jumper wires and a breadboard for prototyping.

Suggested Reading

Before you begin this tutorial, you should have the Arduino IDE installed on your computer. Check out our Installing Arduino tutorial for a step by step guide.

Serial Communication

Asynchronous serial communication concepts: packets, signal levels, baud rates, UARTs and more!

Connector Basics

Connectors are a major source of confusion for people just beginning electronics. The number of different options, terms, and names of connectors can make selecting one, or finding the one you need, daunting. This article will help you get a jump on the world of connectors.

What is an Arduino?

What is this ‘Arduino’ thing anyway? This tutorials dives into what an Arduino is and along with Arduino projects and widgets.

Logic Levels

Learn the difference between 3.3V and 5V devices and logic levels.

Serial Terminal Basics

This tutorial will show you how to communicate with your serial devices using a variety of terminal emulator applications.

Alright, let’s get to work! You can visit the next section to learn more about the CH340 and why you need the drivers, or you can skip straight to the operating system of your choice!

Meet the CH340

There are a few variants of the CH340. The CH340G requires an external crystal oscillator to function while the CH340C includes a built-in crystal oscillator. However, both function in the same fashion — they convert USB data for a serial UART and vice versa!

The CH340 is also populated on development boards such as the RedBoard Qwiic to upload code using the Arduino IDE.

RedBoard Qwiic w/ CH340 Highlighted

Drivers (If You Need Them)

The CH340 has been tested on:

  • Windows 7/10
  • Mac OSX
    • v10.10.5 (Yosemite)
    • v10.11.6 (El Capitan)
    • v10.13.0 (High Sierra)
    • v10.14.5 (Mojave)
  • Linux
    • Raspbian Stretch (11-13-2018 release) for the Raspberry Pi
    • Raspbian Buster (2019-07-10 release) for the Raspberry Pi
    • Ubuntu v18.04.2, 64-bit

These operating systems have the CDC drivers pre-installed, which means you shouldn’t need to install any extra software. However, there are a wide range of operating systems out there, so if you run into driver problems, you can get the archived drivers linked below:

  • Windows (EXE) — Driver executable
  • Windows (ZIP) : Driver v3.4 (2016-09-27)
  • Mac (ZIP) : Driver v1.5 (2018-07-04)
  • Linux (ZIP) : Driver v1.5 (2018-03-18)

The CH340 is made by WCH. You can find the latest version of their drivers in their English translated website.

Note: At the time of writing, you were only able to find the latest version of their drivers from their website in Mandarin. If you use a Chrome web browser, you had the option to have the web page translated. However, you now have the option of browsing the WCH website in either language. For those interested in heading to the Mandirin side, you can click on the button below.

Updating Drivers

If you have the older CH340 drivers installed, you may need to update them. In the following sections, are the instructions for doing so on each of the tested operating systems.

Windows 7/10

Note for Educators: You will need to obtain administrative privileges from your network or IT administrator in order to install these drivers. Make sure to test the drivers before class and set aside some time with students in the classroom when installing the drivers.

Download and run the executable.

Click the «Uninstall» button first. Then click on the «Install» button.

Win 10 Installation Screenshot
Windows CH340 Driver Installation


Driver Verification for Windows

To verify that your driver is working, you should see a difference in the following pictures after plugging the CH340 to a USB port.

Device Manager

To check that the CH340 enumerates to a COM port, you can open the device manager. You can click the Start or (Windows) button and type «device manager to quickly search for the application.

searching for device manager

Using the search on Windows 10 to look for the device manager.

After opening the device manager, you will need to open the Ports (COM & LPT) tree. The CH340 should show up as USB-SERIAL CH340 (COM##). Depending on your computer, the COM port may show up as a different number.

CH340 in the Device Manager

Screenshot of Window 10 Device Manager with a CH340 displayed on COM123. Click to enlarge.

Arduino IDE

Alternatively, if you have the Arduino IDE installed, you should also see a change in the number of available COM Ports (you may need to restart the Arduino IDE for the board to populate). Without the CH340 connected to your computer, click on Tools > Port. Take note of the Serial Ports available.

Arduino IDE COM Ports

Connect the CH340 to your computer’s USB port. Click on somewhere else on the screen for the menu to refresh itself. Then head back to the menu by clicking on Tools > Port. A new COM port should pop up. By process of elimination, the CH340 should have enumerated to the new COM port! Feel free to click on the COM port to select if you are uploading code to a microcontroller. Depending on your computer, the COM port may show a different number.

Arduino IDE COM Ports CH340

Serial Loop Back Test

You can also verify if the USB-to-serial converter is working by doing a serial loop back test or echo test. If you are using the breakout board, you can add a jumper between the Tx and Rx to try and echo a character in a terminal program. For more information, try checking out the Hardware Test for the serial basic hookup guide.

Serial Loop Back Test

Mac OSX

Note for Educators: You will need to obtain administrative privileges from your network or IT administrator in order to install these drivers. Make sure to test the drivers before class and set aside some time with students in the classroom when installing the drivers.

Open the Terminal program by selecting Go > Applications.

Applications Folder

Select and open the Terminal program under Applications > Utilities > Terminal.

Open the Terminal Window

Note: You can also search with Spotlight by pressing (Command) + space bar (Space Bar). Then type «Terminal» and double-click the search result.

If you are still unsure of how to access the Terminal, watch this video or read this Apple support article.

You’ll need to move to the directory where the *.kext files are stored.

  • For Mac OSX v10.9+, you will need to use this command:

    language:bash
    cd /Library/Extensions
    
  • For Mac OSX v10.8 and below, you will need to use this command:

    language:bash
    cd /System/Library/Extensions
    

In this case, we will be using Mac OSX v10.13, so we will need to use the first command.

change directory to where the drivers are located

To check to see if the CH340 driver is in the correct path, use the following command to list the contents of the folder.

language:bash
ls

To look for CH340 driver files (i.e. usb.kext or usbserial.kext) in the path, you could use the following command.

language:bash
ls | grep usb

You should see something similar to the output below after using the commands.

KEXT file path

If you have found the file in the path, you will need to run each of the following commands in the CLI/Terminal to remove old CH340 drivers. In this case, there was only the usbserial.kext file but it does not hurt to run both commands. Make sure to have administrative privileges to ensure that the drivers are removed.

language:bash
sudo rm -rf /Library/Extensions/usb.kext
sudo rm -rf /Library/Extensions/usbserial.kext

Check if the old drivers were removed in the paths by using the ls command with your respective OS version. You will notice that the *.kext file is removed from the respective paths. In this case, the usbserial.kext was removed from Mac OSX High Sierra.

language:bash
ls

CH340 Drivers Removed

Download and extract the folder.

Then, open the «*.pkg» file from the unzipped folder and follow the instructions. You’ll need to restart your computer for the changes to take effect.

Mac OSX Installation Screenshot

Mac OSX CH340 Driver Installation File


Driver Verification for Macs

To verify that your driver is working, you should see a difference in the following pictures after plugging the CH340 to a USB port.

Command Line

Open the Terminal by heading to Applications > Utilities > Terminal if the program is not open yet.

Open Terminal Program

Then run the following command:

language:bash
ls /dev/cu* 

A list of devices connected to your Mac’s COM ports will be displayed as a result. Assuming that the CH340 is not connected to your computer, you should see something similar to the image below.

List of Devices Connected

Connect the CH340 to one of your Mac’s COM ports. Check for the following changes (your board may show up under a different device name). The CH340 should show up as /dev/cu.wchusbserial*****. Depending on your computer, the COM port may show up as a different number.

List of Devices Connected with the CH340

Screenshot of Mac OSX terminal with CH340 on cu.wchusbserialfd1410. Click to enlarge.

Arduino IDE

Alternatively, if you have the Arduino IDE installed, you should also see a change in the number of available COM Ports (you may need to restart the Arduino IDE for the board to populate). Without the CH340 connected to your computer, click on Tools > Port. Take note of the Serial Ports available.

Available Serial Ports on Arduino IDE

Connect the CH340 to your computer’s USB port. Click on somewhere else on the screen for the menu to refresh itself. Then head back to the menu by clicking on Tools > Port. A new COM port should pop up. By process of elimination, the CH340 should have enumerated to the new COM port! Feel free to click on the COM port to select if you are uploading code to a microcontroller. Depending on your computer, the COM port may show a different number.

Available Serial Ports  w/ CH340 on Arduino IDE

Serial Loop Back Test

You can also verify if the USB-to-serial converter is working by doing a serial loop back test or echo test. If you are using the breakout board, you can add a jumper between the Tx and Rx to try and echo a character in a terminal program. For more information, try checking out the Hardware Test for the serial basic hookup guide.

Serial Loop Back Test

Linux

Note for Educators: You will need to obtain administrative privileges from your network or IT administrator in order to install these drivers. Make sure to test the drivers before class and set aside some time with students in the classroom when installing the drivers.

Raspbian for Raspberry Pi

Run the following commands in the CLI/Terminal when using Raspbian on a Raspberry Pi. After updating, the latest CH340 should be installed!

language:bash
sudo apt-get update
sudo apt-get upgrade

Other Linux Distributions

Here is a downloadable *.ZIP of standard CH340 drivers for Linux.

There are some reported cases of serial communication failure when using the factory drivers in Linux. If you encounter this problem, you can try installing patched drivers as explained in this forum post. Here are the steps (to run in the command line):

  • Plug and unplug your CH340 device from the USB port
  • Type dmesg to see what has happened
    • The expected output (shows «ch341») should have the following in the recent log:
[  xxx] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[  xxx] ch341 3-2:1.0: device disconnected
  • Download the patched drivers repository and unzip the files
  • cd into the directory where the files are saved
  • make clean
  • make
  • sudo make load
  • sudo rmmod ch341 to uninstall the broken driver
  • lsmod | grep ch34 to list what modules are currently installed
  • Plug and unplug your CH340 device again on the USB port
  • dmesg
    • Expected output (should show «ch34x» now):
[  xxx] ch34x ttyUSB0: ch34x converter now disconnected from ttyUSB0
[  xxx] ch34x 3-2:1.0: device disconnected

Depending on your root permissions, you may need to configure the serial port with the following two commands. Make sure to adjust the $username with respect to the user ID that is currently logged in.

language:bash
sudo usermod -a -G dialout $username 
sudo chmod a+rw /dev/ttyUSB0

Driver Verification for Linux

Command Line

Plug the CH340 back to your computer’s USB port. Then run the following command in the CLI/Terminal on any Linux distribution. Check for the following changes (your board may show up under a different device name).

language:bash
ls /dev/ttyUSB*

The serial port that CH340 is connected to should pop up as a result.

Raspbian CLI Command Entry

Screenshot of Raspberry Pi CLI with the CH340 on ttyUSB0. Click to enlarge

Arduino IDE

Alternatively, if you have the Arduino IDE installed, you should also see a change in the number of available COM Ports (you may need to restart the Arduino IDE for the board to populate). Without the CH340 connected to your computer, click on Tools > Port. Depending on the Linux flavor that you have, the Ports may not open to display any serial ports. Take note of the Serial Ports available if it opens up.

Linux Ubuntu Arduino COM Ports

Connect the CH340 to your computer’s USB port. Click on somewhere else on the screen for the menu to refresh itself. Then head back to the menu by clicking on Tools > Port. A new COM port should pop up. By process of elimination, the CH340 should have enumerated to the new COM port! Feel free to click on the COM port to select if you are uploading code to a microcontroller. Depending on your computer, the COM port may show a different number.

Linux Ubuntu Arduino COM Ports CH340

Serial Loop Back Test

You can also verify if the USB-to-serial converter is working by doing a serial loop back test or echo test. If you are using the breakout board, you can add a jumper between the Tx and Rx to try and echo a character in a terminal program. For more information, try checking out the Hardware Test for the serial basic hookup guide.

Serial Loop Back Test

Troubleshooting

COM Port is Not Showing Up as CH340 Windows

We have had a few reports on Windows 10 where the driver will automatically install and the board will show up under a new COM port as USB-Serial CH340, but with a different device name. However, the board cannot be accessed on the Arduino IDE. Others have had issues where the installation process hangs.

Based on the customer experiences, this might be specific to the manufacturer and are usually isolated cases. Users seem to be able to eventually get the board recognized by a combination of giving the computer time to finish the install (close to 20 min), plugging the board back in multiple times, reinstalling the drivers, and/or resetting the computer multiple times (repeat both steps).

COM Port Not Available Windows, Mac, and Linux

If you installed the drivers for the CH340 on your computer but have issues connecting via serial terminal or uploading code using the Arduino IDE, there may be an issue with your user settings preventing you from using the CH340. You may receive an avrdude: ser_open(): can't open device error similar to the output shown below.

language:bash
avrdude: ser_open(): can't open device "/dev/ttyUSB0": No such file or directory

In this case, the error appeared on a Linux when trying to upload code due to the drivers not being installed and the root permissions.

Arduino ser_open() error

Make sure to check your configuration settings and ensure that the serial port for the CH340 is enabled for your OS. You may also need to reinstall the drivers for your operating system.

USB Cable Windows, Mac, and Linux

Certain USB cables are for power only and may not have the data lines available. Try checking your USB cable and ensure that the data lines are intact.

Issues Uploading at Fast Baud Rates

If you are uploading to certain boards like the Apollo3 on the Artemis development boards with fast baud rates, there are some platforms (Linux flavors) where the standard CH340 USB to serial drivers don’t operate well at speeds higher than 115200. So if you run into upload problems, consider reducing the upload speed. For more information about upload issues, see this forum post and consider upgrading with these drivers for Mac OSX or these for Linux.

Resources and Going Further

Now that you’ve successfully got your CH340 up and running, it’s time to incorporate it into your own project!

  • WCH: CH340 Drivers — Latest drivers can be downloaded from the manufacturer.
    • Windows (EXE) — Driver executable
    • Windows (ZIP) — Driver v3.4 (2016-09-27)
    • Mac (ZIP) — Driver v1.5 (2018-07-04)
    • Linux (ZIP) — Driver v1.5 (2018-03-18)

USB-to-serial converters like the CH340 are great for uploading code to a microcontroller or viewing data from a GPS on a serial terminal. Check out these tutorials to dive even deeper into the world of microcontrollers or send serial data to your computer with a GPS!

Serial Terminal Basics

This tutorial will show you how to communicate with your serial devices using a variety of terminal emulator applications.

GPS-RTK Hookup Guide

Find out where you are! Use this easy hook-up guide to get up and running with the SparkFun high precision GPS-RTK NEO-M8P-2 breakout board.

RedBoard Qwiic Hookup Guide

This tutorial covers the basic functionality of the RedBoard Qwiic. This tutorial also covers how to get started blinking an LED and using the Qwiic system.

Or check out these blog posts.

Рассмотрим процесс установки и работы Arduino в Windows 10 для разных плат (Uno, Nano, Mega) по шагам, разберем основные проблемы.

Содержание

  • Три способа установки IDE Arduino
  • Установка с помощью установщика
  • Установка драйверов в Windows вручную
  • Установка драйвера Arduino Mega в Windows 10
  • Основные проблемы в Windows 10

В Windows есть 3 способа установить IDE на свой компьютер:

  1. Скачать и запустить программу установки (все версии Windows): рекомендуемый способ. Программа установки также устанавливает драйверы, но только в том случае, если у вас есть права администратора учетной записи Windows.
  2. Скачать .zip архив (также для всех версий Windows): для случаев, когда у вас нет прав администратора. Вам придется установить драйверы вручную.
  3. Скачать и установить IDE как приложение из Магазина Windows (только для Windows 10): это быстро и просто, но не рекомендуется. Этот вариант, вероятно, установит более старую версию, которая, вероятно, имеет некоторые проблемы.

Установка с помощью установщика

Мы выбираем рекомендуемый вариант для Windows 10 и используем автоматический установщик, чтобы максимально упростить работу.

Сначала вы можете перейти на страницу скачивания на нашем сайте или перейти на официальную страницу загрузок Arduino и выберите «Установщик Windows» (англ. — Windows Installer).

На следующей странице выберите «Просто скачать» (JUST DOWNLOAD) или «Содействовать & скачать» (CONTRIBUTE & DOWNLOAD). Теперь будет скачана программа установки.

Запустите только что загруженный .exe-файл. Выберите «Да» (Yes), чтобы программа установки могла вносить изменения в ваш компьютер. Затем примите лицензионное соглашение.

Выберите компоненты для установки (рекомендуется оставить все выбранными).

Выберите папку для установки (рекомендуется оставить по умолчанию) и нажмите «Установить» (install).

Подождите, пока установщик завершит установку.

Далее щелкните Установить (Install), чтобы установить драйверы Adafruit. После этого нажмите кнопку «Установить» (Install), чтобы установить драйвер USB. И далее нажмите снова кнопку «Установить» (Install), чтобы установить второй драйвер USB.

Теперь можно запускать Arduino IDE в Windows 10.

После запуска вы сможете увидеть IDE в работе:

Установка драйверов в Windows вручную

Данная инструкция относятся к Windows 7, Vista и Windows 10. Они действительны также для Windows XP с небольшими различиями в диалоговых окнах.

В инструкции будет упомянута только плата Arduino Leonardo, но такая же процедура действительна для всех плат Arduino.

Подключите плату и дождитесь, пока Windows начнет процесс установки драйвера.

Если установщик не запускается автоматически, перейдите в Диспетчер устройств Windows:

Пуск -> Панель управления -> Оборудование

Или для английского языка в Win 10 путь будет такой:

Start -> Control Panel -> Hardware

Найдите в списке Arduino Leonardo. Щелкните правой кнопкой мыши и выберите «Обновить драйвер» (англ. — Update driver).

На следующем экране выберите «Найти на моем компьютере драйверы» (Browse my computer for driver software) и нажмите «Далее» (Next).

Щелкните кнопку «Обзор…» (Browse…). Появится другое диалоговое окно: перейдите в папку с только что загруженным программным обеспечением Arduino. Выберите папку с драйверами (drivers) и нажмите OK, затем нажмите Next.

Вы получите уведомление о том, что плата не прошла тестирование Windows Logo. Нажмите на кнопку Продолжить в любом случае (Continue Anyway).

Через несколько секунд появится окно с сообщением, что мастер завершил установку программного обеспечения для Arduino Leonardo в Windows 10. Нажмите кнопку «Закрыть» (Close).

Установка драйвера Arduino Mega в Windows 10

Для установки драйверов Меги шаги будут очень похожими на шаги для любой другой платы. Можно заранее установить Windows-версию сервера LANforge. Процесс будет выглядеть таким образом:

1. Перейдите по ссылке выше на официальный сайт Arduino, чтобы скачать последнюю версию драйвера.

2. Скачайте zip-файл Arduino IDE на рабочий стол. Щелкните правой кнопкой мыши → Извлечь все… (Extract All…), чтобы разархивировать содержимое в папку на рабочем столе. Этот процесс требует, чтобы вы управляли как администратор.

3. Переход к диспетчеру устройств (Device Manager).

  • Нажмите Ctrl + F для поиска
  • Ищем устройство (Device)
  • Выберите диспетчер устройств (Device Manager)
  • В окне диспетчера устройств щелкните правой кнопкой мыши на компьютер и выберите пункт «Сканировать на предмет изменений оборудования» (Scan for hardware changes).

6. Если вы нашли ранее установленный драйвер, удалите его. Особенно, если это обозначено как Windows Arduino Mega.

  • Щелкните правой кнопкой мыши → Удалить (Uninstall)
  • Выберите «Удалить программное обеспечение драйвера для этого устройства» (Delete the driver software for this device) и нажмите ОК.
  • Щелкните компьютер правой кнопкой мыши и выберите пункт Сканировать на предмет изменений оборудования (Scan for Hardware Changes).
  • Возможно, вам придется отключить и подключить аттенюатор.
  • Если контекстное меню не позволяет вам изменить драйверы, перезагрузите систему.

7. Установите драйвер Arduino IDE

  • В диспетчере устройств (Device Manager) щелкните правой кнопкой мыши «Неизвестное устройство» (Unknown Device) и выберите «Обновить программное обеспечение драйвера…» (Update Driver Software…)

8. Выберите «Найти на моем компьютере драйверы» (Browse my computer for driver software):

  • Перейдите в «Desktoparduino-1.8.9drivers» и нажмите ОК. Версия Arduino IDE у вас может отличаться.
  • Нажмите «Далее» (Next)

Вы увидите подтверждение обновления программного обеспечения драйвера. Щелкните «Закрыть» (Close).

Вам не нужно перезагружать вашу систему, чтобы запустить аттенюатор.

Основные проблемы в Windows 10

  • Arduino IDE (Windows 10) вылетает или перестает работать при запуске программы

Бывает ситуация, когда Arduino IDE (версия 1.8.12) вылетает при запуске. При запуске arduino_debug.exe получаем это сообщение об ошибке.

C:Program Files (x86)Arduino>arduino_debug.exe
Set log4j store directory C:UsersvolkeAppDataLocalArduino15
Loading configuration...
Initializing packages...
java.lang.NullPointerException
        at cc.arduino.contributions.packages.ContributionsIndexer.parseIndex(ContributionsIndexer.java:134)
        at processing.app.BaseNoGui.initPackages(BaseNoGui.java:483)
        at processing.app.Base.<init>(Base.java:273)
        at processing.app.Base.main(Base.java:150)

C:Program Files (x86)Arduino>

Удаление файлов конфигурации package_index.json и package_esp32_index.json ничего не дает.

Из вариантов решения можно попробовать следующее.

После установки бета-версии (arduino beta1.9-BUILD-119) у многих не возникает никаких проблем.

Также многим помогает Сборка Nightly (ссылка).

Таким образом мы приходим к выводу, что в случае вылета программы в Windows 10 помогает использование последней бета-версии Arduino IDE. Даже для плат ESP8266 она работает нормально.

Еще одной причиной проблемы может быть блокировка со стороны антивируса. Это тоже хорошо бы проверить.

7 сентября 2020 в 17:53
| Обновлено 7 ноября 2020 в 01:19 (редакция)
Опубликовано:

Статьи, Arduino

windows logo   2012 derivative - Установка драйвера для устройств Arduino Nano CH340G фото

Установка драйвера для устройств Arduino Nano CH340G на ОС Windows 7-10

Так как драйвер для Arduino Nano CH340G при подключении к компьютеру с ОС Windows 7, 10 автоматически не устанавливается, нам необходимо вручную скачать архив с файлами и установить его.

Как установить драйвера для Arduino Nano CH340G на Windows 7, 10?

Первым делом необходимо подключить плату Arduino Nano CH340G к компьютеру через USB порт и открыть Диспетчер устройств. Для того чтобы быстро найти Диспетчер устройств в Windows 10, достаточно перейти в меню “Поиск” и вбить запрос – Диспетчер устройств, выше появится искомый пункт, просто кликните по нему левой кнопкой мыши.

kak bystro najti dispetcher ustrojstv v windows 10 - Установка драйвера для устройств Arduino Nano CH340G фото

Найдите в Диспетчере устройств — USB 2.0 SERIAL

После подключения Arduino Nano CH340G к компьютеру через USB порт, в Диспетчере устройств, в разделе – Другие устройства, должно появиться новое оборудование – USB 2.0 SERIAL, так как Windows сам найти драйвера не сможет.

najdite v dispetchere ustrojstv usb 2 0 serial - Установка драйвера для устройств Arduino Nano CH340G фото

Скачиваем и разархивируем драйвер для CH340G

Далее нам необходимо скачать архив с драйвером для Arduino Nano CH340G на свой компьютер, и разархивировать в любую папку.

Обязательно запомнив в какой каталог разархивировали драйвер, чтобы в дальнейшем найти его!

Ссылка на скачивание драйвера для CH340G тут

Выбираем обновление драйверов в Диспетчере устройств

Возвращаемся в Диспетчер устройств, кликаем правой кнопкой мыши по USB 2.0 SERIAL и выбираем – Обновить драйверы.

vybiraem obnovlenie drajverov v dispetchere ustrojstv - Установка драйвера для устройств Arduino Nano CH340G фото

Выполняем поиск драйверов на этом компьютере

Выбираем пункт – Выполнить поиск драйверов на этом компьютере

vybiraem vypolnit poisk drajverov na ehtom kompyutere - Установка драйвера для устройств Arduino Nano CH340G фото

Указываем путь к папке с драйвером

Указываем путь куда разархивировали папку с драйвером. В нашем случае это – ( C:Program Files (х86)Arduinodrivers) но вы указываете свой.

ukazyvaem put k papke s drajverom - Установка драйвера для устройств Arduino Nano CH340G фото

Windows успешно обновил драйвер

Если вы увидели соответствующее сообщение, значит все прошло успешно – драйвер установлен!

Если увидите сообщение – «Не удалось проверить издателя этих драйверов», кликаем – Все равно установить этот драйвер!

После в диспетчере устройств появится новый COM порт.

obnovlenie programmnogo obespecheniya dlya dannogo ustrojstva zaversheno uspeshno - Установка драйвера для устройств Arduino Nano CH340G фото

Понравилась статья? Поделить с друзьями:
  • Archer t2u nano ac600 драйвер для windows 10
  • Archeage не запускается на windows 10
  • Archeage вылетает без ошибки на windows 10
  • Arch linux grub не видит windows
  • Arcelik smart tv browser emulator скачать для windows