Why these upload error with Windows 11 and UNO R4 Minima?

Sometime upload works, often not.

For example I get:

Sketch uses 39764 bytes (15%) of program storage space. Maximum is 262144 bytes.
Global variables use 3956 bytes (12%) of dynamic memory, leaving 28812 bytes for local variables. Maximum is 32768 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 dfu-util / Tickets

Opening DFU capable USB device...
Device ID 2341:0069
Run-Time device DFU version 0101
Claiming USB DFU (Run-Time) Interface...
Setting Alternate Interface zero...
Determining device status...
Failed to retrieve language identifiers
Failed to retrieve language identifiers
error get_status: LIBUSB_ERROR_TIMEOUT
Failed uploading: uploading error: exit status 74


After reconnecting the usb-cable, restarting IDE and sometimes restarting PC, it works some time and then fail again.
Why?


(With Uno R3 and Win10, I have never had any upload problems.)

Hi @msiipola. When the sketch program currently running (not the program you are attempting to upload) on the Arduino board produces a high volume of serial output, it causes uploads to fail with this "error get_status: LIBUSB_ERROR_TIMEOUT" error message.

During the upload process, a special signal is sent to the Arduino board which tells it to go into the mode where it can accept the upload. The flood of serial data blocks the receipt of that signal. The workaround is to manually put the board into that mode before the upload.

I'll provide instructions you can follow to do that:

  1. Press and release the button marked "RESET" or "RST" on your board quickly twice.
    The built-in LED on the board should start pulsing.
    The double reset puts the board into the update mode. It will stay in this mode until the board is reset normally, powered off, or an upload is done.
  2. Select Sketch > Upload from the Arduino IDE menus.
    An "Upload" operation will start.
  3. Wait for the upload to finish successfully.

After that, if you find that the upload continues to fail with the "error get_status: LIBUSB_ERROR_TIMEOUT" error message when you later try to upload normally without performing the double reset procedure, this indicates that the sketch you uploaded is still producing an excessive volume of serial output. You can verify this by uploading a simple sketch like the one from File > Examples > 01.Basics > BareMinimum in the Arduino IDE menus. If the uploads work normally after uploading that sketch, but not after uploading the previous sketch you were using, then you will know the issue is caused by that other sketch code. If it is not intended that the sketch would produce a high volume of serial output and you don't know what is causing this, you can post your sketch code in a reply here on this forum topic to get assistance from the forum helpers with the problem.

Although I have seen claims that high volumes of serial output can cause upload failures with the UNO R3, I have never experienced that myself.

There is a significant difference between the UNO R4 Minima and UNO R3 hardware in that the Renesas RA4M1 microcontroller on the UNO R4 Minima communicates directly with the computer via the USB connection. Conversely, there is a dedicated chip on the UNO R3 for this purpose, separate from the board's primary ATmega328P microcontroller (necessary due to the fact the ATmega328P doesn't have a USB capability).

Thanks for the detailed answer! I shall try your suggestions.