SIM800L module keeps resetting only when connected to Ardui

Hi all,

after hours of googling and several trial and errors, I am submitting my problem to the forum (hoping someone got arouond this issue)

I have a SIM800L GPRS module (the one with embedded voltage regulator to make it work with 5V power).

The module works like a charm when I connect it with a standard FTDI cable to the PC USB port. Powers up and stays on forever.
Using realterm to communicate with it and all commands are successful, the module sends and receives SMS, connects with the GPRS, etc...

When I connect the same module to an Arduino Mega physical UART (using a regular Arduino and softserial has the same behaviour) the module keeps on resetting every time I send a command over the UART port.

I doubt this is a power issue, because I am supplying power to the SIM800L board not from the Arduino board, but instead from the very same FTDI cable I successfully used to connect the module with the PC. Grounds are in common (there is a direct connection between the GND pin of the arduino and the GND pin of the module).

Now I am really lost. I stumbled upon a blog post who says to use a SIM800L without embedded vreg and using an external bucket dc-to-dc. However, before doing another purchasing round on Amazon I am trying to ask you all if you have any hint for me

thanks
G

1 Like

Raising up the topic again because I eventually discovered the issue and thought of sharing...

If the sim800l module resets it can be 3 things:

  • Faulty module (very uncommon)
  • Miswiring (may be, e.g. the reset pipn is connected to the TX/RX pin of the Arduino)
  • Power issues -> 99,99999999999% of the cases (including mine)

The module is powered at 4.4V MAXIMUM.

It generates spikes of up to 2A absorption during initial network registration and SMS/Call operations. You just can't see them with a multimeter, I had to resort to an oscilloscope to see them. The decoupling capacitors supplied on the small boards you can find on eBay are not large enough.

These are just spikes, not sustained 2A power, you will need a power supply that has a transient response able to sustain these spikes. Even a 10A rated supply may not do.

After being driven mad by the thing, my solution (working) has been to add a large 4700 uF electrolytic cap just before the power pins of the sim800l module. The capacitor is sufficient to supply the 2A current during the spikes and I had no more resets.

I am pretty sure a smaller capacitor may work as well, but I am too lazy to do the math and I just needed my board to work.

Second advice: use the reset pin sometimes. The module is not exactly a monster of stability and sometimes hangs or gives errors. If you have the reset PIN wired up, at least you can fire a reset event. The pin needs to be pulled DOWN to ground, you will have to use a transistor to do it.

2 Likes