/Wardriver

Basic ESP8266/ESP32 Wardriving & Logging in WiGLE Format

Primary LanguageCMIT LicenseMIT

Wardriver 1.2

Basic wardriving for the ESP8266 & ESP32, compatible with WiGLE.

Arduino Build

Fork Details:

  • OTC network deduplication
  • Visibile networks cache
  • TinyFS fallback (removed)
  • Minor fixes and fringe tweaks

HW Cases: 3D Print files here.


Flashing your Wardriver

This guide will help flash the firmware to your device. Open an issue if you have trouble

Prerequisites

  • ESP8266/ESP32s2 & minis.

  • Official board (optional)

  • SD module (Change Pin D8-CS in Vars.h if needed)

  • GPS unit (change GPS_BAUD in Vars.h if needed)

  • Docker and esptool:

Install Docker:

sudo apt update

sudo apt upgrade

sudo apt install docker.io

Install esptool:

Setup

  1. Clone this repository to your local machine.
git clone https://github.com/lukeswitz/Wardriver.git
cd Wardriver/src
  1. Build the Docker image.
make build

This will create a Docker image with all the necessary tools and libraries to compile the firmware.

Flashing the Firmware

Before flashing the firmware, make sure your ESP8266 or ESP32 board is connected to your computer.

1. ESP32 ONLY: Enter DFU Mode

You can do this in 2 ways:

Option 1:

  • Plug the board into your computer
  • Hold down the 0 button
  • Tap & Release the RST button

Option 2:

  • Hold down the 0 button
  • Plug in the board
  • Release the 0 button

Step 2: Find Serial Port & Erase Flash

Find the Serial Port your board is connected to:

  • Windows: Found via Device Manager
  • MacOS: ls /dev/cu*
  • Linux: ls /dev/tty*

Your device will appear as something like ttyUSB0 or ttyACM0.

Erase the flash:

esptool --chip auto -p /dev/<your_serial_port> erase_flash

Step 3: Flashing

Decide what image you want to flash :

  • Official Beta: /build/v1.2-beta-WarDriver.bin
  • This pre-beta build (unstable): /build/v1.2-alpha-WarDriver.bin

Run the following command to flash the firmware to your board:

esptool --chip auto -p <SERIAL_PORT> write_flash -z 0x0 <binary>.bin

Replace <binary>.bin by dragging the file into the terminal or by manually specifying from the above paths.

GPS output and found networks will begin to appear in the serial console after successful flash. Data is saved as a CSV file that is ready for upload to wigle.net

Listing All Supported Boards

To list all the supported boards by esptool, you can check the help file:

esptool -h

Troubleshooting

If you encounter any issues, make sure your board is properly connected and the correct port is specified in the esptool command. If the problem persists, please open an issue in this repository.

Contributing

Contributions are welcome! Please open a pull request with your changes or improvements.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Credits

All credit and thanks to Alex Lynd. Docs modded from the DNSDriveBy/Nugget flashing instructions.