Last checked: 28 October 2026.

A Digispark (ATtiny85) has no USB chip: the micronucleus bootloader talks USB in software for about six seconds after you plug it in, as USB ID 16D0:0753, and only then hands over to your sketch. On Windows 11, “Unknown USB Device (Device Descriptor Request Failed)” after that window is usually normal. The real fix is a libusb driver for 16D0:0753 and plugging in at the right moment.

⬇ micronucleus 2.6 command-line uploader for Windows + Zadig preset

Windows 10/11 x64 · micronucleus CLI v2.6 (release of 4 Nov 2021, the latest) · works with v1.x and v2.x bootloaders · no installer, unzip and run

Download micronucleus-cli v2.6 for Windows (255 KB)

File: micronucleus-cli-master-882e7b4a-x86_64-MINGW64_NT-10.0-17763.zip · 261,374 bytes · SHA-256 96dbf48e786dac7236516347e06beb8c36c754443afdcba782084f203a7b67d8 · contains micronucleus.exe, libusb0.dll and BUILD_INFO (built 4 Nov 2021 from commit 882e7b4) · licence GPL v2 or v3 (License.txt; source at the same repository) · unmodified mirror of micronucleus/micronucleus v2.6.

Download the Zadig preset (micronucleus.cfg, 9 KB)

File: micronucleus-zadig-preset.zip · 9,125 bytes · SHA-256 239fcf245ba674e58476e8a5afd9c1ecd6a5ea2bf9585c6b468c94945ede27d1 · the four files of the project’s windows_driver_installer folder (micronucleus.cfg, Zadig.ini, Readme.md) plus License.txt, unchanged.

Zadig itself: zadig.akeo.ie (official) or our mirror in the Zadig guide. Digistump’s old Digistump.Drivers.zip (2016) is only on their GitHub release; the repository has no licence file, so we don’t mirror it, and Zadig replaces it on Windows 10/11 anyway.

Diagram of the Digispark plug-in timeline: USB reset, a bootloader window of about 6 seconds as USB ID 16D0:0753, then the sketch, where a sketch without USB code shows as Unknown USB Device
The plug-in sequence, drawn from the micronucleus firmware configuration files. Diagram: TechBenchLab.

What Windows shows, and which phase you are in

The timings and IDs come from the micronucleus firmware itself: usbconfig.h sets VID 0x16d0, PID 0x0753 (“= Digistump”) and device class 0xff; the ATtiny85 configuration sets the timeout.

What you see on Windows 11 Phase Normal? Source
A device with USB ID 16D0:0753 and a yellow mark (no driver), then it disappears Bootloader active, no driver installed Expected until you install the driver below firmware/usbconfig.h
“Micronucleus” under libusb-win32 devices, or “Unknown Device #1” under libusbK USB Devices Bootloader active, driver installed Yes: this is the state an upload needs Zadig preset; Arduino forum, Win 11 thread
It stays there for about 6 s (v2.x) or 5 s (v1.x), then leaves Bootloader timeout Yes. AUTO_EXIT_MS 6000 in v2.x t85_default; 5000 in v1.11 t85_default/bootloaderconfig.h; v1.11 bootloaderconfig.h
It stays forever Fresh bootloader, no sketch yet Yes: “Clean Micronucleus devices without uploaded userprogram will not time out” micronucleus Readme
“Unknown USB Device (Device Descriptor Request Failed)” after the window Your sketch runs and has no USB code Yes. Since v2.01 the bootloader releases D− before starting the sketch, which “may lead to a ‘Unknown device’ pop-up in Windows” Readme, changelog v2.01
A keyboard or mouse appears after the window Sketch uses DigiKeyboard / DigiMouse Yes —
Nothing at all, no sound, nothing in Device Manager USB never enumerated No: see the problems below Arduino forum threads

The command-line tool reports the bootloader version once it finds the board (> Device has firmware version 2.6); micronucleus --info prints only that. The v2 uploader still talks to v1.x bootloaders, per the project Readme. The last 1.x release was v1.11.

Install the driver on Windows 11

  1. Unzip the preset and start Zadig. In Options, tick List All Devices.
  2. Device → Load Preset Device, pick micronucleus.cfg. This fills in the name “Micronucleus” and USB ID 16D0 0753, so you don’t have to catch the board in the drop-down during its short window.
  3. Leave the target driver on libusb-win32. The project’s Zadig.ini sets default_driver = 1 (libusb0.sys), which matches the libusb0.dll in the v2.6 zip. An Arduino forum moderator reports libusbK working as well. Click Install Driver.
  4. Plug the Digispark in and check Device Manager: the entry from the table’s second row should appear for a few seconds.

Upload

The Readme says it plainly: start the tool before plugging in. Run micronucleus.exe --run blink.hex, wait for > Please plug in the device, then plug the board in. In the Arduino IDE (Digistump or ATTinyCore boards package) it works the same: click Upload, wait for the “plug in device now” message, then plug in. The IDE waits 60 seconds. Use --timeout 30 on the command line if you want a limit.

Common problems

FAQ

Why no COM port? The Digispark is not a serial device. Nothing appears under Ports (COM & LPT), and that is normal. If you need a COM port, see Arduino IDE 2 port not showing.

Is “Device Descriptor Request Failed” ever a real fault here? Only if it appears while the bootloader should be active. For the general Code 43 case, see our descriptor-failed guide.

Related guides

Sources