Project

GPS Vehicle Tracker with ESP32 and SIM7600

If the thing you want to track ever leaves the WiFi range, you need cellular. The economics have changed considerably in the last few years — LTE Cat-1 modules cost $20, IoT data plans run $1–5 per month, and integrating both into an ESP32 project is now genuinely approachable. This article builds a working GPS tracker using a SIM7600 module, posts location updates to a cloud backend, and runs from a vehicle's 12V supply.

The same architecture works for tracking pets, fleet vehicles, shipping containers, expensive bicycles, or anything else that moves and is worth knowing the location of.

Picking the right cellular module

Three families dominate hobby cellular IoT in 2026:

  • SIM800L — 2G GSM. $5. Basic, well-documented, but 2G networks have been shut down in many countries (US, Singapore, Australia, parts of EU). Avoid for new projects.
  • SIM7600 — LTE Cat-4 (up to 150 Mbps download). $25–35. Solid all-rounder; supports voice, SMS, GNSS (built-in GPS receiver), data. Used in this project.
  • SIM7080G — LTE-M and NB-IoT (Cat-M1, Cat-NB1). $25. Lower bandwidth (~1 Mbps) but dramatically better power consumption (~5 mA active). Ideal for low-frequency reporting.

For a real-time tracker that reports every 30 seconds, SIM7600. For a once-per-hour locator that runs a year on a battery, SIM7080G is the better fit but coverage varies by region (LTE-M is ubiquitous in US/EU, less so elsewhere).

Bill of materials

  • ESP32 DevKit — $8
  • SIM7600G-H module on a breakout board (LILYGO TTGO T-SIM7600 has both ESP32 and modem on one board) — $35 standalone or $50 integrated
  • 4G LTE antenna with SMA connector — $4
  • GPS antenna with SMA connector (active) — $4
  • Nano SIM with IoT data plan (Hologram, Twilio, EMnify, etc.) — $1–5/month
  • 12V to 5V buck converter (for vehicle install) — $4
  • Enclosure — $5

About $60 for a discrete-component build, $70 for the integrated TTGO. The integrated board saves a lot of wiring and is the recommended starting point.

System architecture

flowchart LR subgraph Vehicle ESP[[ESP32]] -.->|UART
AT commands| Modem[SIM7600
LTE + GNSS] Modem -.->|GPS antenna| GPSAnt[GPS antenna] Modem -.->|LTE antenna| LTEAnt[LTE antenna] end Modem -->|TCP HTTP| Carrier[Mobile carrier] Carrier --> Internet[Internet] Internet --> Backend[Backend
HTTP webhook
or MQTT broker] Backend --> DB[(Time-series DB)] Backend --> Map[Map UI
Leaflet, Google Maps] Backend --> Alerts[Geofence alerts
SMS, Telegram]

The full chain. The vehicle's tracker speaks to the modem over UART; the modem talks to the cellular network and the backend over LTE.

How the modem actually works

The SIM7600 is controlled with AT commands over UART. You send AT+CGNSPWR=1\r\n to power on the GNSS receiver, AT+CGNSINF\r\n to get the latest fix. To send data, you open a TCP socket with AT+CIPOPEN, write data with AT+CIPSEND, then close. It is not the cleanest API, but it is well-documented and the libraries on top of it (TinyGSM in particular) abstract most of the verbosity.

Power-on takes 5–15 seconds. Network registration takes 10–60 seconds depending on signal strength. GPS first-fix takes 30 seconds (cold start) or 5 seconds (warm start, if AGPS is enabled). These are not snappy — design the firmware around them.

Firmware

The complete sketch — full setup, error handling, retries, deep-sleep wake, and configuration — is in the project package. Request it free using the form at the bottom of this article. We email it back within 24 hours.

Power and the always-on problem

