Fix “dfu-util: No DFU capable USB device available” (Nano ESP32, Uno R4)
The Arduino Nano ESP32 or Uno R4 Minima isn't in DFU mode or Windows lacks the driver. Double-tap reset, check the port and reinstall the board package.
Community draft — report a mistake
What you see
dfu-util 0.11-arduino4
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/projects/dfu-util/support
Opening DFU capable USB device...
dfu-util: No DFU capable USB device available
Failed uploading: uploading error: exit status 74dfu-util 0.11-arduino4 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2021 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/projects/dfu-util/support Opening DFU capable USB device... dfu-util: No DFU capable USB device available Failed uploading: uploading error: exit status 74
Some newer Arduino boards don’t use a USB-serial bootloader. They switch into a USB DFU (Device Firmware Upgrade) mode, and the IDE runs dfu-util to write the sketch. “No DFU capable USB device available” means dfu-util looked and no board in DFU mode was there.
Double-tapping RESET puts the board into DFU mode by hand. If the device still doesn’t appear on Windows, reinstall the board package so its USB driver is set up again.
Quick fix — try in order
- 1
Double-tap RESET to enter bootloader mode
Press RESET twice quickly. On the Nano ESP32 the RGB LED fades green; on the Uno R4 Minima the L LED pulses. Then upload again — the port may change number.
- 2
Select the right board
Tools → Board → “Arduino Nano ESP32” (Arduino ESP32 Boards package) or “Arduino UNO R4 Minima” (Arduino UNO R4 Boards). A generic ESP32-S3 entry uses esptool and fails differently.
- 3
Reinstall the board package to restore the driver
On Windows the DFU driver is installed with the board package. Boards Manager → remove and reinstall it, accept the driver prompt, then replug.
- 4
Linux: add the udev rules
Run the post_install.sh script from the board package folder (as root) so your user can access the DFU device.
- 5
Recover a Nano ESP32 that won't enter DFU
Short the B1 pad to GND and press RESET to enter the ESP32-S3 ROM bootloader, then use Tools → Burn Bootloader with “Esptool” as programmer.
Why it happens
Why dfu-util and not esptool?
These boards ship a USB DFU bootloader. The IDE resets the board into it with a 1200-baud “touch”; if your sketch crashed or disabled USB, that touch never arrives and no DFU device appears.
Exit status 74
dfu-util's code for “device not found”. It is the same failure, reported by the IDE.
Board-specific notes
Arduino Nano ESP32: Leaving the green-fading DFU mode needs a single RESET press after uploading if the sketch doesn't start by itself.
Arduino Uno R4 WiFi: The R4 WiFi uploads with bossac through its ESP32-S3 bridge, not dfu-util — see No device found on COM.
Did this fix it?
Thanks — that helps us keep this page right.