Big problems with restart

I’m doing a fleet monitoring project with the Fez spider kit + seeed gps & seeed gsm modules.
The problem is that the gsm module restarts the whole system when it doesn’t get enough power.
Specs on the sim900 module shows that it needs 2A during some peeks, and that it will restart if the current drops below 3,1V.
We have done everything we can through software (fixed different problems in the seeed drivers), but the problem seem to persist. Sometimes it helps changing the power module, the cables and mainboard.

Does anyone have a suggestion for a more permanent solution?
Maybe something like capacitors on an extender or something?


Are you powered from USB or power supply? If power supply then what voltage?

USB DP module is rated 800mA only so it may not be enough. What is the nominal current draw? It couldn’t be 2A.

Welcome to the community.

I’m using 24V power supply on the USB DP module.

Taken from the SIM900 (chip used on the gsm board) Hardware Design manual:

There is no spec or schematic on the gsm board i self, so i’m not sure how it’s power circuit is hooked up.

I have tried suppling the gsm module with it’s own 5V source, using an expander, which worked, but it’s not the most practical solution.
I have also tried adding a 4700nF cap (using a extender), which seemed to work in the beginning, but after testing it for a while, it showed not to be enough.

What if you use USB SP module and provide it with 5V at +2A?

I don’t have a SP power module, but i guess it’s the same as connecting 5V external supply to the USB of the DP module. This works most of the times, but not all.

I have now tried with a 10000nF cap on an extender between the gsm board and the spider, which seems to do the trick. (No restarts yet, crossing fingers).

The Eagle schematic files for the Seeed Cellular Radio module can be downloaded from the site (Modules/Seeed/CellularRadio/Hardware/1.0/ directory).

The module includes a 0.2F supercap to deal with the 2A peak currents. The capactior is charged through a current-limiting resistor to prevent it from drawing too much power and restarting the mainboard. However this means that the capacitor can take a long time to charge before it is ready to use. You can give time for the capacitor to charge up by using the following line:


Which would allow the module 40 seconds to charge before starting up. You can then handle the ModuleInitialized event to know when the module has actually started up and is ready to be used.

Thanks for the pointer to the eagle file.

Im aware of the power-on time and have also tried with longer than 40 sec. But in some cases the circuit with the 0.2F cap and current-limiting resistor on the gsm board apparently isnt enough.

The problem only occurs on ~ 1/4 of our systems and sometimes we have been able to fix it by changing other modules and/or cables, so I guess its because the gsm-board is designed just to the limit.

Adding the extra 10000uF (not nF as earlier stated) before the module and an extra long power-on period (2 min), seem to work so far.