Идентификатор USB VID 16C0 PID 05DC в диспетчере устройств Windows почти всегда означает, что к компьютеру подключён программатор USBasp для микроконтроллеров AVR или совместимое с ним устройство на базе прошивки от Van Ooijen Technische Informatica (VOTI). Если такое устройство отображается с жёлтым восклицательным знаком или определяется как «Неизвестное устройство», система не смогла подобрать для него драйвер — и это типичная ситуация, поскольку USBasp не имеет сертифицированной подписи Microsoft.
Пара VID/PID 16C0/05DC принадлежит Штефану ван Оойену, который выделил этот диапазон для некоммерческих и любительских USB-проектов. Из-за этого один и тот же идентификатор используется в разных самодельных устройствах: программаторах, USB-адаптерах, контроллерах. Поэтому по одному лишь VID/PID нельзя со стопроцентной уверенностью назвать конкретную модель — но в подавляющем большинстве случаев за этим кодом скрывается именно USBasp или его клон.
Как расшифровывается VID 16C0 PID 05DC
Каждое USB-устройство при подключении сообщает хосту два числа: Vendor ID (идентификатор производителя) и Product ID (идентификатор продукта). Значение VID_16C0 зарегистрировано за VOTI, а PID_05DC соответствует устройствам класса «shared ID для проектов с открытой прошивкой». Ревизия REV_0102 в строке идентификатора указывает на версию прошивки или аппаратной ревизии конкретного экземпляра.
Типичная строка из диспетчера устройств выглядит так: USB\VID_16C0&PID_05DC&REV_0102. Найти её можно в свойствах неопознанного устройства на вкладке «Сведения», выбрав в выпадающем списке пункт «ИД оборудования».
- 🔌 VID 16C0 — Van Ooijen Technische Informatica, общедоступный диапазон для DIY-проектов.
- 🛠️ PID 05DC — чаще всего программатор USBasp и его клоны.
- 🔢 REV 0102 — версия прошивки устройства, помогает отличать ревизии.
- 💻 ОС — проблемы с определением чаще возникают в Windows 10/11 из-за проверки подписи драйверов.
VID 16C0 / PID 05DC — это «общий» идентификатор VOTI. Чаще всего за ним скрывается программатор USBasp, но теоретически это может быть любое DIY-устройство на той же прошивке.
Какие устройства используют этот идентификатор
Наиболее распространённое устройство с этим VID/PID — USBasp, популярный недорогой программатор для микроконтроллеров Atmel/Microchip AVR (ATmega, ATtiny). Он построен на микроконтроллере ATmega8 или ATmega88 и работает через программную реализацию USB-стека V-USB.
Также этот идентификатор встречается у самодельных USB-устройств, собранных на базе V-USB: адаптеры, HID-контроллеры, отладочные платы. Если вы не покупали программатор осознанно, проверьте, что именно подключено к порту — возможно, это плата из DIY-набора или устройство, прошитое кастомной прошивкой.
Установка драйвера в Windows
Для USBasp не существует подписанного Microsoft драйвера, поэтому стандартный механизм автоматической установки не срабатывает. Рабочий подход — установить драйвер через утилиту Zadig, которая подменяет драйвер устройства на libusb-win32 или libusbK. Это безопасная и обратимая операция.
Порядок действий: подключите программатор, запустите Zadig, в меню Options включите List All Devices, выберите в списке USBasp и установите драйвер libusb-win32. После этого устройство перестанет отображаться с ошибкой, а программы вроде AVRDUDE смогут с ним работать.
☑️ Проверка и установка драйвера USBasp
⚠️ Внимание: не устанавливайте «драйверы USBasp» со случайных сайтов в виде готовых EXE-установщиков. Под видом драйвера нередко распространяется вредоносное ПО. Используйте только Zadig или драйвер с официального сайта автора USBasp.
Проверка работоспособности программатора
После установки драйвера проверьте связь с программатором через AVRDUDE. Команда чтения сигнатуры микроконтроллера выглядит так:
avrdude -c usbasp -p atmega328p
Если в ответ приходит корректная сигнатура целевого чипа — программатор работает. Ошибка вида could not find USB device "USBasp" означает, что драйвер не установлен или установлен не для того устройства. Ошибка target doesn't answer указывает уже на проблему с подключением к прошиваемому микроконтроллеру: проверьте линии MOSI, MISO, SCK, RESET и питание.
Если AVRDUDE сообщает «cannot set SCK period», обновите прошивку самого USBasp или просто игнорируйте предупреждение — на работу оно обычно не влияет.
Типичные ошибки и их причины
| Симптом | Возможная причина | Что проверить |
|---|---|---|
| Жёлтый восклицательный знак | Драйвер не установлен | Установить libusb-win32 через Zadig |
| «Устройство не опознано» | Неисправен кабель или порт | Другой USB-порт, другой кабель |
| AVRDUDE не находит USBasp | Драйвер привязан к другому устройству | Повторить установку в Zadig для нужного устройства |
| Target doesn't answer | Нет связи с целевым чипом | Распиновку ISP, питание, перемычку Slow SCK |
Отдельный случай — перемычки на плате программатора. Джампер JP3 (Slow SCK) снижает скорость шины и нужен при прошивке микроконтроллеров с низкой тактовой частотой, например новых чипов с заводскими фьюзами на 1 МГц. Расположение и наличие перемычек зависит от конкретной ревизии платы, поэтому сверяйтесь с документацией продавца или схемой вашей платы.
⚠️ Внимание: некоторые клоны USBasp умеют выдавать на целевую плату 5 В или 3,3 В в зависимости от положения перемычки питания. Подача 5 В на устройство, рассчитанное на 3,3 В, может вывести его из строя — проверьте напряжение мультиметром перед подключением к прошиваемой плате.
Обновление прошивки USBasp
Старые клоны поставляются с устаревшей прошивкой, из-за чего AVRDUDE выводит предупреждения. Обновить прошивку можно, но для этого потребуется второй программатор или плата Arduino в режиме ArduinoISP. Процедура необратима при ошибке, поэтому выполняйте её только при реальной необходимости и используйте прошивку с официального сайта автора USBasp.
Где взять оригинальную прошивку USBasp
Официальный сайт проекта USBasp — fischl.de/usbasp. Там публикуются исходники и готовые HEX-файлы прошивки для ATmega8/ATmega88. Сторонние «улучшенные» прошивки с форумов используйте с осторожностью.
Если программатор стабильно прошивает ваши чипы, обновление прошивки не является обязательным — предупреждение о версии SCK в большинстве случаев чисто информационное.
Если устройство не является программатором
Поскольку VID/PID от VOTI доступен всем желающим, под этим идентификатором может скрываться и другое устройство. Уточнить природу девайса помогут косвенные признаки: строка «Описание устройства» в диспетчере, класс устройства, момент появления в системе (после подключения какого именно гаджета оно возникло).
Полезный приём — отключить все USB-устройства и подключать их по одному, наблюдая, когда появляется запись с VID_16C0. Если неопознанное устройство появляется само по себе без подключения нового оборудования, это повод проверить систему на вредоносное ПО.
Диагностика сводится к трём шагам: найти ИД оборудования в диспетчере устройств, определить физическое устройство методом поочерёдного подключения и установить драйвер libusb-win32 через Zadig, если это USBasp.
Часто задаваемые вопросы
Что означает VID 16C0 PID 05DC?
Это идентификатор USB-устройства: VID 16C0 принадлежит VOTI (Van Ooijen Technische Informatica), а PID 05DC выделен для открытых DIY-проектов. Чаще всего под ним скрывается программатор USBasp для микроконтроллеров AVR.
Опасно ли устройство с этим VID/PID?
Сам по себе идентификатор безопасен — это легитимный диапазон для любительских устройств. Однако если устройство появилось в системе без подключения нового оборудования, стоит проверить компьютер антивирусом.
Где скачать драйвер для USBasp?
Отдельного драйвера не требуется: используйте утилиту Zadig с официального сайта проекта и установите драйвер libusb-win32. Избегайте EXE-«драйверпаков» со сторонних ресурсов.
Почему AVRDUDE не видит программатор после установки драйвера?
Возможно, драйвер установлен не для того экземпляра устройства. Повторите процедуру в Zadig, убедившись, что в списке выбран именно USBasp, и проверьте, что программатор подключён напрямую, без неисправного USB-хаба.
Можно ли использовать USBasp с Windows 11?
Да, программатор работает в Windows 10 и 11 после установки драйвера libusb-win32 через Zadig. Подпись драйвера Microsoft при этом не требуется.