3

I have been working on several projects recently an made hundreds of uploads to several different boards. I haven't had any issues to speak of. Now I cannot upload. I have tried:

  • Disconnect all inputs and output from analog a digital ports - This is a board, nothing connected except USB.
  • Changing cables
  • Changing USB ports on my computer
  • Using a brand new out of the box Arduino Uno
  • Using example sketches, and even BareMinimum
  • Serial Loopback test - FAILED
  • Updating the driver with the one from the arduino folder
  • Using an unsigned driver
  • Manually setting the windows driver speed, parity, etc.
  • Uninstalling and re-installed Arduino IDE
  • Rolling back the board manager for AVR boards to 1.20 and 1.19
  • Change programmer to AVR ISP

Here is the output:

Arduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Uno"

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.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xc7
Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Here is the verbose output:

Arduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Uno"

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\kanan\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\kanan\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b115200 -D -Uflash:w:C:\Users\kanan\AppData\Local\Temp\arduino_build_835373/BareMinimum.ino.hex:i 

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

         Using Port                    : COM5
         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=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xd5

avrdude done.  Thank you.

Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I am not attempting to install the beta version of the arduino ide, but I am not betting this will work.

I feel like I have tried everything that is reasonable, and more than most people would think to try, what am I missing?

------------- UPDATES --------------

I have now moved away from the arduino IDE and am working directly with avrdude. Still no luck. Running:

avrdude.exe -p m328p -c arduino -P COM6

fails.

I also tried it on my Fedora 27 box. Here is dmesg output:

[349004.632101] usb 2-1.5: new full-speed USB device number 5 using ehci-pci
[349004.711497] usb 2-1.5: New USB device found, idVendor=1a86, idProduct=7523
[349004.711503] usb 2-1.5: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[349004.711507] usb 2-1.5: Product: USB2.0-Serial
[349004.713405] ch341 2-1.5:1.0: ch341-uart converter detected
[349004.714652] usb 2-1.5: ch341-uart converter now attached to ttyUSB0

then I ran this:

$ dmesg | grep tty

And got this:

[    0.000000] console [tty0] enabled
[    0.781927] 00:06: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[   14.034377] usb 2-1.5: ch341-uart converter now attached to ttyUSB0

I then run this:

$ avrdude -p m328p -c arduino -P /dev/ttyS0

and get this:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done.  Thank you.

At this point I also tried

$ avrdude -p m328p -c arduino -P /dev/ttyUSB0

Same result. At this point it seems to me I have a few fried arduinos. They were fine yesterday, but today, they're toast. Three computers, three cables, three arduinos, all the same result.

So, from here. Has anyone heard of a bad cable frying an arduino?

  • You've tried swapping everything I can think of. Does "Using a brand new out of the box Arduino Uno" mean you've swapped that too? And if not, can you? When you swapped ports, did you correct the port-assignment in Tools | Port? "Change programmer to AVR ISP" - ? this is what it should be if you're trying to program via USB cable. – JRobert Jul 1 '18 at 15:46
  • You can't upload the blink sketch too? – Ayush Chadha Jul 1 '18 at 16:31
  • did you try a different computer? – Juraj Jul 1 '18 at 16:42
  • Interestingly I did try a different computer, with a different cable and the new mega I had just opened. Strangely, I got the same error. I'm feeling a bit cursed at the moment. – Beachhouse Jul 2 '18 at 0:33
  • test on the other computer with Arduino IDE. on Windows make sure that CH340 driver is installed (your linux outputs indicate CH340). on linux make sure you are in dialout group – Juraj Jul 2 '18 at 12:05
1

Since your USB ports likely work for other things (like your keyboard) and you have tried several arduinos, cables etc, now try Knoppix - it has both Arduino IDE (not the most recent version) and avrdude. https://unetbootin.github.io or https://www.pendrivelinux.com/install-knoppix-6-to-a-usb-flash-drive-in-windows and http://www.knopper.net/knoppix-mirrors/index-en.html

If it does not work, have a look through the boot log, or more quickly dmesg after plugging your arduino in and trying an upload.

Worth noting: the 328p target is not correct for mega, use e.g.: avrdude -vv -p atmega2560 -b115200 -c wiring -P COM3 or avrdude -vv -p atmega2560 -c wiring -P /dev/ttyUSB0. Omitting -b115200 should be no problem with the mega. Try this before torturing yourself further...

If you still get errors, and have not fiddled with clockspeed or anything else, it will be very strange indeed.

  • I actually have Fedora box here, let me try it on there. – Beachhouse Jul 2 '18 at 0:09
  • @Beachhouse What if you connect using putty/minicom and punch in a string of characters? Does the RX led blink? Is it a different PC? Have you tried burning a fresh bootloader to the arduino? Have you played with the fuses? Have you tried manual reset of the board just before upload? – user2497 Jul 2 '18 at 2:44
  • If you have an FTDI chip, try setting it to 5V (3V3 works for me on 5V boards, though), and connect RX to TX, TX to RX. Then press reset before upload. – user2497 Jul 2 '18 at 2:52
  • @Beachhouse Don’t use 328p target with avrdude; use atmega2560. See my edited answer. – user2497 Jul 2 '18 at 12:19
  • Scratch my last comment. TX does blink when I send data from serial monitor. @user2497 I saw your comment, I had been adjusting the chip for the direct commands, but thank you. – Beachhouse Jul 2 '18 at 12:23
-1

I'm an idiot.

I should have looked more carefully.

Because I have used these boards so extensively, I figured that I knew the dip switches by heart. Everything started to go wrong when I got confused switching from the Uno to the ESP.

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

DIP switch positions

Meaning this DIP switch pattern is for the ESP: UNO DIP Switch Settings

And This is for the UNO:

UNO DIP Switch Setting

THANK YOU ALL FOR THE TIME AND EFFORT YOU PUT IN TRYING TO HELP ME!!!

tldr: Check your DIP switches.

  • add to tl;dr: mention DIP switches in OP... – user2497 Jul 4 '18 at 19:03
  • Touché my friend – Beachhouse Jul 5 '18 at 10:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.