1.7 KiB
1.7 KiB
ESP32-S3 vehicle telemetry and GPS tracker streaming location and vehicle status over Cat-M/NB-IoT cellular networks.
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=1for GNSS power.
Links
- Web Dashboard: CAR_GPS_REACT
- Backend API: Laravel-GPS-API