16-SIM polling
Shared TX, multiplexed RX: one ESP32 UART serves sixteen SIM800L modems in turn.
Open-source ESP32 firmware
An SMS gateway you can hold in your hand. It polls up to 16 SIM800L modems through a single multiplexer, forwards every message to your backend, and updates itself over the air.
→ FORWARDED TO BACKEND
waiting for SMS…
// 01 · CAPABILITIES
Shared TX, multiplexed RX: one ESP32 UART serves sixteen SIM800L modems in turn.
Every incoming SMS is parsed and POSTed to your API with SIM, sender and timestamp.
Configure Wi-Fi, monitor SIMs, read logs and run tests straight from the device.
Setup access point and backend station mode running at the same time.
Pull new firmware from GitHub Releases or any URL; no cable, no downtime.
Turns missed-call verifications into OTP messages your backend understands.
Bulk *143# balance checks across every SIM with one tap.
Detects unresponsive modems and recovers them automatically.
Message and error logs survive reboots on LittleFS.
// 02 · SIGNAL PATH
// 03 · HARDWARE
| Controller | ESP32 Dev Module |
|---|---|
| Modems | 16 × SIM800L GSM |
| Multiplexer | CD74HC4067, 16-channel |
| Power | 5 V · 10 A+ (2 A peak per modem) |
| Storage | LittleFS (message + error logs) |
| Updates | HTTPS OTA (GitHub Releases / custom URL) |
| Sync | Heartbeat + full inventory every 30 min |
// PINOUT
| GPIO5 | TX → all SIM800L RX (shared) |
|---|---|
| GPIO4 | RX ← mux COM |
| S0–S3 | Mux channel select |
| EN | Mux enable (active low) |
⚠ Power matters: SIM800L modules spike to 2 A each. Use a 5 V / 10 A+ supply with good decoupling.