Arduino Forum

Using Arduino => General Electronics => Topic started by: ddewaele on Sep 14, 2013, 01:43 am

Title: Arduino GPRS shield caught fire
Post by: ddewaele on Sep 14, 2013, 01:43 am
Hi,

In short - I had my Arduino GPRS shield blow up on me. Catching fire and everything.

As this was obviously a serious malfunction, I'm trying to figure out what went wrong, get a better understanding of it all and see how I can avoid this in the future.



The setup is an Arduino Mega board with the Arduino GPRS shield and an OBD2 Shield.

The setup is powered through the OBD2 Shield (12V input). That shield has a 5V regulator that can handle up to 150mA, some of it is used by the shield while the rest can power the Arduino board + other shields.

The docs of the OBD2 shield state : Use it with caution if you are sure your total power will stay under 150mA. 
(I guess I should interpret this as making sure the setup should not surpass 150mA ?)

At the time when the setup caught fire the following jumper wires were present that could have potentially short-circuited if they touched. I was in a hurry to test so I didn't check them properly as I usually do.



Could a short-circuit on these wires have caused the GPRS shield to catch fire ?  Or should I look in the direction of the power supply ?
Title: Re: Arduino GPRS shield caught fire
Post by: CrossRoads on Sep 14, 2013, 01:50 am
I'd say power supply.
You had a clean 12V?
Title: Re: Arduino GPRS shield caught fire
Post by: SirNickity on Sep 14, 2013, 02:01 am
These things can be tough to track down, since the event could have been a wiring or power supply error on your part, a transient event, a flawed component, or who knows what.

Can you get a picture?  It might help trace the parts in the line of fire, but other than following the directions and double-checking your work, it may not be 100% possible to prevent similar failures.  Somethings things just break.
Title: Re: Arduino GPRS shield caught fire
Post by: alnath on Sep 14, 2013, 02:02 am
Quote
The docs of the OBD2 shield state : Use it with caution if you are sure your total power will stay under 150mA.  
(I guess I should interpret this as making sure the setup should not surpass 150mA ?)


Which GPRS shield is it ?
The GPRS shields I know sink far more than that at start-up and during short transmission bursts .
Title: Re: Arduino GPRS shield caught fire
Post by: 1ChicagoDave on Sep 14, 2013, 03:56 am
If you're talking about the Arduino GSM shield....I believe that's a 2200uF polarized capacitor you blew.
Only two sure ways I know to blow polarized capacitors.
What power supply did you use?
What is the polarity of the barrel connector?
Title: Re: Arduino GPRS shield caught fire
Post by: cmiyc on Sep 14, 2013, 04:12 am
Assuming you are talking about the Official Arduino Shield...

Looks like they used a Vishay 6.3V rated MnO2 Conformal Tantalum on the 5V rail.  Unfortunately, MnO2-Tantalums need 50% voltage derating (or special handling after reflow) or they will fail short and ignite.  So there isn't enough derating.

If they had used a 10V part or a Polymer-Tantalum (which only need 10% voltage derating after reflow), then it wouldn't have happened.
Title: Re: Arduino GPRS shield caught fire
Post by: cmiyc on Sep 14, 2013, 09:02 am

I'm trying to figure out what went wrong

Assuming you didn't cause a reverse polarity or an over-voltage event, you probably didn't do anything wrong.

In addition to my above post, I put this together to help explain why you (and likely others) will see the same thing happen:
http://www.baldengineer.com/blog/2013/09/13/ouch-the-arduino-gsm-shield-has-a-pretty-serious-design-flaw-with-its-capacitors/
Title: Re: Arduino GPRS shield caught fire
Post by: ddewaele on Sep 14, 2013, 09:54 am
Thanks for all the responses. I really value the feedback.

Regarding power-supply :

It was hooked up to a car using an OBD-II cable. Pins were properly connected (ground and vbat) on the OBD-II shield.  The OBD shield is designed so that it can be powered through that cable. It has been running like that before in the past for several hours straight without any issues.

