Wi-Fi Geolocation Spoofing with ESP32
Budget: $250 – $750 USD
I’m building a small test platform to study how apps and embedded devices validate location data. Using an ESP32, I need firmware (and any supporting scripts) that can convincingly spoof both GPS and Wi-Fi positioning information.
Key points for the build
• Purpose is strictly testing and research, so reproducibility and clear documentation matter more than stealth.
• Two spoofing channels must be covered:
– GPS NMEA sentences broadcast over a software-defined serial port or compatible GPS emulator library.
– Wi-Fi positioning beacons that imitate surrounding APs or craft new BSSIDs so common geolocation APIs believe the device is elsewhere.
• I want the option to flip between a fixed, pre-programmed location and real-time control. A simple web UI, serial command set, or lightweight REST endpoint is fine as long as switching takes seconds, not minutes.
Deliverables
1. Fully commented ESP32 source code (Arduino framework or ESP-IDF).
2. Brief build guide covering required libraries, wiring, and any external modules or antennas.
3. Usage notes showing how to set coordinates, toggle modes, and verify spoofing success with a phone or mapping API.
Acceptance criteria
• GPS and Wi-Fi coordinates reported by at least one mainstream Android or iOS location app match the spoofed values.
• Switching modes does not require reflashing the board.
• Code compiles error-free on the latest stable toolchain.
If something in the spec looks unclear, let me know—I’m happy to refine details so you can dive straight into the fun part: bending reality for science.
Key points for the build
• Purpose is strictly testing and research, so reproducibility and clear documentation matter more than stealth.
• Two spoofing channels must be covered:
– GPS NMEA sentences broadcast over a software-defined serial port or compatible GPS emulator library.
– Wi-Fi positioning beacons that imitate surrounding APs or craft new BSSIDs so common geolocation APIs believe the device is elsewhere.
• I want the option to flip between a fixed, pre-programmed location and real-time control. A simple web UI, serial command set, or lightweight REST endpoint is fine as long as switching takes seconds, not minutes.
Deliverables
1. Fully commented ESP32 source code (Arduino framework or ESP-IDF).
2. Brief build guide covering required libraries, wiring, and any external modules or antennas.
3. Usage notes showing how to set coordinates, toggle modes, and verify spoofing success with a phone or mapping API.
Acceptance criteria
• GPS and Wi-Fi coordinates reported by at least one mainstream Android or iOS location app match the spoofed values.
• Switching modes does not require reflashing the board.
• Code compiles error-free on the latest stable toolchain.
If something in the spec looks unclear, let me know—I’m happy to refine details so you can dive straight into the fun part: bending reality for science.