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.
Community draft — report a mistake
What you see
RDY
+CFUN: 1
+CPIN: READY
RDY
+CFUN: 1
+CPIN: READY
RDYRDY +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
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
Add a large capacitor
Put 1000 µF (or more) close to the module’s VCC/GND to supply transmit bursts.
- 3
Use thick, short power wires
Breadboard jumpers drop too much voltage during 2 A peaks.
- 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
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.
Did this fix it?
Thanks — that helps us keep this page right.