Introduction

In this course we will try to resolve your upload problem with your Arduino card. We will fix the most known problems, from starting to simplest one to the hardest.

Be careful !!

This course will only resolve problems with the Arduino card, that’s mean the upload problems. But it is possible that your program is not good written that cause the problem during the uploading. If you know if the card or your program have a problem, you have to click on verify. If there isn’t any mistake on your program, it’s maybe a problem of uploading.

If it’s a problem in your program, it can be the library you use or maybe the program.

The Arduino card is recognized, but problem during the uploading

This is the error you can get :

avrdude: Version 6.3-20190619

Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

Using Port                    : COM3

An error occurred while uploading the sketch

Using Programmer              : arduino

Overriding Baud Rate          : 115200

avrdude: ser_open(): can't open device "\\.\COM3": The system cannot find the file specified.

avrdude done.  Thank you.

This problem can come from several things:

First solution : Forget to plugged your Arduino card

An error that we can all make is forgetting to plugged the Arduino card. You have to plugged the Arduino card before upload your program.

Second solution : Forget to choose the port

After plugged the Arduino card,  don’t forget to choose the right port, if not the Arduino software can’t upload the program.

Shadow port : Card not recognized in Arduino software

If your port is in shadow, that’s mean your card is not recognized by Arduino software. Therefore, you have to check in the device connected to the computer if the Arduino card appeared. You have go to on control panel, device and device and printer.

You will find this :

If in “unspecified” you don’t have the Arduino card like us, you have to read the sub problem 1. Otherwise, read the sub problem 2.

Sub problem 1: The Arduino card is not in the manager of device

  • One problem that might happen is the wire between your Arduino card and your computer doesn’t work well. If you have another wire, you can try another one.
  • There is not illegal fake of Arduino card, nevertheless some Chinese copy are not well recognized by the computer because they use a different usb than the original one. Some Elegoo card can have this problem. Theses cards have an Ch340G usb and you have to install a driver. This is the driver you have to install.

After installing the driver, you will find the Arduino card on the Arduino IDE software.

Sub Problem 2: Arduino card is on the manager device

As you can see on the picture, the Arduino card is present in the device manager but there is not port COM attached to it.

The problem here is that we haven’t the right driver for the Arduino card. Therefore we have to install it manually:

As you can see on the picture, there is the Arduino card. you can click right on it and do update of the driver.

We do browse my computer for drivers and we follow the steps:

You can choose in a list of drivers available in your computer or if you have downloaded one you can choose it here.

You choose the right Arduino card, for us it’s Arduino Uno.

If it’s doesn’t work and the port is still in shadow, maybe there is a problem with the bootloader of your Arduino card. You can find the solution for the bootloader at the end of this course.

avrdude : butterfly_recv() : programmer is not responding

One error possible during the uploading is avrdude: butterfly_recv(): programmer is not responding :

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53

         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino IDE for Microduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM5

         Using Programmer              : avr109

         Overriding Baud Rate          : 57600

         AVR Part                      : ATmega32U4

         Chip Erase delay              : 9000 us

         PAGEL                         : PD7

         BS2                           : PA0

         RESET disposition             : dedicated

         RETRY pulse                   : SCK

         serial program mode           : yes

         parallel program mode         : yes

         Timeout                       : 200

         StabDelay                     : 100

         CmdexeDelay                   : 25

         SyncLoops                     : 32

         ByteDelay                     : 0

         PollIndex                     : 3

         PollValue                     : 0x53

         Memory Detail                 :

                                  Block Poll               Page                       Polled

           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack

           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------

           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00

           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00

           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : butterfly

         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .

avrdude: butterfly_recv(): programmer is not responding

avrdude: ser_send(): write error: sorry no info avail

avrdude: butterfly_recv(): programmer is not responding
There are many possible problems, that’s why I divided in sub problem. Don’t hesitate to look at all the sub problems.

Sub problem 1 : Wrong choice of card

If you obtain an error, that’s mean that you haven’t choose the right type of Arduino card. In fact, by default, the Arduino software choose the Arduino Uno card. If you have another card, you have to choose it :

If you don’t find your card or it’s still doesn’t word, you can click on the board manager to install a new version of your card, particularly if you have an old Arduino software :

The board manager permits you to download a driver if your card is not catalogued in the Arduino software.

Sub problem 2 : Problem reset Arduino card

If you have an error of uploading you can push the button reset on the Arduino card just after clicked on the upload button.

 

Sub problem 3 : Bootloader old generation

In the old version of Arduino IDE, you can change the type of processor, you have to click on tools and card and you can change to ATmega328P(old bootloader).

If this things doesn’t work, you have to fix the problem with the bootloader.

General Solution: Problem with the bootloader

An error which appends frequently is the bootloader of your card is corrupted.

To fix it you will need an Arduino card which is recognized by your computer. The idea is to upload the bootloader of the card which work to one which doesn’t work.

This is the list of components you need:

  • An Arduino card which works and the one it doesn’t work
  • One capacitor of 10 ⴏf
  • 6 wires

First step: You have to connect your Arduino card which is working and upload the Arduino ISP program on it. You can find this program on File and Example and Arduino ISP :

 

Second step: You can unplug the Arduino card which is working and make the circuit with the Arduino card which doesn’t work:

The left Arduino card is working and the right one doesn’t work.

Third step: Plug the Arduino uno card which is working to your computer. Open the Blink program.
In the type of Arduino card, you have to choose the one you want to revive back.

Open the blink program :

For this step, you don’t have to upload it with the upload button. You have to choose the Arduino ISP mode in the programmer:

Finally in the tool bar you have to choose burn bootloader :