Plane Spotter — a Tactical ADS-B Desk Radar (ESP8266 + 1 Inch OLED)
by danilocannas in Circuits > Microcontrollers
301 Views, 3 Favorites, 0 Comments
Plane Spotter — a Tactical ADS-B Desk Radar (ESP8266 + 1 Inch OLED)
A 3D-printed desk gadget that shows the aircraft flying closest to your home in real time — with a military-style radar, live weather, an NTP clock, and flight intel (airline, route, ETA). All data is free, no subscriptions.
This little terminal-style box pulls live ADS-B traffic from the OpenSky Network and renders a tactical UI on a tiny OLED: a PPI radar with a rotating sweep, the nearest target with a type icon, current weather + forecast, and a clock with live milliseconds. It costs about €10 in parts.
Full source code + STL files: https://github.com/DaniloCannas/esp8266-plane-spotter
Supplies
Electronics (~€10)
- 1× Wemos/LOLIN D1 mini (ESP8266) — any ESP8266 board works
- 1× 0.96" OLED, SSD1306, 4-wire SPI, 7 pins (GND VCC SCK SDA RES DC CS)
- 7× female-female jumper wires (or thin wire to solder)
- 1× micro-USB cable
Tools
- 3D printer + ~30 g of filament (PLA is fine)
- Soldering iron
- A computer with the Arduino IDE or PlatformIO
⚠️ Make sure the OLED is the SPI version (7 pins). The cheaper I²C one (4 pins) will not work with this wiring.
3D Print the Case
Print the two parts from the repo's hardware/ folder:
- Radar1.stl — main shell
- radar2.stl — base
Suggested settings:
- Material: PLA
- Layer height: 0.2 mm
- Infill: 15–20 %
- Supports: No, print with the screen hole as base and the print quality will be perfect without supports.
Wire the OLED to the ESP8266
Get a Free OpenSky API Client
The aircraft data comes from the OpenSky Network. Anonymous access has a tiny daily budget and will rate-limit you, so create a free account:
- Sign up at opensky-network.org
- Go to Account → API clients and create a client
- Copy the clientId and clientSecret — you'll paste them in the next step
Weather (Open-Meteo) and route/airline data (hexdb.io) need no account.
Install the Firmware
- Install the ESP8266 board package in the Arduino IDE (Boards Manager → "esp8266").
- Install two libraries (Library Manager): U8g2 (olikraus) and ArduinoJson v7 (Benoit Blanchon).
- Download the code from GitHub. In firmware/plane_spotter/, copy config.example.h to config.h and fill in:
- Your WiFi SSID + password (2.4 GHz network)
- Your home coordinates (HOME_LAT / HOME_LON)
- Your OpenSky OPENSKY_CLIENT_ID / OPENSKY_CLIENT_SECRET
- WALL_HEADING_DEG — the compass heading the device faces (for the radar's wall tick)
- TIMEZONE — POSIX timezone for the clock
- Open plane_spotter.ino, select your board + port, and Upload.
Assemble & Use
Slot the board and OLED into the case, route the USB cable out the back, and power it from any USB charger. On boot it connects to WiFi, syncs the clock over NTP, and starts polling.
The display cycles through five tactical screens every 7 seconds:
- TARGET — nearest aircraft: callsign, type icon, distance, bearing, altitude, speed
- INTEL — airline, departure → arrival route, ETA
- RADAR — North-up PPI with a rotating sweep; blips move in real time (dead-reckoned)
- WX — current weather + next-hours forecast
- SYSTEM — big clock with live milliseconds, uptime, link stats
Mount it on a wall or stand it on your desk facing your favorite patch of sky. ✈️