16

I very accidentally caused a short-circuit to two completely different cheap (under 4$ each) Arduino Uno clones, rendering Windows sound alert for unplugged USB several times.

This subsequently led to a problem with uploading code and not blinking green light on reset on both the Arduinos. Now, I am aware what this means but I am unable to see why this happens. I thought it has protection against that.

Is it normal for them to react like that so easily? How can I prevent this happening AGAIN?

Chris Stratton
  • 5,346
  • 17
  • 40
Edenia
  • 369
  • 2
  • 7
  • 2
    There are companies who sell "ruggedised" Arduino clones that are designed to withstand most bad things you can reasonably do to them without actively trying to break them. One I've had particular luck with is the Ruggeduino. Dunno if that's still sold, but just google it. – Muzer Jul 31 '17 at 16:30
  • 3
    **DO NOT** use the Arduino-UNO tag for other boards, and doubly so when the differences are likely related to the problem. – Chris Stratton Jul 31 '17 at 16:37
  • 4
    Which boards? What did you short-circuit exactly? An output pin to ground? See [Have I bricked my Arduino Uno? Problems with uploading to board](https://arduino.stackexchange.com/questions/13292/have-i-bricked-my-arduino-uno-problems-with-uploading-to-board/) - possibly the board can still be used in some capacity. – Nick Gammon Jul 31 '17 at 20:54
  • Beware there is the danger of frying your computer's usb ports with a short circuit (like I did a few days ago..) – Keith M Aug 01 '17 at 02:43
  • @NickGammon I didn't realise you were on here - the articles on your site taught me a tonne! I should spent some more time here; Arduino + Stack Exchange sounds like heaps of fun! :D – Clonkex Aug 01 '17 at 06:52
  • 3
    From the title, I was expecting a question about the health & safety hazards of placing dozens of arduinos side-by-side and igniting them like a chain of dominos. – Stevoisiak Aug 01 '17 at 13:43
  • @ChrisStratton we should replace the Uno tag with atmega 328, then. – tuskiomi Aug 01 '17 at 14:58
  • 2
    Stop causing short circuits. Fear the vibrating electrons. It helps if you shock yourself immediately after. – user2497 Aug 01 '17 at 20:42
  • @tuskiomi - no, that would be equally wrong. The problem is with the USB interface, or the power supply, probably not the ATmega328. – Chris Stratton Aug 06 '17 at 17:20
  • @ChrisStratton you and I both know that there is not enough detail in this question do make such deductions. – tuskiomi Aug 06 '17 at 17:32
  • @tuskiomi - untrue. The windows behavior is cased by a USB chip or power failure, not an ATmega328 failure. Windows will be quite happy with no ATmega328 even present on the board. Reality is that the CH340 is notorious for failing in this way, which strongly suggests that is what the poster has - technically not an "uno" clone at all. – Chris Stratton Aug 06 '17 at 17:34
  • @Edenia, It would be useful if you added a link to the exact boards you bought and also posted your schematic. – sa_leinad Aug 07 '17 at 04:38

4 Answers4

22

Measurements to prevent breaking an Arduino (or AVR in general):

Precautions

  • Always remove the USB or adapter plug when you make a change in the circuit.
  • Check all wires before you switch it on.
  • Remove or make sure (temporary) loose wires/jumpers do not touch other components or the Arduino (better take them out or 'park' them somewhere else in the breadboard.

Preventing wanted changes resulting in shortcuts

  • Check again the wires/jumpers you just changed/added.
  • Make sure no other components/wires/jumpers are touching the Arduino or the breadboard (components).
  • Clean your desk (if you have space), so if something metal falls/moves, it does not hurt your Arduino.
  • When changing a shield, always check all wiring to and from it, to your Arduino and the components on the shield itself if needed.

Preventing component shortcuts or overpowering

  • If you have a wire from a pin to GND or a pin to VSS, always make sure there is either a resistor, or you know why a resistor is not needed. This can also damage directly your Arduino.
  • Make sure that every component does not get more power than it can handle.
  • More specific: If you have components using 3.3V, make sure they don't get 5V.
  • If you have components using 3.3V, make sure they don't get 5V.

Preventing too much heat

  • Do not just put an Arduino in some case/enclosure ... heat may destroy it, so check before there is enough cooling, add a fan, heatsink or make holes in the enclosure.
  • If you connect any power source other than USB, check again if it does not generate unnecessary much heat. Unused voltage will generate much heat.

Preventing static electricity

  • Do not touch components when not needed
  • If you touch components, make sure you are discharged (touch a radiator, use a wrist band, use an ESD mat, touch grounded wire).

Preventing trivial mistakes

  • Do not keep drinks next to your Arduino or breadboard (or if you, keep it on the other side).
  • Watch out for heavy cables not dragging your Arduino from the table/desk ... a USB cable can easily drag an Arduino down.
  • Watch out when you change cables, not to pull your Arduino from the table/desk.
  • Keep animals (and people too, to your own judgement) away from your electronics project.
Michel Keijzers
  • 12,759
  • 7
  • 37
  • 56
  • 1
    I've been very scared when accidentally used a shield while a different-purpose program is loaded in the arduino. Like PWM program on a display or using gsm library incompatible with a gsm module I am using. Can this also be an issue? – Edenia Jul 31 '17 at 19:23
  • Yes I will add it ... if a sketch is putting 0V or 5V on a pin than several things can happen under the chapter Preventing wanted changes resulting in shortcuts – Michel Keijzers Jul 31 '17 at 19:33
  • Can't tell if this was intentional, but I like the "two rules of Fight Club" approach to your advice about supplying 5V to 3.3V components. – rob Aug 01 '17 at 23:06
16

I thought it has protection against that.

Genuine Arduinos do have some protection, yes.

Is it normal for them to react like that so easily?

Cheap rubbish? Sure. You get what you pay for.

How can I prevent this happening AGAIN..

Buy a real one. Also be more careful.

But at the price you pay for cheap clones, do you really care if they end up broken? You can buy many clones for each genuine one, and while a genuine one may last longer, when you do manage to kill it (they aren't that much more rugged, but some components are more reliable, such as the USB interface chip), which you seem adept at, you would be far more upset than if you'd killed a clone.

So I would suggest invest in one Genuine one for special projects, and to support Arduino (if no one buys Genuine boards there will be no Arduino), and a pile of clones that you can experiment and learn with. Blow them up at will, and when you are happy with your project transfer it over to the genuine board for showing off to people.

Majenko
  • 103,876
  • 5
  • 75
  • 133
  • 2
    I agree, although I think also for learning it might be better to use cheaper ones than burning real ones (although they have more protection). So far I burnt one and that was a genuine one (after putting it in a case and used a 12V adapter). – Michel Keijzers Jul 31 '17 at 15:36
  • 3
    That is fine if you are going to treat them as a disposable item. Use it a few times and throw it away. Personally I have two Uno R2 boards that I have had for many years and treated them like crud. They will work well. – Majenko Jul 31 '17 at 15:39
  • Actually I do, at least for now, until I'm getting more confidence in my electronics knowledge ... of course I try to be regularly safe. But it's always a trade off - buying a decent product which breaks less often or a 'cheap one' which breaks easily. – Michel Keijzers Jul 31 '17 at 16:38
  • Aren't there a little more expensive (say 10$) ones that are more secure. One mentioned Ruggeduino – Edenia Jul 31 '17 at 16:47
  • Ruggeduino is OTT protected (ruggedized) for industrial applications. – Majenko Jul 31 '17 at 16:59
  • 7
    I don't think even a supposedly superior "genuine" board would have protection on the I/O pins for instance, at least any of the popular standard ones. At most, they might be using a regulator that has better overcurrent protection. And it shouldn't be too hard to put a better regulator on a cheap Chinese board, and save a lot of money by avoiding boards where the price is 20% substance and 80% brand image. – Matti Virkkunen Jul 31 '17 at 18:40
  • 2
    @MattiVirkkunen The genuine Uno has a decent PTC on it. One has to question the quality (and thus efficacy) of the PTC (if there even is one) on a Chinese clone. Also you only have to cough in the same room as it and the CH340G dies. All adds up to far more fragility than a genuine one - and none of it is to do with the MCU. – Majenko Jul 31 '17 at 18:43
  • 4
    This is generally good advice, but keep in mind, there are exceptions. My first Arduino was a Chinese clone (cost about £3 and came with a USB cable too) but it has managed to outlive two genuine ones, even though I usually try risky things on it first. – DividedByZero Jul 31 '17 at 21:05
  • 4
    @AleksandurMurfitt The USB cable on it probably has so little metal in the power wires it acts like a resistor limiting the current and protecting everything ;) – Majenko Jul 31 '17 at 21:06
  • 1
    This would be a better answer in the opposite order. Someone who isn't following the basic rules can, and often will, fry a board within 30 seconds of taking it out of the box, no matter how "genuine" it is. There aren't all that many protections in the design — and speaking of regulators, aren't they still using those little SOT-223 ones that get blistering hot when you draw rated current at rated input voltage? There are also clones out there that have noticeably *better* builds. – hobbs Jul 31 '17 at 22:35
  • I disagree with buying a genuine one. I mean sure if you've got the money, go for it, but unless your goal is to support Arduino, just go to eBay and buy a Chinese-made Arduino. I get mine from eBay. The trick is to find the good ones. Start by limiting the search to your local country and setting Price Low > High. Find the ones with the DIP socket chip as they're usually better-made (not sure why), then find the cheapest one from a reputable seller (I'm in Australia, so I look for sellers that use solid English and take their own photos - my favourite seller is LearCNC, for instance). – Clonkex Aug 01 '17 at 06:48
  • @Majenko I've been using clones with CH340G chips for years, am not particularly careful with them, and have never had a related failure. I see several suggestions online that their internal power management is flaky and that they should therefore be used with an external regulator, but checking the clone boards I have that seems to be the way it has been done. As to the PTC, I'm not sure how to *test* it, but there definitely is a component labelled as one on the boards I have. All in all, I've had nothing but good experiences with clone Arduinos, so I'm really not sure what the issue is. – Jules Aug 01 '17 at 11:37
  • No need to be so racist. I'd rather buy Chinese electronics than Italian electronics - The Chinese knows what they are doing and have a _huge_ industry. – pipe Aug 01 '17 at 11:46
  • 1
    Your comment that you would rather buy Chinese than Italian is racist itself. @Majenko - it might be better to say "cheap clones" rather than insult a particular country. – Nick Gammon Aug 01 '17 at 12:01
  • Sure - a lot of them are coming out of Malaysia and Vietnam now anyway. – Majenko Aug 01 '17 at 12:56
  • Besides, China make *all* of my PCBs... – Majenko Aug 01 '17 at 12:56
4

Always use a series resistor when connecting anything to your IO pins. In many cases you will need one anyway (like driving a LED or a BJT), and in other cases it will not hurt (like driving MOSFET gates or UART lines). A 100 Ohm resistor will limit the current to 50 mA (keeping it within the safe range), while having little effect on your circuit in most cases.

Dmitry Grigoryev
  • 1,248
  • 9
  • 30
2

I have used a current limiter (a cheap LM317 will do) occasionally, though even 100mA will burn your devices. It is good practice to limit current.

Generally don't wire a live circuit. Pull caps from the breadboard as well. Eventually you can disregard this, as you become more adept. I burned 4 arduino clones in the first few months.

user2497
  • 311
  • 1
  • 9
  • You can't use an LM317 unless you have a substantially higher voltage power input. And it won't provide any protection against ESD type damage, which is more likely at issue here. – Chris Stratton Aug 06 '17 at 17:22