ESP32 GPS to Android: Bluetooth vs. Wi-Fi
The popular ESP32 microcontroller features dual-mode Wi-Fi and Bluetooth radios. When streaming external satellite coordinates to an Android phone, choosing the wrong wireless transport causes network drops, high battery consumption, and routing conflicts. Learn why Bluetooth is the clear engineering winner on mobile devices.
The Android Wi-Fi "No Internet" Trap Explained
At first glance, setting the ESP32 up as a standalone Wi-Fi Access Point (SoftAP) seems straightforward. However, modern Android operating systems implement strict captive-portal detection:
- Your phone connects to the ESP32's Wi-Fi network.
- Android sends HTTP probes to Google's connectivity servers (e.g.
connectivitycheck.gstatic.com). - Because the ESP32 only delivers GPS NMEA sentences and has no cellular internet uplink, the probe fails.
- Android displays "Connected, no internet" and automatically disconnects from Wi-Fi, falling back to 5G/4G cellular data and killing your GPS stream.
Direct Comparison Matrix
Key metrics for mobile and in-car operation.
| Feature / Metric | Bluetooth (BLE / SPP) ✓ | Wi-Fi (AP / Hotspot) |
|---|---|---|
| Phone Battery Impact | Negligible (~15–30 mW) | High (350–600 mW) |
| Cellular Coexistence | 100% Seamless (5G unaffected) | Routing conflicts on older OS |
| Captive Portal Issues | Zero (No internet check) | Frequent disconnects |
| Auto-Reconnection | Instant when entering vehicle | Requires manual Wi-Fi lock |
| Bandwidth for NMEA | Abundant (NMEA is only ~1 KB/s) | Massive overkill for serial |
The Engineering Verdict
NMEA GPS data streams at a modest 9600 to 115200 baud, transmitting only 1 to 3 kilobytes per second. Wi-Fi is designed for high-throughput video streaming and web browsing; using it for a 1 KB/s telemetry stream adds massive thermal and battery overhead without any functional benefit.
Bluetooth Low Energy (BLE) or Bluetooth Classic SPP is the correct engineering architecture for mobile devices. It connects instantly, draws micro-watts of power, and allows your Android phone to remain on high-speed 5G cellular networks without routing conflicts.
Build Your Bluetooth GPS Receiver
Explore our wiring schematics and open-source firmware for building an ESP32 Bluetooth receiver.