Before it blew, The car was turned on (but the engine was not running). I did receive a warning on the dash that the car battery was low, resulting in the car turning off bluetooth ,  something I never had happen before. So something was draining power. I had the car turned on like that for about 20 minutes.  I'll try to verify today if the OBD shield is still working.

Regarding the wiring :

The only wiring that might have been flawed are the pins I mentioned in the original post. I would assume that shorting those could cause damage to the pins, but I don't know if it could result the shield catching fire. I don't know enough about electronics in general to make such assumptions. In the flickr stream you can see a picture where the 2 shields are stacked. Notice the 3 wires that are not connected (but were replaced with jumper wires). These wires could have shorted in theory as I didn't clean them up properly. Again, if this could be the root cause I don't know.

I've added some other pictures here :

http://www.flickr.com/photos/48063721@N02/sets/72157635506958587/


Title: Re: Arduino GPRS shield caught fire
Post by: DanDare on Sep 18, 2013, 07:33 pm
Hello there folks,

I have this Arduino GSM module. Had some tests on it but did not used it extensively (e.g. for long periods of time). I didnt knew this aspect of tantalum caps as James pointed out. For what he stated and other reliable sources I checked it really seems there's a problem in the shield design in regard to that capacitor, so for me it's clear thats really the most probably cause of such incident. A friend told me other guy reported the same issue in the freenode's Arduino channel.

More info about tantalum detail:

http://www.kemet.com/kemet/web/homepage/kfbk3.nsf/vaFeedbackFAQ/C24799F84F99A11885256D91005E7F41/$file/Derating_differences_Ta_KO_AO.pdf

http://www.avx.com/docs/techinfo/newtant.pdf

http://dkc1.digikey.com/es/en/tod/Kemet/tantalumcapacitors_NoAudio/tantalumcapacitor_NoAudio.html

Salute !!
Title: Re: Arduino GPRS shield caught fire
Post by: SirNickity on Sep 18, 2013, 09:55 pm
Wait... if a cap needs 50% voltage derating to be safe, ... uh ... why isn't it just rated at 50% of its "rated" voltage?  I know you're not supposed to engineer up to the red line, but a 100% margin?  That doesn't make much sense.

EDIT:  Never mind.  Read the well-written and very informative blog post linked above.  XD
Title: Re: Arduino GPRS shield caught fire
Post by: DanDare on Sep 18, 2013, 11:31 pm
Hi SirNickity,

Yeah, it's all explained. Despite of that anyway I do concur with you that's not ideal (the ratings), because it's a know fact among experts and manufacturers. Being a general advise for MnO2 tantalum caps it sounds more reasonable to change these caps ratings. I mean, no deal if something is rated based on the theoretical specifications but these same specifications doesn't apply to real world (as you pointed, a 100% difference from the recommended). It would help preventing mistakes like what happened in the shield. Well I'm not sure if it was a mistake or what because I'm just new to this information and maybe there are more details to consider to really tag it as a error in the design.

Anyway it was the second report I heard about this one cap catching fire (and it blew for ddewaele). People are commonly much near the boards while prototyping, despite not the recommended way of doing it, such event can hurt someone's eyes or bring fire on unattended experiments, what can be dangerous. I hope Arduino team fix this on future boards and issue a warning at the official shield page about the issue (if its really the case and it can be confirmed).

Title: Re: Arduino GPRS shield caught fire
Post by: pico on Sep 19, 2013, 05:38 am
Great piece of CSI sleuthing there, James. And thanks for those links, DanDare. Very useful info.

A quick back-of-the-envelope suggests that operating at increase the voltage rating from 6.3 to 10v would decrease the expected FIT (failures in time) by over 100-fold (134/1.05 = ~127).

Which (to me) actually suggests how _safe_ tants are (when used appropriately, of course!)

