Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.
Module · GSM

Fix SIM800L restarting, blinking fast or not registering

The SIM800L needs 3.7–4.2 V and up to 2 A peaks. Most reset loops are power: wrong voltage, thin wires, or no buffer capacitor.

Arduino UnoESP32Arduino NanoUpdated 31 Oct 2026

Community draft — report a mistake

What you see

OutputOutput
RDY
+CFUN: 1
+CPIN: READY
RDY
+CFUN: 1
+CPIN: READY
RDY

The SIM800L is a small GSM module with a big appetite for current. Almost every “keeps restarting” report is a power supply that cannot deliver its 2 A transmit bursts at the right voltage.

Quick fix — try in order

  1. 1

    Supply 3.7–4.2 V that can deliver 2 A

    A single Li-ion cell or a buck converter set to 4.0 V works. 5 V destroys the module; 3.3 V is too low.

  2. 2

    Add a large capacitor

    Put 1000 µF (or more) close to the module’s VCC/GND to supply transmit bursts.

  3. 3

    Use thick, short power wires

    Breadboard jumpers drop too much voltage during 2 A peaks.

  4. 4

    Level-shift RX from a 5 V Arduino

    The SIM800L’s RX is about 2.8 V logic. From an Uno TX, use a divider (e.g. 1 kΩ / 2 kΩ).

  5. 5

    Check the network LED

    Fast blink (~1 s) = searching; slow blink (~3 s) = registered. Many Indian networks are phasing out 2G — check yours still supports it.

Why it happens

Why does it restart when registering?

GSM transmit bursts draw up to about 2 A. If the supply dips, the module browns out and reboots (prints RDY again).

2G network availability

SIM800L is a 2G-only module. In areas without 2G coverage it never registers, whatever the power.

Antenna

Without the antenna attached, registration is unreliable and current peaks increase.

Board-specific notes

Parts: SIM800L GSM — pinout, voltage and library notes.

↑↓ to move · Enter to open