Table of Contents
Portable ESP32-based Wardriver
“Wardriving is the act of searching for Wi-Fi wireless networks, usually from a moving vehicle, using a laptop or smartphone. Software for wardriving is freely available on the internet.” - Wikipedia
I started using Wigle.net in July 2019 to find how common various ISPs were in my area (based on the default WiFi SSIDs). I quickly realised that not much data existed for my area so I decided to gather some data myself and submit it to Wigle.
There are two common ways to gather data while wardriving: an Android smartphone or a small PC (laptop, Raspberry Pi, etc). Neither of these were particularly appealing to me so I decided to create a device dedicated to wardriving.
Revision 1 (Arduino)
My first hardware iteration was an Arduino Pro Mini with an ESP8266 running the default AT firmware. I also had a GPS module and SD card writer. This revision worked well as a proof of concept but the Arduino wasn't powerful enough to implement everything I wanted.
Revision 2 (ESP8266)
My second revision consisted of two ESP8266 microcontrollers (specifically, the Wemos D1 Mini with external antenna support) connected together with serial. They would both scan for networks at the same time increasing the total channel coverage at any given time. The ESP8266 is a very powerful chip with plenty of RAM/storage so this solved the Arduino limitations. I also added a small i2c LCD display.
Revision 3 (ESP32)
My third revision was similar to the 2nd but made with ESP32 microcontrollers which means Bluetooth support was added. In addition, I also designed a PCB and had them produced for me. I also added a SIM800L module which allows this hardware to pick up GSM networks too.
This project has a dedicated wiki available at Wardriver.uk. You can view the source code on the GitHub repo or you can buy a PCB to help financially support the project.