T-SIM7000G MQTT GPS Tracker with Sensors - image 1
Build Guideintermediate

T-SIM7000G MQTT GPS Tracker with Sensors

Arduino-based GPS tracker for the LILYGO T-SIM7000G that publishes location, battery, signal strength, and sensor readings to an MQTT broker over LTE — with multiple power modes and OTA update support.

Boards:ESP32
Firmware:ArduinoMQTT
Use Cases:GPS TrackingCellular IoTData Logging

Overview

This project transforms the LILYGO T-SIM7000G into a versatile IoT sensor node and GPS tracker that communicates over LTE cellular using the MQTT protocol. It is designed for real-world outdoor deployments where WiFi is unavailable, leveraging the board's solar charging input and 18650 battery holder for extended autonomous operation.

Features

The firmware reports GPS coordinates (latitude, longitude, altitude, speed, course, and satellite count) alongside battery state of charge, cellular signal strength, and charging status — all formatted as comma-separated MQTT payloads for easy downstream parsing. A reed switch and vibration sensor detect physical events such as door opening or motion, making it suitable for asset security monitoring.

Five operating modes balance responsiveness against power consumption: hibernate (deep sleep), sleep (light sleep), tracking (frequent GPS updates), idle, and periodic update. OTA firmware updates are supported over HTTP, and a companion Python utility enables batch updates across multiple deployed devices.

The project uses TinyGSM for modem communication and PubSubClient for MQTT, both well-maintained Arduino libraries with broad community support.

Getting Started

Configure your APN, MQTT broker address, and topic prefix in the settings header, then compile with PlatformIO (recommended) or Arduino IDE 2.x. The README includes wiring notes for the optional reed switch and vibration sensor, plus a 3D-printable enclosure available on Printables.

Resources