Skip to content

lukeswitz/AtomGPS_wigler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 

Repository files navigation

GitHub Tag

AtomGPS Wigler

Table of Contents

Overview

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.

Prerequisites

  • M5 AtomGPS
  • SD card (Formatted FAT32)
  • Arduino IDE or Esptool.py

Flashing to AtomGPS

  • Download this forked codebase:
    git clone https://github.com/lukeswitz/AtomGPS_wigler.git
    cd AtomGPS_wigler/build

Method One: Esptool.py

1. Locate the device:

  • Linux

    ls /dev/ttyUSB*
    
  • macOS:

    ls /dev/cu.*
    
    • Windows, check COM port in Device Manager.

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.

  • Navigate to the build folder (if not already there).
  • Flash using the following command inside the build folder or by specifying file paths:

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


Method Two: Arduino IDE

1. Open the .ino file in Arduino IDE (or copy and paste it into a new sketch).

2. Add & Install ESP32 Boards:

  • Open Arduino IDE.
  • Go to File > Preferences.
  • Add https://dl.espressif.com/dl/package_esp32_index.json to "Additional Boards Manager URLs."
  • Click OK.
  • Navigate to Tools > Board > Boards Manager.
  • Search for "esp32" and search for "esp32 by Espressif Systems" and click Install
image

3. Add the Required Libraries:

M5Atom
SD
SPI
TinyGPSPlus
WiFi

For example:

  • Library Manager > search M5Atom. Click Install.
image

4. Set Board: Tools > Board > esp32 > M5Atom

5. The default settings are as below:

image

6. Click Upload


SD Configuration

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

Variables

  1. speedBased

    • Type: Boolean
    • Default: false
    • Description: Determines if the scanning delay is based on the speed of the device.
    • Values: true or false
    • Example: speedBased=true
  2. scanDelay

    • Type: Integer
    • Default: 150
    • Description: The delay in milliseconds between scans when speedBased is false.
    • Values: Any positive integer
    • Example: scanDelay=1000
  3. adaptiveScan

    • Type: Boolean
    • Default: true
    • Description: Enables adaptive scanning, adjusting the scan time based on the number of networks found.
    • Values: true or false
    • Example: adaptiveScan=false
  4. channels

    • Type: Array of up to 14 Integers, with reuse possible.
    • Default: channels=1,2,3,4,5,6,7,8,9,10,11
    • Description: A comma-separated list of WiFi channels to scan.
    • Values: Any valid WiFi channel numbers (1-11 for most regions)
    • Example: channels=1,6,11,12,13,14

Example 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 override scanDelay.
  • 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 when speedBased is set to false.

Get out Wardriving!

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.

WWDC 32 Quad Feature

  • By leaving the values as they are, no quad will be defined and work as normal.
  • Change them to your coordinates, the scan will continue even if you do happen to exit the perimeter.

LED Indicators

  • 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.

Feedback & Community

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.

About

Uses an ATOM M5 GPS Kit for Wigle wardriving

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 100.0%