Open-source ESP32 firmware

Sixteen SIMs.
One tiny board.

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.

SIMS
16
UARTS
1
OTA
HTTPS
ESP32 · v1.0.21MUX CD74HC4067
SIM01GLOBE
SIM02SMART
SIM03DITO
SIM04TNT
SIM05GLOBE
SIM06SMART
SIM07DITO
SIM08TNT
SIM09GLOBE
SIM10SMART
SIM11DITO
SIM12TNT
SIM13GLOBE
SIM14SMART
SIM15DITO
SIM16TNT

→ FORWARDED TO BACKEND

waiting for SMS…

// 01 · CAPABILITIES

Built like infrastructure,
sized like a hobby board.

01

16-SIM polling

Shared TX, multiplexed RX: one ESP32 UART serves sixteen SIM800L modems in turn.

02

Backend forwarding

Every incoming SMS is parsed and POSTed to your API with SIM, sender and timestamp.

03

Local web UI

Configure Wi-Fi, monitor SIMs, read logs and run tests straight from the device.

04

Dual Wi-Fi

Setup access point and backend station mode running at the same time.

05

HTTPS OTA

Pull new firmware from GitHub Releases or any URL; no cable, no downtime.

06

Missed-call OTPs

Turns missed-call verifications into OTP messages your backend understands.

07

USSD balance

Bulk *143# balance checks across every SIM with one tap.

08

SIM watchdog

Detects unresponsive modems and recovers them automatically.

09

Persistent logs

Message and error logs survive reboots on LittleFS.

// 02 · SIGNAL PATH

From the tower to your API.

01GSM network
02SIM800L × 16
03CD74HC4067 mux
04ESP32 parser
05Your backend

// 03 · HARDWARE

Spec sheet.

ControllerESP32 Dev Module
Modems16 × SIM800L GSM
MultiplexerCD74HC4067, 16-channel
Power5 V · 10 A+ (2 A peak per modem)
StorageLittleFS (message + error logs)
UpdatesHTTPS OTA (GitHub Releases / custom URL)
SyncHeartbeat + full inventory every 30 min

// PINOUT

Wiring.

GPIO5TX → all SIM800L RX (shared)
GPIO4RX ← mux COM
S0–S3Mux channel select
ENMux enable (active low)

⚠ Power matters: SIM800L modules spike to 2 A each. Use a 5 V / 10 A+ supply with good decoupling.

Flash it. Plug in SIMs.
Start receiving.

Get the firmware ↗