ESP32-S3 vehicle telemetry and GPS tracker streaming location and vehicle status over Cat-M/NB-IoT cellular networks.

Waveshare SIM7080G Cat-M / NB-IoT cellular and GNSS modem module

Status: in progress

What it does

  • Tracks real-time GNSS location and reports vehicle coordinates over Cat-M / NB-IoT cellular data
  • Manages power and deep sleep based on car ignition status to preserve vehicle battery
  • Processes remote configuration and trigger commands via SMS and HTTP polling
  • Supports over-the-air (OTA) firmware updates, geofencing, and ESP-NOW local fallbacks

Bill of Materials

Part Quantity Purpose
ESP32-S3 Development Board 1 Microcontroller running modular C++ telemetry firmware
Waveshare Pico SIM7080G Module 1 Cat-M / NB-IoT cellular modem & GNSS positioning engine
Hologram SIM Card 1 Global IoT cellular data connectivity
12V-to-5V Buck Converter 1 Steps down car 12V DC power to 5V DC circuit power
LiPo Battery Charge Controller 1 Manages backup LiPo battery during vehicle power loss

How it works

Firmware isolates hardware control into dedicated C++ modules (GNSS, Modem, PowerMgr). Cellular communication uses AT commands over UART (Serial2, 9600 baud on pins 16/17) with dedicated power control on GPIO 4. Telemetry payloads are packaged into JSON and pushed via HTTP POST to the Laravel backend.

What broke

  • SIM7080G cold-boot PDP context attach required exact pulse timing on the PWR pin (GPIO 4) to ensure modem initialization before issuing AT+CGNSPWR=1 for GNSS power.
Description
GPS tracker for cars with buck step down 12v-5v, battery charge controller, ESP32 dev board, and LTE Iot header board for mobile communications
Readme 281 KiB
Languages
C++ 100%