Arduino reconizes my board, but it doesn´t send the code

So, the arduino app recognizes my board, but somehow the code doesn´t upload. My board is an non-brand one. Any help you guys can give me?

Hi @madeirense. Please try this experiment and report the results:

  1. Connect the Arduino board to your computer with a USB cable.
  2. Press and release the button on the Arduino board that is marked "RESET".

Do you see the "L" LED blink immediately after you release the "RESET" button?


:exclamation: NOTE: This will not solve the problem. This is only done to gather some more information about the problem.

no, the led don´t blink when i press the reset button

It is possible for a short or external circuitry connected to the Arduino board to interfere with the upload process, causing this type of upload error.

Make sure the board is not sitting on anything conductive that could short the contacts on the bottom of the board. Make sure there isn't any conductive debris (e.g., strands of wire or component leads) on the board or on the surface the board is sitting on.

If you have a shield or any external circuitry or components connected to your Arduino board, try this experiment:

  1. Disconnect the USB cable of the Arduino board from your computer.
  2. Disconnect any shields, modules, external circuitry, etc. from your board.
  3. Connect the Arduino board to your computer with a USB cable.

Now try uploading a sketch to the board again. Does the upload succeed?

This experiment will determine whether the upload error was caused by interference from your external circuitry. If so, you can then focus your attention on identifying the specific problem with the circuit and resolving it.

i did all that and it didn´t work. Btw my board is brand new

There is a program named a "bootloader" that is stored in a special area of the memory in the primary microcontroller of your Arduino board. This program receives the data sent by the computer when you upload a sketch to the board.

The symptoms you describe indicate that the bootloader is not running when it should be activated. This could have either of the following causes:

  • The memory in the microcontroller where the bootloader was stored has somehow been erased or corrupted.
  • There is physical damage to the microcontroller or its support circuitry.

If the board was in this state when you received it then you may be eligible to return the board to the seller for a replacement or refund.

But if you can't do that or would prefer to try to find a solution for the board you have already, there is still something you can try:

If the cause is a missing bootloader, the board might be recoverable by a "Burn Bootloader" operation.

You will need an "ISP programmer" in order to perform a "Burn Bootloader" operation. An ISP programmer is a piece of hardware that allows your computer to write directly to the flash memory of the primary microcontroller on the Arduino board.

If you don't have an ISP programmer, you can use a spare Arduino board as a DIY programmer (known as an "Arduino as ISP"). I'll provide instructions you can follow to do that:

Burning Bootloader with "Arduino as ISP" Programmer

A. Prepare "Arduino as ISP" programmer

Although the "Arduino as ISP" only works for programming targets of the AVR architecture, you can use some boards of other architectures (e.g., "AVR", "SAMD", "megaAVR") as an "Arduino as ISP" programmer.

I will refer to the board which will used as an "Arduino as ISP" as the "programmer board" from here on. The board you are burning the bootloader to will be referred to as the "target board".

  1. Disconnect the USB cable of the Arduino boards from your computer.
  2. Make the following connections between the pins on the "programmer board" and the "target board".
    Programmer Target
    MISO MISO
    VCC 5V (VCC on 3.3 V boards)
    SCK SCK
    MOSI MOSI
    10 RESET
    GND GND
    The documentation for the boards you are using will identify the location of these pins. If you are using an official Arduino board, check the pinout diagram on the documentation page for the board.
  3. Connect the "programmer board" to your computer with a USB cable.
  4. Select File > Examples > 11.ArduinoISP > Arduino ISP from the Arduino IDE menus.
  5. Select your "programmer board" from Arduino IDE's Tools > Board menu.
  6. Select the port of your "programmer board" from Arduino IDE's Tools > Port menu.
  7. Select Sketch > Upload from the Arduino IDE menus.
  8. Wait for the upload to finish.

You are now ready to burn the bootloader using your "Arduino as ISP" programmer.

B. Burn Bootloader

Instructions for burning the bootloader:


It is not possible to do this via "Arduino Web Editor". You will need to use Arduino IDE or Arduino CLI.


  1. Select the "target board" from the Tools > Board menu, and any other custom Tools menus (e.g., Tools > Processor).
  2. Select the appropriate programmer from the Tools > Programmer menu in Arduino IDE.
    This is dependent on which board you are using as the "programmer board":
    • If it is an ATmega32U4-based board (e.g., Leonardo, Micro, Pro Micro): Select "Arduino as ISP (ATmega32U4)" from the menu
    • If it is not an ATmega32U4-based board: Select "Arduino as ISP" from the menu
  3. Select Tools > Burn Bootloader from the Arduino IDE menus.
  4. Wait for the process to finish successfully.
  5. Disconnect the USB cable of the "programmer board" from your computer.
  6. Disconnect the "programmer board" from the "target board".

Conclusion

Now connect the "target board" to your computer with a USB cable and try uploading again. Does the upload succeed now?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.