Anyway, great thread. And condolences to the OP for your situation! But, on the upside, it obviously could have been much worse -- car fires are never much fun. (I'm clearly in "glass half full" mode today... :-)

BTW, 2200uF is a big value cap. What role does ot play in the circuit, just out of interest?

The other thing that occurs looking at those blackened traces near the voltage regulators is that some over-current protection in the circuit would not go astray.
Title: Re: Arduino GPRS shield caught fire
Post by: cmiyc on Sep 21, 2013, 06:46 pm

A quick back-of-the-envelope suggests that operating at increase the voltage rating from 6.3 to 10v would decrease the expected FIT (failures in time) by over 100-fold (134/1.05 = ~127).

This is a big misconception about tantalumed-related failures.  FIT doesn't apply to this type of failure. 

FIT applies to wear-out of a component.  MnO2's dielectric breaking down due to de-rating is an infant mortality failure.  Infant mortality is a result of incorrect design (usage), manufacturing defects, or material defects.  It is not time related, as the name might suggest.



Which (to me) actually suggests how _safe_ tants are (when used appropriately, of course!)

The ironic thing about Tantalum is that if the dielectric layer is proofed (or healed) properly, it is actually an exceptionally reliable component.  We have done HALTs that suggest the wear-out time to be on the order of thousands of years.  In fact, we believe that the capacitive element itself will last that long, but the epoxy case won't.



BTW, 2200uF is a big value cap. What role does ot play in the circuit, just out of interest?

Cellular radios need significant power to run.  Its likely there to decouple the shield from the arduino's power supply.
Title: Re: Arduino GPRS shield caught fire
Post by: MarkT on Sep 23, 2013, 05:59 am
Standard GSM uses 8 timeslots, and typically a handset/module will only use one timeslot.  This means it transmits in bursts
for 12.5% of the time, perhaps using several amps peak, but only a few hundred mA on average.  The capacitor
helps provide the peaks if the power supply cannot (low battery), and could experience high ripple currents.

Does this grade of tantalum have a ripple current rating?  It might have been getting quite hot if inadequately
rated perhaps?

I've heard anecdotal stories about a company banning tantalum capacitors because of the consequences of
failure: http://en.wikipedia.org/wiki/Tantalum_capacitor#Thermal_runaway_and_self-destruction (http://en.wikipedia.org/wiki/Tantalum_capacitor#Thermal_runaway_and_self-destruction)
Title: Re: Arduino GPRS shield caught fire
Post by: leo72 on Sep 25, 2013, 10:30 pm
Are you sure that cap is a tantalum one?
It should be an aluminum organic polymer capacitor, I searched on web  the part code found in the schematic of the shield and got this kind of capacitor.
I don't know if this cap has the same derate issues like the tantalum. Do you know?
Title: Re: Arduino GPRS shield caught fire
Post by: cmiyc on Sep 26, 2013, 09:02 am

Are you sure that cap is a tantalum one?

Yes.  I recognize the part from the product photos.  It is a Vishay Conformal Coat Tantalum.  There's nothing else in that form factor with that color.  Plus, the part number given in the reference schematic is a Vishay conformal coat part number.


It should be an aluminum organic polymer capacitor

There is no organic polymer with 2200uF in that package.  It would have to be a V-Chip and at least 15mm tall.  I'm not sure what you are searching for...
Title: Re: Arduino GPRS shield caught fire
Post by: leo72 on Sep 26, 2013, 10:46 am

I'm not sure what you are searching for...

I got the part code from the schematic (http://arduino.cc/en/uploads/Main/arduino-gsm-shield-schematic.pdf) of the shield.
But I just checked only one of the part codes of C13, PCG0J222MCL1GS. This is an aluminum organic polymer capacitor.
The other code, 592D228X96R3X2T20H, effectively seems to bring the search to a tantalum capacitor (http://datasheetz.com/data/Capacitors/Tantalum/718-1403-2-datasheetz.html). You're right. Sorry.  :smiley-sweat:

Title: Re: Arduino GPRS shield caught fire
Post by: DojoDave on Sep 26, 2013, 02:45 pm
Hello,

this is mostly for ddewaele, but also for everybody interested in this thread.

From the moment we got reports about this problem, we went into checking:

a) whether we could replicate the situation

b) whether we could fix alternative designs based on the feedback we are getting from all of you guys

This is what happened.

Gianluca, Arduino's HW mastermind, went into checking with 30 GSM shields in parallel for hours to see if any of them caught fire. The result was negative.

Then he started trying out different scenarios of possible misconnections and the one in the attached picture is the only one that made the capacitor blow.

Gianluca did as well try to rise the voltage on the shield up to 12V and that didn't get the capacitors to catch fire.

That said ...

1) the fact that we didn't manage to replicate the event it doesn't mean it didn't happen. Therefore, we are really sorry for the incident and we invite ddewaele to send me an email to try to compensate him/her for the incident: d DOT cuartielles at arduino.cc

