Can't upload to nano esp32

I just got a new Arduino brand nano esp32. I plugged it in and used the "Arduino Nano ESP32" in the Arduino IDE 2.1.1. I opened the basic blink example and tried to upload it. It compiled fine but I got this error message on upload:

Sketch uses 285833 bytes (9%) of program storage space. Maximum is 3145728 bytes.
Global variables use 30732 bytes (9%) of dynamic memory, leaving 296948 bytes for local variables. Maximum is 327680 bytes.
dfu-util 0.11-arduino4

Cannot open DFU device 2341:0070 found on devnum 6 (LIBUSB_ERROR_NOT_FOUND)
No DFU capable USB device available
Failed uploading: uploading error: exit status 74

This is on a NUC running Windows 10.

2 Likes

I am having the same problem, I believe we need to have the DFU driver installed in Windows Device Manager. From there, in the arduino available ports one should select the port with dfu option, not COM or serial. I am still trying to figure out how to install the DFU driver though.

Thanks for the info. From my reading this seems like a problem for the Arduino folks to fix. I'm wondering why the QA folks didn't catch this and what makes our machines "special".

wjr

Hello!
Got my brand new Nano32 and run into the same issue. I'm using ArduinoIDE 1.8 on Win10

I noted that when I connect the Nano32 to the USB port, it appears on COM14... But it happens to move to COM8 after a while.

Anyway: neither COM8 or COM14 accept upload.

I tried using Visual Code with PlatformIO, my usual IDE. I manage to upload my scketch, but the Nano32 seems to do nothing. No led, no serial debug messages...

EDIT: Having a Huzzah 32 Feather working with the exact same code that is working, connecting and dropping some data to a server, I refreshed the server view to realize that I got new data from the Nano32.
What I understand: using VSCode with PlatformIO setup for a Adafruit Feather ESP32S3 allows me to upload a sktech. No LED nor serial debugging, BUT the code actually works, connect to my Wifi network with a different IP from my initial Feather32 and send data to my server.

I'll try add some devices (LED on IO pins, MP3...) to check everything work. But I guess tehre is an issue with that brand new board: it is not yet well managed by IDE :stuck_out_tongue:

Hello, @wjrust what core and core version are you using?

  • Connect the board.
  • Check on the device monitor what COM port the board is using.
  • Open IDE.
  • Make sure the correct core is installed (Arduino ESP32 Boards by Arduino version 2.0.11 or whatever is more recent).
  • Go to Tools and ensure the port points to the same COM port you initially checked on the device monitor and that on Board>Arduino ESP32 Boards the option Arduino nano ESP32 is selected if not select it. (if there are multiple ports that list esp32 boards select the one that matches the COM port on the device manager but please do mention it on this post)
  • Also on Tools make sure that Esptool.
  • Go into Sketch and press Upload using programmer.

Please add the error output if this fails.

That works. When I came into the IDE it said that I had board updates and put out a message saying version 2.0.10 was replaced by 2.0.11. When I tried uploading it still failed. But then I went back and installed the board in the board manager and now it works. It's confusing that there was something called "Arduino Nano ESP" but that wasn't the right thing. Anyway, the nano is no longer going back to Amazon tomorrow. :slightly_smiling_face:

Thanks a lot,

wjr

6 posts were split to a new topic: Opening Serial Monitor fails: "No monitor available for the port protocol dfu."

4 posts were split to a new topic: Upload in Arduino IDE fails after using PlatformIO: "No DFU capable USB device available"

6 posts were split to a new topic: Upload on Linux fails: "No DFU capable USB device available"

22 posts were split to a new topic: Upload Using Programmer fails: "A device which does not exist was specified"

I received my Arduino Nano ESP32 a week ago, and I had the same problem described by you, and others: No DFU Device available.
After Looking into Windows dispositives, the Arduino DFU was with an error condition.
I looked the driver board installed, and it was 2.1.1, installed automatically first time I connected the board. And this was the problem!!
I looked in the Arduino IDE board manager and I found a newer version: 2.1.3
After installing it, everything works well.
Hope it can help to troubleshoot!

2 Likes

