AtomGPS Wigler is a wardriving tool originally created by @lozaning. For use with the M5Stack Atom GPS kit, this tool is specifically designed for Wi-Fi network geolocation. LED status indicators are outlined below. Wigle compatible CSV files are written to SD.
Esptool.py
git clone https://github.com/lukeswitz/AtomGPS_wigler.git
cd AtomGPS_wigler/build
1. Locate the device:
Linux
ls /dev/ttyUSB*
ls /dev/cu.*
2. Flash the firmware, partition and bootloader:
[!WARNING] Ensure you have the latest version of esptool.py installed from the link above, or a known warning about header fields will display when flashing.
esptool.py -p [YOUR_PORT] -b 1500000 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x1000 AtomGPS_wigler_v1_6.bootloader.bin 0x8000 AtomGPS_wigler_v1_6.partitions.bin 0x10000 AtomGPS_wigler_v1_6.bin
1. Open the .ino file in Arduino IDE (or copy and paste it into a new sketch).
2. Add & Install ESP32 Boards:
File > Preferences
.https://dl.espressif.com/dl/package_esp32_index.json
to "Additional Boards Manager URLs."OK
.Tools > Board > Boards Manager
.Search for "esp32" and search for "esp32 by Espressif Systems" and click Install
3. Add the Required Libraries:
M5Atom
SD
SPI
TinyGPSPlus
WiFi
For example:
Library Manager
> search M5Atom
. Click Install
.
4. Set Board: Tools > Board > esp32 > M5Atom
5. The default settings are as below:
6. Click Upload
FIRST: Create a plaintext file named config.txt
on the SD card.
The config.txt
file on the SD card can contain the following variables, each defined on a new line
speedBased
false
true
or false
speedBased=true
scanDelay
150
speedBased
is false
.scanDelay=1000
adaptiveScan
true
true
or false
adaptiveScan=false
channels
channels=1,2,3,4,5,6,7,8,9,10,11
channels=1,6,11,12,13,14
config.txt
speedBased=false
scanDelay=250
adaptiveScan=true
channels=1,2,3,4,5,6,7,8,9,10,11
[!NOTE]
- When speedBased is
true
it will overridescanDelay
.- Ensure there are no spaces.
- Only valid channels for your region should be included in the
channels
array to ensure compliance with local regulations.- Adjust the
scanDelay
value to balance between scan frequency and power consumption whenspeedBased
is set tofalse
.
After flashing, the device scans for Wi-Fi networks, using LEDs to display status. Configure with the SD config.txt file or use the defaults as described.
RED blink if the SD card is missing/write error.
PURPLE blink while waiting for a GPS fix.
GREEN blink during normal scanning
ORANGE blink when outside set quad perimeter
Press and hold the button during scanning to toggle the status LED on/off.
Bonus: Contribute to the wigle.net database. Or join the community and compete to find the most Wi-Fi networks.
Detailed review and instructions for beginners | Thanks to kampf for the writeup:
[!CAUTION] Wardriving may not be legal in all locations. Please check local laws and obtain proper consent where necessary.