Unable to upload code

In serial monitor shows not connected. I'm using arduino clone. My board is detected in Device manager but unable to upload the code

I moved your topic to an appropriate forum category @velavan22.

In the future, please take some time to pick the forum category that best suits the subject of your topic. There is an "About the _____ category" topic at the top of each category that explains its purpose.

This is an important part of responsible forum usage, as explained in the "How to get the best out of this forum" guide. The guide contains a lot of other useful information. Please read it.

Thanks in advance for your cooperation.

Hi @velavan22. I'm going to ask you to post the full verbose output from an upload attempt.


:exclamation: This procedure is not intended to solve the problem. The purpose is to gather more information.


Please do this:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Uncheck the box next to Show verbose output during: compilation in the "Preferences" dialog.
  3. Check the box next to Show verbose output during: ☐ upload.
  4. Click the "OK" button.
  5. Attempt an upload, as you did before.
  6. Wait for the upload to fail.
  7. You will see a "Upload error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
  8. Open a forum reply here by clicking the "Reply" button.
  9. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
    Code tags icon on toolbar
  10. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the error output from the upload into the code block.
  11. Move the cursor outside of the code tags before you add any additional text to your reply.
  12. Click the "Reply" button to post the output.
FQBN: arduino:avr:unowifi
Using board 'unowifi' from platform in folder: C:\Users\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Using core 'arduino' from platform in folder: C:\Users\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6

loading library from C:\Users\AppData\Local\Arduino15\libraries\package-1172227544: invalid library: no header files found
Detecting libraries used...
C:\Users\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO_WIFI_DEV_ED -DARDUINO_ARCH_AVR -DESP_CH_UART -DESP_CH_UART_BR=19200 -IC:\Users\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard C:\Users\AppData\Local\Temp\arduino\sketches\2349E5D4C0FB468C100DBEE2C0FBA0C5\sketch\sketch_dec22a.ino.cpp -o nul
Generating function prototypes...
C:\Users\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO_WIFI_DEV_ED -DARDUINO_ARCH_AVR -DESP_CH_UART -DESP_CH_UART_BR=19200 -IC:\Users\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard C:\Users\AppData\Local\Temp\arduino\sketches\2349E5D4C0FB468C100DBEE2C0FBA0C5\sketch\sketch_dec22a.ino.cpp -o C:\Users\AppData\Local\Temp\3274264186\sketch_merged.cpp
C:\Users\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\AppData\Local\Temp\3274264186\sketch_merged.cpp
Compiling sketch...
"C:\\Users\\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO_WIFI_DEV_ED -DARDUINO_ARCH_AVR -DESP_CH_UART -DESP_CH_UART_BR=19200 "-IC:\\Users\\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\standard" "C:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5\\sketch\\sketch_dec22a.ino.cpp" -o "C:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5\\sketch\\sketch_dec22a.ino.cpp.o"
Compiling libraries...
Compiling core...
Using precompiled core: C:\Users\AppData\Local\Temp\arduino\cores\arduino_avr_unowifi_6882d33897032b025877cb81d9a65754\core.a
Linking everything together...
"C:\\Users\\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5/sketch_dec22a.ino.elf" "C:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5\\sketch\\sketch_dec22a.ino.cpp.o" "C:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5/..\\..\\cores\\arduino_avr_unowifi_6882d33897032b025877cb81d9a65754\\core.a" "-LC:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5" -lm
"C:\\Users\\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5/sketch_dec22a.ino.elf" "C:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5/sketch_dec22a.ino.eep"
"C:\\Users\\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5/sketch_dec22a.ino.elf" "C:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5/sketch_dec22a.ino.hex"

