Arduino GPRS shield caught fire

Hi!
So far two GSM Arduino Shields get on fire in my house.

The first one, on september.
The system has worked since June a lot of time always with usb power.
I connected it to a wall power adaptor (12V-0,5A) and the system doesn't work properly and it smell just a bit like something was burning. As I was doing a demostration and I was sure the system is working, I plug it to another power adaptor (12-2A) and it it came on fire at the same moment of connecting.
In despite of designers of GSM shield, this time I must say I'm not sure to have connected a circuit well enough because I've connected the circuit without verifying twice or three times before connecting.

The second Arduino shield burned last week.
This time I'm completey sure that everything of my part was ok.
The system was working properly attached on a computer for usb power supply.
I decided to test it with a battery and I simply disconnected the usb and, with the barrel connector (power on center, ground surrounding), I gave power from a Yuasa SW280 12 V battery and it was on fire and the same moment of connecting.
I know that's unbelievable but these two arduinos burned when I was showing my system at the same person. What I said to him? "I don't understand, I don't know what could happen, I'm very disappointed.."

In both cases, maybe a information important for those pretending to reproduce the situation: the fire comes at the same moment of connecting.

This week I've received new Arduino GSM shield (I've spend money on them) but I confess I'm very afraid to connect it and I've not done so far. This time I see there is a diode in paralel to the capacitor that always explodes.
The worse is to think if the system remains alone with nobody in the surroundings and we can have a big fire.

My wife said not to try to let this devices connected if I'm not with them.

That's life, (very disappointing with scenes like these)

Santi

sromeu:
I gave power from a Yuasa SW280 12 V battery and it was on fire and the same moment of connecting.

Hey Santi, I bolded the likely source of your problem, at least on the second time. Most fully charged 12V batteries will actually be closer to 12.6V! This might have been high enough to blow the capacitor if what I read was correct.

