Mohammad Nazmur Rahman Emon
HomeAboutSkillsProjectsExperienceEducationBlogContact
All projects
IoT·Jan 14, 2026

SIM800 GPRS MQTT Test

A SIM800-based test bench that boots the modem, attaches to GPRS, runs an HTTP request and then attempts MQTT — all logged on a TFT screen.

SIM800 GPRS MQTT Test

Overview

Wi-Fi is not always available, especially for the kind of projects I want to do back home — meters, irrigation controllers, trackers. So I built this little SIM800 test bench to learn the cellular IoT path properly. The firmware walks through every step out loud on a small TFT: modem alive, network registered, GPRS attached, IP received, HTTP GET worked, RX bytes received, MQTT connecting. When something fails, the screen tells me exactly where instead of leaving me staring at a serial monitor.

Specifications

RoleFirmware developer and system integrator
MicrocontrollerESP32-class MCU
ModulesSIM800/SIMCom modemTFT displaySIM card interface
ProtocolsUARTAT CommandsGPRSHTTPMQTT
Tech tagsSIM800GPRSMQTTHTTPUARTCellular IoT

Architecture

MCU communicates with the SIM800 modem through UART AT commands. A display-based console makes the modem state visible during boot, network attach, GPRS setup, HTTP testing, and MQTT connection attempts.

Project photos

SIM800 internet boot test
Internet test screen showing modem, network, GPRS, IP, HTTP, RX bytes, and completion status.
SIM800 MQTT over GPRS log
MQTT-over-GPRS log with modem initialization and GPRS connection state.

Implementation details

Firmware

Firmware initializes the modem, handles restart/retry states, checks network registration, attaches to GPRS, tests HTTP GET requests, and logs MQTT connection progress to the display for debugging.

Power

Prototype uses bench power with attention to modem current peaks. Stable supply and short wiring are important for reliable network attach.

Components / BOM

SIM800/SIMCom cellular module, ESP32-class development board, TFT display, SIM card, Breadboard and jumper wiring

Engineering challenges

SIM800 modules are sensitive to power dips. A flaky USB supply was enough to make the module restart mid-attach, which made the firmware look guilty when it was really the wiring. GPRS + MQTT also fights you on latency, keepalives and silent disconnects.

Solutions

Made everything visible on-screen so failures are obvious, added proper retry behaviour with delays, and kept the modem driver loosely structured so I can reuse it in the next cellular project.

Results & metrics

Test screens show full boot, network OK, GPRS OK, IP assignment, HTTP GET, RX bytes and MQTT attempts — useful for showing what is happening without a laptop attached.

Future improvements

Turn it into a clean reusable cellular library with reconnect, watchdog, APN config and a small payload queue for real telemetry deployments.

© 2026, Mohammad Nazmur Rahman Emon — built and broken by hand.