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.
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.
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
Internet test screen showing modem, network, GPRS, IP, HTTP, RX bytes, and completion status.
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.