Finally!
I spent hours in reading posts and making tries.
At the end I found that my Device Manager in Win10 was signaling something wrong on the DFU driver (actually, the device was not recognized).
Using the Board Manager in Arduino I installed the last version (2.0.13) of the Arduino ESP32 Boards and now, magically, that damned 'No DFU capable USB device available' went away and I can reprogram my board as I wish.
Thank you

1 Like

9 posts were split to a new topic: Upload fails: "No DFU capable USB device available""

A post was merged into an existing topic: Upload on Linux fails: "No DFU capable USB device available"

You need to choose correct bord

1 Like

Actually, I fixed my issue by moving to Arduino IDE 2.0 with updates. Later, I moved to PlatformIO which works great (but for card reset which is not done by the software and need hardware handling) :slight_smile:

follwowed the instructions : Sketch uses 784457 bytes (24%) of program storage space. Maximum is 3145728 bytes.
Global variables use 60244 bytes (18%) of dynamic memory, leaving 267436 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.5.1
Serial port COM12
Connecting...

A serial exception error occurred: Cannot configure port, something went wrong. Original message: PermissionError(13, 'A device attached to the system is not functioning.', None, 31)
Note: This error originates from pySerial. It is likely not a problem with esptool, but with the hardware connection or drivers.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
Failed programming: uploading error: exit status 1

initial errowa was:

Sketch uses 784441 bytes (24%) of program storage space. Maximum is 3145728 bytes.
Global variables use 60244 bytes (18%) of dynamic memory, leaving 267436 bytes for local variables. Maximum is 327680 bytes.
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/p/dfu-util/tickets/

Cannot open DFU device 2341:0070 found on devnum 60 (LIBUSB_ERROR_NOT_FOUND)
No DFU capable USB device available
Failed uploading: uploading error: exit status 74

Hi @lmateev.

This error indicates you have not installed the drivers for the Nano ESP32 board.

Normally, Arduino IDE automatically installs the drivers for you. However, the drivers will not be installed under either of the following scenarios:

  • You installed the "esp32" boards platform instead of the "Arduino ESP32 Boards" platform.
    Although both platforms provide support for the Nano ESP32, only the "Arduino ESP32 Boards" platform installs the board's drivers.
  • You installed the "Arduino ESP32 Boards" platform, but then dismissed the Windows User Account Control (UAC) dialog for the driver installation:

    Do you want to allow this app from an unknown publisher to make changes to your device?

    dpinst-amd64.exe

The solution will be to install/reinstall the "Arduino ESP32 Boards" platform, making sure to approve the driver installation offer:

  1. Select Tools > Board > Boards Manager... from the Arduino IDE menus to open the "Boards Manager" view in the left side panel.
  2. Scroll down through the list of boards platforms until you see the "Arduino ESP32 Boards" entry.
  3. If you see a label like "<version number> installed" (where <version number> is some version number like 2.0.13), hover the mouse pointer over the "Arduino ESP32 Boards" entry, click the ●●● icon that appears at the top right corner of the entry, select "Remove" from the menu that opens, and then wait for the uninstallation process to finish.
  4. Click the "INSTALL" button at the bottom of the "Arduino ESP32 Boards" entry.
  5. You should now see a "User Account Control" dialog about dpinst-amd64.exe asking whether you "want to allow this app from an unknown publisher to make changes to your device". Click the "Yes" button in the dialog:
    image
  6. Wait for the installation process to finish, as indicated by a notification at the bottom right corner of the Arduino IDE window:

    Successfully installed platform ...

After you have done that, try doing a normal upload (e.g., by Sketch > Upload from the Arduino IDE menus) of a sketch to your Nano ESP32 board again . Hopefully it will be successful this time. If not, please let us know and we'll provide further assistance.

The reason for the error when you attempted an "Upload Using Programmer" operation is that you must perform a special procedure to prepare the board for this operation and the instructions were not provided for that procedure.

It is not expected that an "Upload Using Programmer" operation would be useful for solving your original problem anyway, so please disregard the failure of the "Upload Using Programmer" operation.

1 Like

problem seems to be there, as account was not an administrator the pop dialog is just not showing at all. workaround is from device manager to force it to search for drivers in arduino folders and it managed to install it. after reboot all goes well. Thank you for the hints and support!!!

1 Like

You are welcome. Congratulations on finding a solution! I'm glad it is working now. Thank you for taking the time to post an update.

Regards,
Per

1 Like