So playing around with an arduino uno, I was powering it with a 12volt battery (putting power between Vin and Gnd) and I fat fingered the battery terminals, putting them in reverse (oops)

I see smoke coming out of the 5 volt regulator (the little 3 pin IC). I immediately pull out the battery thinking I've just bricked this thing.

After a minute or two I plug the battery in again (taking care to plug it in straight this time) and to my surprise it works, works pretty well. The last sketch I uploaded works perfectly fine.

I've been using the same thing for an hour or so. But now I wanted to upload another sketch and it doesn't upload. The voltages seem to be fine, I'm putting in 11.8 volts on Vin, there is 5.12 volts on 5v and 3.34 volts on 3v3

I thought there may be some problem with the voltage regulator, so I tried connecting it directly to the USB (powering it from USB) but still the same thing.

I find it intriguing that it works perfectly for everything except uploading new sketches, especially after such an explosive oopsie. Can any of you chaps deduce what the problem might be? I have a USBasp module so I can reburn the bootloader, but I doubt that's the problem.

  • You've blown the USB communications IC. CH340/341 or FTDI or PLxxx or whatever. Hook a USB-Serial adapter (uh, CH340/FTDI based, ironic, I know) to D0/D1 pins of Uno, also the ground lead to the Uno ground pin, and voila! you're back in business. How do I know this? I've done it twice... Different errors though, I'm not a complete idiot!)
    – lornix
    Dec 27 '16 at 11:58

The atmega328 that runs the sketch is fine, but the communication is broken somehow. See the steps in https://arduino.stackexchange.com/a/13293/6628

  • Good find, I tried doing the serial test (shorting reset to gnd and then connecting tx to rx) and it seems to work fine (in that communication happens). I'd deduce that the problem is happening between the USB controller (the little atmega chip) and the main controller (the atmega328). I'd have to search through the schematic to find it, but for now I've just uploaded the sketch directly, using ICSP.
    – Khurram
    Mar 6 '16 at 19:27
  • Just remember that by programming using ISP you overwrite the bootloader, so you need to put that back when to determine if you fixed the board.
    – Gerben
    Mar 6 '16 at 21:09

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.