Нано за триста рублей с маркетплейса доехала в конверте, и первый вечер с ней закончился, не начавшись: кабель воткнут, зелёный светодиод PWR горит, а в списке портов среды — пусто. Диспетчер устройств показал загадку: в «Других устройствах» жило USB2.0-Serial с жёлтым значком, и в названии не было ни Arduino, ни CH340. Я полчаса перекидывал кабель между разъёмами и уже гуглил возврат по гарантии, хотя плате не хватало одного файла — драйвера USB-чипа размером в мегабайт. Подозрение на кабель я отмёл не сразу: он был фирменный, «для зарядки», и сначала я поменял его на второй — с тем же результатом, и правильно: дело было не в нём.
Так выглядит половина первых встреч с клонами. На оригинальных платах за общение с USB отвечает отдельный чип — у Uno это микроконтроллер ATmega16U2, у старых ревизий FT232RL, — и Windows 10/11 ставят драйверы на них сами, тихо. На клонах ради экономии стоит CH340 от компании WCH: чип за десятки центов, из-за которого плата и стоит втрое дешевле оригинала. Драйвер на него Windows сама не подтягивает — точнее, подтягивает не всегда и не на всех системах: Windows 7 не находит никогда. Список портов при этом пуст, и со стороны это неотличимо от брака.
Урок — про то, как за пять минут отличить живую плату от мёртвой: читаем диспетчер устройств как карточку пациента, ставим драйвер с сайта производителя, проверяем версию и знаем про один меткий подводный камень — контрафактные чипы, которые свежие драйверы WCH обслуживать отказались. Верхний слой этой истории уже был в уроке про первое подключение; здесь — до дна. Под симулятором в конце ждёт скетч-самотест: он работает и без железа, а на настоящей плате пригодится в первую же минуту после установки драйвера.
Диспетчер устройств — это диагноз
Читаем карточку. Диспетчер открывается правой кнопкой по «Пуск» или через Win+X: раздел «Порты (COM и LPT)» — место, где живут платы, и заглядывать туда стоит раньше, чем в настройки среды. Строка USB-SERIAL CH340 (COM3) в этом разделе — драйвер жив, диагноз «здоров»: порт можно выбирать в среде и шить. Номер COM — любой: Windows раздаёт их по порядку обнаружения, и COM17 так же нормален, как COM3. Строка USB2.0-Serial в разделе «Другие устройства» с жёлтым значком — это тот же чип, но без драйвера: системе неизвестно, что с ним делать, и она честно в этом признаётся.
Приём для скептиков: воткните и выньте плату, глядя на список. Строка появляется и исчезает — это она, ваша плата, а не мышка и не принтер. Ничего не меняется — вопрос в кабеле (зарядные без проводов данных живы и здесь) или в самой плате. Я прогоняю этот приём первым: он за минуту отделяет вопрос драйвера от вопроса железа, и дальше я не лечу здорового. Заодно запишите, в каком разделе жила строка — «Порты» или «Другие устройства»: это готовый диагноз ещё до всякой установки.
Отдельный случай: строка есть, порт в среде есть, а загрузка падает с ошибкой avrdude. Тогда драйвер ни при чём. Первым делом закройте монитор порта — он единолично держит устройство, мы разбирали его в уроке про монитор. Вторым — вспомните, что для старых Nano нужен выбор Old Bootloader в меню процессора: это другой жанр, и он разобран в уроке про первый скетч в IDE.
| Что в диспетчере устройств | Диагноз | Что делать |
|---|---|---|
| USB-SERIAL CH340 (COM3) в «Порты (COM и LPT)» | драйвер установлен | выбирать порт в среде и шить; среду после установки перезапустить |
| USB2.0-Serial в «Других устройствах», жёлтый значок | драйвера нет | CH341SER с сайта WCH — шаги ниже |
| CH340 есть, загрузка падает, avrdude не отвечает | порт занят или процессор не тот | закрыть монитор порта; старым Nano — Old Bootloader |
| CH340 есть, связи нет, версия драйвера 3.5 и новее | вероятен контрафактный чип | драйвер версии 3.4 — грабли ниже |
Установка: пять минут от производителя чипа
Драйвер живёт у производителя чипа: сайт wch-ic.com, раздел загрузок, файл CH341SER — в названии лишняя единица, потому что он же обслуживает родственный CH341. Архив весит около мегабайта, внутри SETUP.EXE: запускаем (потребуются права администратора — драйвер прописывается в систему, и «от имени пользователя» здесь не сработает), нажимаем единственную кнопку Install, ждём ответ «Driver install success!», переподключаем плату. Если инсталлятор ответит «device is being used», выньте плату и нажмите Install ещё раз: Windows иногда держит чип за предыдущую попытку. В диспетчере появляется USB-SERIAL CH340 с номером COM; среду после установки перезапускаем — она сканирует порты на старте и о новорождённом узнаёт не сразу.
Про источник честно: я беру драйвер только с сайта WCH. «Пакеты всех драйверов» из соцсетей и драйверпаки — лотерея, где приз — пара утилит, а джекпот — майнер; при этом все они предлагают то же самое, что файл на мегабайт с официальной страницы. Мегабайт против трёхсот мегабайт и вечера с антивирусом — цена вопроса несравнима.
Порт появился — проверяем канал. Самый короткий тест: залейте скетч-самотест и следите за светодиодами TX и RX на плате: во время загрузки они мигают, потому что по проводу бегут байты прошивки. Если TX/RX мигают, а «Загрузка завершена» не пришла, это уже не драйвер — возвращаемся к чтению ошибки целиком, как учит урок про первый скетч, без ссылки на первую строку лога. Сам скетч для проверки возьмите из урока про мигание или запустите в симуляторе ниже.
void setup() { Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); Serial.println("kanal: ok");} void loop() { static int blinks = 0; blinks = blinks + 1; digitalWrite(LED_BUILTIN, HIGH); Serial.print("led=1 blinks="); Serial.print(blinks); Serial.print(" t="); Serial.println(millis()); delay(300); digitalWrite(LED_BUILTIN, LOW); delay(300);}Грабли: контрафактные чипы и живой, но молчащий порт
Грабля, на которой я оставил вечер, редкая, но меткая. В 2022 году WCH в драйвере версии 3.5 перестал обслуживать контрафактные копии своего чипа: заводы наладили выпуск CH340 без лицензии, и производитель заблокировал их программно. Симптом: строка USB-SERIAL CH340 в диспетчере есть, порт в среде выбирается, а avrdude отвечает not responding — плата молчит на любом боде, хоть 9600, хоть 115200. Диагноз ставится методом исключения: кабель жив, порт не занят монитором, процессор выбран верно — остаётся чип.
Лечение — драйвер версии 3.4, последний перед блокировкой: с ним спорный клон оживает. Моё мнение с границей: если ваша плата работает на свежем драйвере, не откатывайтесь «на всякий случай» — откат выключает исправления. Но архив с 3.4 в моей папке drivers лежит ровно на случай нового клона из непонятной партии: у меня спорной была целая тройка плат — две завелись сразу, третья ожила только на 3.4. Отличить подделку глазами почти невозможно — маркировку подделывают тоже; судят по поведению: строка есть, связи нет.
И напоследок про пороги честности. Драйвер — не единственное, чем клон отличается от оригинала: там свои стабилизаторы и качество пинов, но это вопрос долговечности, а не первого запуска. Первый запуск упирается в три вещи: кабель с данными, драйвер чипа, выбор порта. Кабель мы проверяли трюком с телефоном, порт выбирается в списке среды, драйвер теперь ставится за пять минут — а на Linux этих драйверов нет вовсе: чип обслуживает ядро, и воюют только права, о чём наш урок про Linux.
- Воткните и выньте плату при открытом диспетчере устройств: поймайте строку, которая появляется и исчезает, — это ваша плата, а не мышь и не принтер.
- Проверьте версию драйвера в свойствах CH340 и запишите её: 3.4 или 3.5 — готовый ответ на половину вопросов вида «порт есть, связи нет».
- Запустите симулятор и уроните период мигания до 100 мс: светодиод за глазами не угонится, а строки led= в мониторе останутся честными — канал быстрее наблюдателя.
- На настоящей плате посчитайте вспышки TX и RX во время загрузки: серия миганий — прошивка едет; тишина при живом порте — проблема выше драйвера.
- Заведите на диске папку drivers и сложите туда CH341SER вместе с версией 3.4: в следующий раз драйвер найдётся за минуту, даже если сайт WCH недоступен.
- Клоны держат USB на чипе WCH CH340: без драйвера плата видна как USB2.0-Serial в «Других устройствах» — это не брак, а недостающий файл на мегабайт
- Диагноз ставит диспетчер устройств: USB-SERIAL CH340 (COM3) в «Портах» — здоров; приём «воткнул-вынул» отделяет плату от кабеля
- Драйвер — CH341SER с сайта производителя wch-ic.com: мегабайт, кнопка Install, перезапуск среды после установки
- Свежие драйверы (3.5 и новее) не обслуживают контрафактные чипы: строка есть — связи нет; спорный клон лечится драйвером 3.4
- Светодиоды TX/RX при загрузке — признак живого канала: мигают — прошивка едет; тишина при живом порте — ищите выше драйвера
- 1. В «Других устройствах» висит USB2.0-Serial с жёлтым значком. Что это?
- 2. Драйвер 3.5 стоит, строка CH340 есть, avrdude отвечает not responding. Куда копать?
- 3. Какой источник драйвера CH340 я считаю правильным?
- 4. После перестановки платы в другой USB-разъём порт стал COM7 вместо COM3. Что делать?
Частые вопросы по теме урока
- В «Других устройствах» висит USB2.0-Serial с жёлтым значком. Что это?
- Имя USB2.0-Serial с жёлтым значком — фирменная подпись CH340 без драйвера. Плата живая: нужен файл CH341SER с сайта производителя чипа, а после установки среда увидит порт после перезапуска. Ваша плата без драйвера: ставим CH341SER с сайта WCH
- Драйвер 3.5 стоит, строка CH340 есть, avrdude отвечает not responding. Куда копать?
- Живой порт при молчащей плате после исключения кабеля, монитора и процессора — подпись контрафактного чипа. Драйвер 3.4, последний перед блокировкой, его обслуживает. Откатить драйвер до 3.4: вероятен контрафактный чип, заблокированный в свежих версиях
- Какой источник драйвера CH340 я считаю правильным?
- Драйвер берут у производителя чипа. Сборки и обменники предлагают то же самое плюс сюрпризы, а файл с сайта WCH весит около мегабайта и ставится одной кнопкой — сделка на каждый день. Сайт производителя чипа wch-ic.com: файл CH341SER на мегабайт
- После перестановки платы в другой USB-разъём порт стал COM7 вместо COM3. Что делать?
- Windows привязывает COM-номер к USB-гнезду не навсегда. Среда сканирует порты на старте и при открытии списка — откройте список заново и выберите появившийся COM7. Открыть список портов заново и выбрать COM7: номер зависит от разъёма, это норма