2) we take your feedback really seriously, however, there is no capacitors of the size we need and a higher voltage in the right format. Since we might have to change the design of the shield all together, this is what we are thinking as possibilities:

2.1) putting two smaller caps in parallel, but with a higher voltage rate

2.2) putting the capacitor after the regulator, it is 4,85 Volts we need to take care of, so the restrictions are different, it is also good because the input will then take up to 20 Volts

2.3) adding a current protection (polyfuse or similar), Gianluca is looking into this

Summarizing, we will look at this and make sure we make it good.

Thanks for the feedback and sorry it took us a couple of days to answer. It is crazy with all the Maker Faires and conferences at this time of the year (besides it is school time and some of us teach/study).

/d

Update: after posting this, Gianluca sent me an email with these two extra comments:

Quote
1) another option to let it explode is short circuiting Vin with 5V but it explodes only if Vin is>12V

2) For the next release [...] will add an extra zener for protection and also a polyfuse
Title: Re: Arduino GPRS shield caught fire
Post by: leo72 on Sep 28, 2013, 02:58 pm
http://www.mouser.com/ds/2/427/592d-222973.pdf
It seems that James centered the problem.
At page 8, you can see that the reccomended voltage derating guidelines set the operating voltage at 3V6 (output filter).
So this component seems to be inadequate. At least a 10V component should be used for an operating voltage of 5V (if we follow the datasheet reccomendetions).
Title: Re: Arduino GPRS shield caught fire
Post by: ddewaele on Oct 01, 2013, 11:29 am
Thanks for the response David, and great to see you're looking into the problem.

To make it clear, the shield wasn't hooked up as displayed in your picture :) 

As stated in my earlier post, the following wires could have touched (although not with the VIN)

2 wires (TX and RX) on the OBD2 Shield
1 GSM TX wire on the GPRS shield
2 wires (SCL and SDA) on the GPRS shield

I also don't see how something else could have short circuited the VIN.

Power was supplied by the cars battery through an OBD-II cable (12V using pin 16).
It won't have been a clean 12V, as it depends on the state of the car (driving / stationary) and the battery (fully charged or not). When it blew the car was stationary.
AFAIK it will have fallen in the supported input range.
The OBD-II shield that was connected with the OBD-II cable delivered that12V input directly to the VIN of the Arduino board (thus also powering the grps shield).