"C:\\Users\\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-size" -A "C:\\Users\\\AppData\\Local\\Temp\\arduino\\sketches\\2349E5D4C0FB468C100DBEE2C0FBA0C5/sketch_dec22a.ino.elf"
Sketch uses 444 bytes (1%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
"C:\Users\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOM8" -b115200 -D "-Uflash:w:C:\Users\AppData\Local\Temp\arduino\sketches\2349E5D4C0FB468C100DBEE2C0FBA0C5/sketch_dec22a.ino.hex:i"

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:\Users\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM8
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x7b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x7b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x7b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x7b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x7b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x7b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x7b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x7b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x7b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x7b

avrdude done.  Thank you.

Failed uploading: uploading error: exit status 1

Please provide more information about the board you are using.

From the output, I see you have selected the "Arduino Uno WiFi" board in Arduino IDE. That rare retired board is not available as a clone as far as I know so it is very likely that your board is something completely different than an Uno WiFi. We need to know exactly what you have in order to provide effective assistance with the upload error.

Can you please share your code?
What Arduino board are you using?

Interesting board... Mind sharing the name?
Did you check your board info to see does it supports Arduino IDE...
Some boards have their limitations, especially for the custom ones. They have their preloaded software for you. If they don't, it means you haven't installed the driver given by the manufacturer of the board.

I hope it helps.

Thanks. That makes the situation clear. Even though it the name in the product listing might have been something along those lines, this is not the board that is referred to in the Arduino IDE as "Uno WiFi", so you should not select that board in the IDE while uploading.

The primary microcontroller on this board is an ATmega328P. It also has an ESP8266 connected to the serial interface of the ATmega328P. The ESP8266 microcontroller has an "AT firmware" preinstalled, which allows it to be controlled by the ATmega328P microcontroller by spending special commands. So the ESP8266 acts as a Wi-Fi interface for the ATmega328P.

The most important thing to understand about this board is that the serial interface used to upload to the ATmega328P is the same one that is connected to the ESP8266. This means that the ESP8266 can interfere with the uploads to the ATmega328P. For this reason, the board has some switches that allow you to disconnect the ATmega328P from the ESP8266 when you want to upload to the board, and then connect it once again when you want to communicate with the ESP8266.

These Chinese boards are quite confusing to work with because it seems that all the different manufacturers clone each other's boards, but maybe make some small changes. I believe this is a clone of the "RobotDyn UNO+WiFi" board. The function of the switches are documented on the board's product page:

https://robotdyn.com/uno-wifi-r3-atmega328p-esp8266-32mb-flash-usb-ttl-ch340g-micro-usb.html

On the board where the switch of mode of operation with 8 position

Switch status and mode selection:

1 2 3 4 5 6 7 8
CH340 connect to ESP8266 (upload sketch) OFF OFF OFF OFF ON ON ON NoUSE
CH340 connect to ESP8266 (connect) OFF OFF OFF OFF ON ON OFF NoUSE
CH340 connect to ATmega328 (upload sketch) OFF OFF ON ON OFF OFF OFF NoUSE
Mega328+ESP8266 ON ON OFF OFF OFF OFF OFF NoUSE
All modules work independent OFF OFF OFF OFF OFF OFF OFF NoUSE

There are some strange mutations of the labels for the switches as written on the silkscreen of your board, but I believe they have the same functionality. Try this:

  1. Remove the piece of transparent orange tape that is covering the switches.
    The purpose of this tape was to protect the switches during the manufacturing process.
  2. Set the switches as follows:
    Switch # Position
    1 OFF
    2 OFF
    3 ON
    4 ON
    5 OFF
    6 OFF
    7 OFF
    8 OFF
  3. Connect your board to your computer with the USB cable.
  4. Open the sketch you want to upload in Arduino IDE.
  5. Select Tools > Board > Arduino AVR Boards > Arduino Uno from the Arduino IDE menus.
  6. Select the port of your board from the Tools > Port menu in Arduino IDE.
  7. Select Sketch > Upload from the Arduino IDE menus.

Hopefully the upload will now succeed. If you wanted to use the ESP8266, you would now adjust the switches and then press the button marked "MCU RESET" on the board to restart the sketch with a connection to the ESP8266 board.

If you are just getting started with Arduino I recommend you forget all about the ESP8266 and Wi-Fi capabilities of the board for now and leave the switches as I described above. Spend some time getting familiar with the basics of Arduino programming and electronics using the ATmega328P microcontroller alone. The reason is that using the Wi-Fi capabilities of this board is very complex. You will likely have a bad experience if you try to use it as a beginner.

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