This tracker is not a battery project. The SIM7600 draws 100–500 mA continuously when registered to the network and 1–2 A in brief bursts during transmission. A 2000 mAh battery lasts about a day. For real deployment:

  • Vehicle install: wire to the vehicle's 12V battery via a 12V-to-5V buck converter rated for at least 2 A. Power is essentially unlimited.
  • Pet/asset tracker: use SIM7080G (NB-IoT) instead. 5 mA average with 5-minute reporting. A 2000 mAh battery lasts a month.
  • Hybrid approach: wire to vehicle, but include a small backup battery to keep the tracker reporting if the vehicle battery is disconnected (theft scenario).

Backend choices

  • Custom HTTP webhook (Cloudflare Workers, AWS Lambda) — simplest. Receive POST, store in database, render on a map.
  • MQTT to Home Assistant — if your tracker integrates with home automation.
  • Traccar — open-source GPS tracking server with web UI, mobile apps, geofencing. Self-hosted on a VPS for $5/month. Drop-in target for our tracker if we adjust the protocol slightly.
  • Commercial: Geotab, Verizon Connect, Samsara — for fleet operators with hundreds of vehicles, the SaaS model is simpler than DIY.

Cellular gotchas

  • APN configuration. Each carrier has its own access point name. Hologram is hologram, Twilio is internet, regular consumer SIMs vary. Wrong APN means the modem cannot connect to data even though it registered to the network.
  • SIM lock and PIN. Some SIMs require a PIN code. Disable PIN protection on the SIM in a phone before installing.
  • Antenna matters. The PCB-trace antennas on cheap modules give weak signal. A proper external antenna can be the difference between "works most of the time" and "works always".
  • Brownouts on TX. The 1–2 A peaks during transmission can crash the ESP32 if the power supply is weak. Add a large bulk capacitor (470 µF) at the modem's power input.
  • GPS cold start times. First fix can take a minute outdoors and forever indoors. AGPS data over the cellular network speeds first fix dramatically; SIM7600 supports it.

Frequently Asked Questions

What does an IoT data plan actually cost?

Hologram: $1.50/month plus $0.40/MB. Twilio: $2/month plus $0.10/MB for super low usage tiers. EMnify and 1NCE offer pay-once plans for years. For a tracker sending ~10 KB per fix every 30 seconds (28 MB/month), expect $5–15/month total.

Can I use a regular consumer SIM card?

Yes, often. Pop a phone SIM into the SIM7600 and it will register and pull data, billing your normal mobile plan. Carriers can block this in some regions; IoT-specific SIMs are designed for machine-to-machine traffic and have better signal-loss handling.

Why does the tracker drop signal in tunnels and underground parking?LTE does not penetrate well. Most trackers cache data when offline and forward when reconnected. Add a small NVS-backed queue: write fixes when no signal, drain when the connection comes back.

How accurate is the GPS?Outdoor with good sky view: 3–5 m. Urban canyons: 10–30 m due to multipath. Indoors: typically no fix at all, occasionally bad fixes from reflected satellite signals. For sub-meter accuracy, you need RTK GPS, which is a different (and pricier) project.

Is this legal for tracking vehicles or people?For your own vehicle, yes. For tracking another person without consent, almost certainly illegal in your jurisdiction. For tracking employees or fleet drivers, varies by country and requires explicit disclosure. Check local law.

Project package

Get the complete project package

The article above shows the core firmware and the principles behind it. The complete project package — assembled, tested, and ready to flash — is available by email request. We send it manually, and we read every request.

  • Complete Arduino sketch (.ino) with full error handling
  • List of required libraries with version numbers
  • Printable wiring diagram (PDF)
  • Bill of materials with current part numbers
  • Build guide and troubleshooting tips
  • Configuration template (WiFi, MQTT, etc.)

We send the package by email within 24 hours, usually faster. Free, no spam, no mailing list. Your email is used once, for this reply.

Share your thoughts

Worked with this in production and have a story to share, or disagree with a tradeoff? Email us at support@mybytenest.com — we read everything.