Again thanks for taking the time to have read my post and following up on it. Really appreciate it !
Title: Re: Arduino GPRS shield caught fire
Post by: sromeu on Nov 09, 2013, 08:42 pm
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
Title: Re: Arduino GPRS shield caught fire
Post by: PedroDaGr8 on Nov 09, 2013, 10:02 pm

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.
Title: Re: Arduino GPRS shield caught fire
Post by: sromeu on Nov 09, 2013, 11:38 pm
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
Title: Re: Arduino GPRS shield caught fire
Post by: Zapro on Nov 10, 2013, 04:38 am

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.
Title: Re: Arduino GPRS shield caught fire
Post by: sromeu on Nov 10, 2013, 08:45 am
I have no idea, but I supposed a possible malfunction of the regulator for voltage higher than 12 V
Title: Re: Arduino GPRS shield caught fire
Post by: Zapro on Nov 10, 2013, 12:37 pm

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.
Title: Re: Arduino GPRS shield caught fire
Post by: LukeZ on Nov 14, 2013, 12:58 am
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 (http://www.baldengineer.com/blog/2013/09/13/ouch-the-arduino-gsm-shield-has-a-pretty-serious-design-flaw-with-its-capacitors/):

Quote
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. 

Title: Re: Arduino GPRS shield caught fire
Post by: cmiyc on Nov 14, 2013, 02:27 am

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:
http://www.mouser.com/ProductDetail/Kemet/T545H158M006ATE035/?qs=sGAEpiMZZMtZ1n0r9vR22RYs%2fy2doQ8GJhbEtTBN0hg%3d

The downside is that it's a relatively expensive part.
Title: Re: Arduino GPRS shield caught fire
Post by: LukeZ on Nov 14, 2013, 05:06 am
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 (http://arduino.cc/en/Main/ArduinoGSMShield) for why the orange cap is on the board.
Title: Re: Arduino GPRS shield caught fire
Post by: cmiyc on Nov 14, 2013, 05:25 am

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.


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.
Title: Re: Arduino GPRS shield caught fire
Post by: LukeZ on Nov 14, 2013, 06:40 am
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.


Title: Re: Arduino GPRS shield caught fire
Post by: Zapro on Nov 14, 2013, 08:58 am
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 (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.
Title: Re: Arduino GPRS shield caught fire
Post by: LukeZ on Nov 14, 2013, 09:49 pm
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.



Title: Re: Arduino GPRS shield caught fire
Post by: alekseevic on Nov 26, 2013, 10:30 pm
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.
Title: Re: Arduino GPRS shield caught fire
Post by: retrolefty on Nov 26, 2013, 11:32 pm
Quote

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.

Title: Re: Arduino GPRS shield caught fire
Post by: LukeZ on Nov 28, 2013, 06:19 pm
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.

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?

Title: Re: Arduino GPRS shield caught fire
Post by: retrolefty on Nov 28, 2013, 06:29 pm

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.

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?


Title: Re: Arduino GPRS shield caught fire
Post by: LukeZ on Nov 28, 2013, 06:43 pm
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.
Title: Re: Arduino GPRS shield caught fire
Post by: retrolefty on Nov 28, 2013, 07:44 pm

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
Title: Re: Arduino GPRS shield caught fire
Post by: LukeZ on Nov 28, 2013, 08:01 pm
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.


Title: Re: Arduino GPRS shield caught fire
Post by: alekseevic on Nov 30, 2013, 05:15 pm


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.
Title: Re: Arduino GPRS shield caught fire
Post by: LukeZ on Nov 30, 2013, 06:55 pm
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.
Title: Re: Arduino GPRS shield caught fire
Post by: alnath on Nov 30, 2013, 10:33 pm

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 ;) )
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
Title: Re: Arduino GPRS shield caught fire
Post by: LukeZ on Nov 30, 2013, 11:15 pm
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.
Title: Re: Arduino GPRS shield caught fire
Post by: alnath on Nov 30, 2013, 11:29 pm

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
Title: Re: Arduino GPRS shield caught fire
Post by: ErikDimitrov on Mar 12, 2014, 10:30 pm
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.
Title: Re: Arduino GPRS shield caught fire
Post by: toonlumberjack on Mar 19, 2014, 08:45 am
Would love to see a pic from this new board. Any Specs to the diode?

Best regards
Title: Re: Arduino GPRS shield caught fire
Post by: ErikDimitrov on Mar 21, 2014, 02:45 pm
Hi,

sorry for this late response.
Here https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRsx7i6S0QzynAEEK6EIvl_opmtTw4mfAHcTQHte_XGUloDbfUdVQ (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
Title: Re: Arduino GPRS shield caught fire
Post by: ErikDimitrov on Mar 21, 2014, 10:06 pm
Hi again!

I am looking now at my GSM shield.
Just to make clear something, this is not a new board, I mean generally. There is just this zener diode added to overcome this design flaw.
Here http://www.futurlec.com/Diodes/1N5338B.shtml (http://www.futurlec.com/Diodes/1N5338B.shtml), you can check its characteristics.
The diode is 1N5338b.

Regards,

Erik
Title: Re: Arduino GPRS shield caught fire
Post by: toonlumberjack on Mar 24, 2014, 07:33 am
Ahh, this info helps a lot. Would you mind to take a pic from your shield? The pic you posted is so small.

Best regards
toonlumberjack
Title: Re: Arduino GPRS shield caught fire
Post by: ErikDimitrov on Mar 24, 2014, 06:50 pm
Sure,

an image is attached.  :)

Regards,

Erik