Arduino GPRS shield caught fire

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.

LukeZ:
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.

For my application having different tensions isn't so easy, so I was thinking about 12V both for Arduino and the GSM shield but in parallel. Sounds good to you?
I can manage to have a 5V line for the Arduino itself and a 12V one for the GSM shield, but only if not possible in other ways.

Thanks for sharing LukeZ, I really appreciate it.

Yes, 12v to VIN for both should work fine.

Both the 5v (from the Arduino regulator) and the VIN pins are connected to the GSM shield. As best I can read the schematic, if the GSM shield detects 5v on the 5v pin, it will try to use that instead of VIN, and this is when the capacitor comes into play. If you cut (or bend out of the way) the 5V pin from the Arduino to the shield, then the shield will be forced to use VIN. At that point we have exactly what you propose: 12v to both devices in parallel, and each device will use its own on-board regulator.

I'm not the expert on this stuff so I hope others will confirm but this seems correct to me.

I agree with you Alek, Arduino really needs to put a note about this issue on the wiki page.

LukeZ:
Yes, 12v to VIN for both should work fine.

Both the 5v (from the Arduino regulator) and the VIN pins are connected to the GSM shield. As best I can read the schematic, if the GSM shield detects 5v on the 5v pin, it will try to use that instead of VIN, and this is when the capacitor comes into play. If you cut (or bend out of the way) the 5V pin from the Arduino to the shield, then the shield will be forced to use VIN. At that point we have exactly what you propose: 12v to both devices in parallel, and each device will use its own on-board regulator.

I'm not the expert on this stuff so I hope others will confirm but this seems correct to me.

I agree with you Alek, Arduino really needs to put a note about this issue on the wiki page.

as far as I can see, I think that it is the contrary : if VIN is there ( and > 5V) , it is used instead of 5V :
edit : here is how I understand it (short version :wink: )
If Vin is applied (and > 5,7 V) :

  • Q5 is ON, which makes T1 Gate high -> T1 is off (which makes sure that no current will flow back in +5V supply from PWRIN which is at a higher voltage) .
  • Q5 ON makes Q6 ON, which puts T2 Gate à 0V -> T2 is ON -> PWRIN is at VIN voltage -> LMZ12002TZ 's VIN is at VIN voltage

You may be right, and hopefully so. As I mentioned before, I really can't make out what is going on with the power input transistors and mosfets leading into the shield's regulator.

Cutting/removing the 5V pin to the shield may then be unnecessary, but wouldn't hurt.

LukeZ:
You may be right, and hopefully so. As I mentioned before, I really can't make out what is going on with the power input transistors and mosfets leading into the shield's regulator.

Cutting/removing the 5V pin to the shield may then be unnecessary, but wouldn't hurt.

sorry, while you were writing, I modified my post to add the way I understand the schematic

As there are no recent posts on this interesting theme, I have to say that the GSM shield recently bought, has a zener diode soldered in parallel to the problematic capacitor. So, I think this kinda solve the problem.

Would love to see a pic from this new board. Any Specs to the diode?

Best regards

Hi,

sorry for this late response.
Here https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRsx7i6S0QzynAEEK6EIvl_opmtTw4mfAHcTQHte_XGUloDbfUdVQ you could find a photo of this zener diode soldered in parallel of the tantalum cap.
Tonight, when I get back home, I will check again what was the exact number of the diode and will post here it's data sheet.

Regards,

Erik