I have been working on a couple of different Arduino projects this year. Occasionally I will start getting failed upload errors on a board (Arduino uno) and when I look in my device manager (windows 10) it looks like the board is not being recognized properly.
I have tried to update the driver by letting windows select the best option.
I have tried manually by selecting files from here C:\Program Files (x86)\Arduino\drivers
both times it tells me that the best driver is already selected
I now have 3 boards that are bricked like this
Also of note this same error shows up if I try it on a different computer as well.
All of these Unos were working at one point - then just stopped working. I have investigated for a few hours, but end up just usually buying a new board. But this is three this year and I would like to understand what the hell is going on.
Would a failed/corrupted bootloader cause this kind of issue?
No, a failed/damaged 16u2 serial adapter would though.
The 16u2 serial adapters used on the official boards seem failure prone; people have reported failures in circuits that should be completely fine, in cases where external power is connected or removed while on USB and/or where inductive loads are involved - I suspect the 16u2 is for some reason very sensitive to abuse of the 5v rail.
The clones which use CP2102 or CH340G seem to be much less susceptible to this failure mode.
I am 3 for 3 on circuit boards - thats pretty bad. Do you know if there is a way to fix it or am I shit out of luck. Alternatively what manufacturer should I buy from?
ghornet:
All of these Unos were working at one point - then just stopped working. I have investigated for a few hours, but end up just usually buying a new board. But this is three this year and I would like to understand what the hell is going on.
I would try to figure out whether you are doing anything to these boards that is subjecting them to harmful conditions.
ghornet:
I am 3 for 3 on circuit boards - thats pretty bad. Do you know if there is a way to fix it or am I shit out of luck.
If it's only the USB to TTL serial adapter chip that's bad, the simplest workaround is to connect an ISP programmer to the boards and upload sketches to them via Sketch > Upload Using Programmer instead of the standard Upload. If you don't own a dedicated ISP programmer, you can use a spare working Arduino board as an "Arduino as ISP": https://www.arduino.cc/en/Tutorial/ArduinoISP
The downside to this is that you won't be able to use Serial.println(), etc. to communicate with the Serial Monitor on your computer. Since that's something that's commonly used for debugging Arduino code, I don't think this solution is a good idea for a board that you're going to be using for development work. However, if you have a finished project where you just need to upload a sketch to a board and that's it, it could be a great way to still put these boards to use.
This isn't to say that's the only possibility. Here are some others:
Get the USB to TTL serial chip working again. If the USB to TTL serial chip is an ATmega16U2, it's possible that the problem could be caused by corrupted firmware. You might be able to fix this by flashing the firmware to the chip again.
Replace the USB to TTL serial chip with a new one. How difficult that will be depends on which package the chip uses and your soldering skills and equipment.
Connect a USB to TTL serial adapter cable or module (AKA "FTDI") to the 0 and 1 pins of your Uno and use that for uploads and communication between the Uno and your computer. This could be an easy, if ugly solution, unless the messed up USB to TTL serial chip on the Uno is somehow interfering with those pins.
Replacing the 16u2 is very hard, as it's a QFN part; you'd need hot air reflow. I've seen a few people attempt it on here, but none of them reported it working afterwards, so I can't recommend trying it.
You can get cheap CH340G based clones on ebay (note - depending on OS version you may need to download separate drivers for the CH340G); I use cheapo ebay clone boards most of the time.