ok,
but in my case this is an old battery (I've got it from an ups that had the batteries renewed) and with my needle voltimeter shows 12 V or a bit less (I don't know if there could be a transient initial peak that I can't mesure).
In any case, 12,6 I found there's not very much high in order to cause fire.
There's a lot of batteries working at 12 V (or a bit more), even those in cars. I can understand if I exceed 12 V there will be a mismatch or malfunction, but I think threre's no acceptable and not enough reason to have fire.

After burning my first shield I looked for information about this in internet and I didn't find it. For that reason I thought in my possible mistake and since then I take special attention to making the connections.
Just today, as I'm afraid to connect the new GSM shield, I've looked again for burning these devices in internet and I've found this discussion.

The purpose of my message is just to let everyboy know and, if possible, avoid other people to have the situation I had and also to improve the design of the shield.
If the things must be as they are, I think this fact must be explained in the information of the product as important information.

For the moment, I will power the Arduino only at 5V, but even with this decision I'm afraid, because after my experience I feel these device as potentially dangerous.

Thanks for the attention.
Santi

PedroDaGr8:
Hey Santi, I bolded the likely source of your problem, at least on the second time. Most fully charged 12V batteries will actually be closer to 12.6V! This might have been high enough to blow the capacitor if what I read was correct.

How about reading up on what role the capacitor has, before coming with suggestions ?

The capacitor in question sits on the 5V-rail, and therefore the input voltage to the 5V-reg is not important.

// Per.

I have no idea, but I supposed a possible malfunction of the regulator for voltage higher than 12 V

sromeu:
I have no idea, but I supposed a possible malfunction of the regulator for voltage higher than 12 V

The guy that designed the shield put a 6,3V part on a 5V-rail, which is not adequate. He should have put a 10V-rated part on the board instead.

// Per.

Ok, I've just bought a GSM shield and some Googling brought me here. Not what I wanted to find out.

I'm wondering if anyone can offer an explicit solution to those of us who have the shield already. As James points out in his blog post:

There’s really only two options for the board:
Replace the 6.3V Rated Part with a 10V Rated part. This may not be possible given the capacitance value.
Replace the part with a Polymer. Again, limited by the cap value (the largest 6.3V Polymer I know of is 1500µF).

So the two options are neither one apparently very practical given the limitations stated. Is the bottom line that we should simply return our GSM shields and try to get a refund?

Soldering/desoldering is not a problem for me. Is there some reasonable combination of capacitors that could perhaps be installed in parallel somehow? I say reasonable because I don't see much on DigiKey that looks very practical from a size/cost point of view.

There are reams of discussion on this issue in the comments to some of these blog posts but after having pored through it all I don't actually see any specific instructions for correcting the problem that refer to literal part numbers or actual experience with a fix.

LukeZ:
Is there some reasonable combination of capacitors that could perhaps be installed in parallel somehow?

The problem is that for the size available and the capacitance needed, there aren't many options. For the near future, Tantalum capacitors (MnO2 or Polymer) are the most volumetrically efficient options, which is why they stick around.

This is the closest Polymer Part (6.3V is very safe to use on a 5V rail). It's 1500uF instead of 2200uF, but half the ESR and almost half the width:

The downside is that it's a relatively expensive part.

Thanks James, that's exactly what I needed. I was looking for polymer caps on DigiKey but wasn't sure I'd found them; with that part number I was able to find where they were hidden, and actually I see now that "polymer" is an option in their parametric search for tantalum caps.

Well ten bucks is a lot for an SMD cap but the shield cost more than a hundred to begin with, and my truck cost many thousands (that's where this is going), so I'd be losing a lot more that ten bucks if a fire broke out.

Pardon my noob-ness, I don't know much about different capacitor types, just generally what a capacitor does. Is there any reason, other than form factor, that we couldn't use an aluminum electrolytic for this purpose? Certainly you can get very high capacitances at high voltage ratings for very cheap, but maybe there is something about that type that is unsuitable to this purpose.

However we use electrolytics as backups in RC planes for exactly the same sort of situation - current spikes on the main power source (battery) that would cause the receiver to brown out, if not for the capacitor to power the device. This sounds very similar to the description given on the Arduino GSM page for why the orange cap is on the board.

LukeZ:
Pardon my noob-ness, I don't know much about different capacitor types

My job is to educate about capacitors and I meet people who have been engineers for decades who learn something new. So everyone is a noob. Capacitors are the most misunderstood "simple" device.

LukeZ:
Is there any reason, other than form factor, that we couldn't use an aluminum electrolytic for this purpose?

My guess is that for this application, form factor is why an aluminum electrolytic wasn't used. Wet-Lytics generally have a pretty tall height associated with them, so that would mean a non-stackable shield.

The reason for this particular cap is probably because when the GSM radio goes active, it needs a sudden surge of current, which the dry-lytic (tantalum) provides.

Thanks again for that explanation. In my case, room is not an issue so I am tempted to solder an electrolytic in the place of the tantalum. The solder pads are huge and I can bend over the cap so it lies flush with the top of the shield. Will look strange, but that doesn't bother me.

Actually I am using this with the Mega and because of the design of the GSM shield as well as the design of some of my other shields, it won't be possible to have the GSM shield on the stack anyway. Thankfully the GSM shield doesn't require many pins itself so I will just mount it off to the side.

Since it's going to be detached anyway, I am tempted to power the GSM shield with a dedicated 5v supply distinct from the Arduino, but with a common ground. The Arduino regulator is limited in the current it can provide but I can easily make a 5v, 2A supply just for the GSM. This should also make the capacitor in question somewhat less critical in terms of total capacitance.

I can't think of any negatives to this approach but if I am missing something I hope someone will tell me.

I really have a hard time figuring out why such a big capacitor is used on the board, I have been working with the SIM900-module, and the requirements for the power supply isn't as crazy as that:
http://zapro.dk/public/PDF/AN_SIM900%20Reference%20Design%20Guide_V102.pdf
Look at Page6 in the PDF.

I've made a simple Breakout-board for the module during hardware development, and i've found absolutely no problem with the stability of the VBAT-suppply.

In the end i'm going to power the module off a protected Lithium-cell (Nokia cellphone battery) with a suitable Lithium-charger IC. Such a protected pack is foolproof - any abuse will make the electronics in the pack shutdown and prevent anything nasty. It wouldn't be any worse than leaving a Cellphone or iPod in the car, plugged in.

// Per.

LukeZ:
Since it's going to be detached anyway, I am tempted to power the GSM shield with a dedicated 5v supply distinct from the Arduino, but with a common ground.

Actually, looking at the shield schematic, it appears I can drive the GSM shield through the VIN connection with up to 20 volts (this is what the onboard LMZ12002 regulator can accept). Since my shield won't be connected directly to the Arduino power, I think I can power it straight from the car battery (~12v). In that case I don't believe the capacitor in question will ever even come in to play. So far as I can tell it is only to buffer the +5v input.

Out of curiosity I'm trying to make out what the whole arrangement of transistors / mosfets is for on the shield schematic, that leads into the shield's regulator. I'm assuming it restricts the shield to either +5V or VIN but not both, and chooses one over the other somehow.

LukeZ:
Actually, looking at the shield schematic, it appears I can drive the GSM shield through the VIN connection with up to 20 volts (this is what the onboard LMZ12002 regulator can accept). Since my shield won't be connected directly to the Arduino power, I think I can power it straight from the car battery (~12v). In that case I don't believe the capacitor in question will ever even come in to play. So far as I can tell it is only to buffer the +5v input.

Hey LukeZ, does your solution work? I've recently bought a GSM shield from RS and I've just read this discussion, I've got the orange guy on my board and I'd like to minimize the risk.
Somewhere I also read about cycling power some times to make it more robust, if doesn't go flambé in the meantime.

BTW, there isn't any note on the GSM shield page about this issue I'd appreciate a refound for my board while looking for another GSM shield.

Thanks for sharing.

I can't think of any negatives to this approach but if I am missing something I hope someone will tell me.

One thing to be careful about when two or more sub-systems use separate DC voltage sources is what can happen if some of the voltage sources are turned on and some are turned off. Current can flow to/from input pins in unpowered parts and even pretty small amounts of current can damage clamping diodes and such.

alekseevic:
Hey LukeZ, does your solution work? I've recently bought a GSM shield from RS and I've just read this discussion, I've got the orange guy on my board and I'd like to minimize the risk.

Yeah, running power through VIN seems to work though I've only tested the shield by itself on the bench and not with the Arduino in the final application.

retrolefty:
One thing to be careful about when two or more sub-systems use separate DC voltage sources is what can happen if some of the voltage sources are turned on and some are turned off. Current can flow to/from input pins in unpowered parts and even pretty small amounts of current can damage clamping diodes and such.

I have not heard of this before, and would be somewhat skeptical but you have 16k posts! In my case the two boards should power on and off and roughly the same moment, but for the sake of understanding this better: let's say I have an Arduino with a digital input pin that reads 0 or 5v. The Arduino is off but there happens to be 5V on the input pin (common ground). This will damage my Arduino??

Or another situation is where you have a powered serial device hooked up to a non-powered Arduino, this would damage the serial pins on the Arduino?

LukeZ:

alekseevic:
Hey LukeZ, does your solution work? I've recently bought a GSM shield from RS and I've just read this discussion, I've got the orange guy on my board and I'd like to minimize the risk.

Yeah, running power through VIN seems to work though I've only tested the shield by itself on the bench and not with the Arduino in the final application.

retrolefty:
One thing to be careful about when two or more sub-systems use separate DC voltage sources is what can happen if some of the voltage sources are turned on and some are turned off. Current can flow to/from input pins in unpowered parts and even pretty small amounts of current can damage clamping diodes and such.

I have not heard of this before, and would be somewhat skeptical but you have 16k posts! In my case the two boards should power on and off and roughly the same moment, but for the sake of understanding this better: let's say I have an Arduino with a digital input pin that reads 0 or 5v. The Arduino is off but there happens to be 5V on the input pin (common ground). This will damage my Arduino??

It can. When the arduino is powered off, it's Vcc goes to zero voltages, then when an external voltage source signal being applied to a digital input pin it will forward bias the pin's clamping protection diode causing it to conduct current. These diodes are only rated a 1 milliamp or less. It's some times called parasitic power as the arduino will actually try and power up the whole chip via that clamping diode conducting.
Lefty

Or another situation is where you have a powered serial device hooked up to a non-powered Arduino, this would damage the serial pins on the Arduino?

Other than powering devices on at the same time (although even then there is always bound to be time differences of at least a few milliseconds), is there any practice recommended to somehow protect against this? It just seems like having power on one side of an equation is something that is going to happen all the time.

LukeZ:
Other than powering devices on at the same time (although even then there is always bound to be time differences of at least a few milliseconds), is there any practice recommended to somehow protect against this? It just seems like having power on one side of an equation is something that is going to happen all the time.

One method is to wire series resistors at all the digital input pins sized to limit current flow to be less then the maximum clamping diode current rating.

Lefty

To determine that resistor size would require knowing how much current the chip wants to draw from the pin, which is something it "shouldn't" want to do in the first place. This could be a deep rabbit hole and I think is getting off topic from this thread, so I'll leave it there. Thanks for the warning though.