CEO OS

research

FlightMaymo — Research

Reference Projects Analyzed

1. Colin Waddell's FlightTracker (RPi + LED Matrix)

  • Hardware: Raspberry Pi Zero W + 32x64 RGB LED Matrix + Adafruit Matrix Bonnet
  • API: FlightRadar24 (unofficial Python module)
  • Stack: Python, rpi-rgb-led-matrix driver
  • Features: Shows flight number, aircraft type, route when overhead; time/date/weather when idle
  • Repo: https://github.com/ColinWaddell/FlightTracker

2. Dotbox (ESP32 + LED Dot Matrix) — Colin's v2

3. FlightPortal (Adafruit MatrixPortal)

4. Simon Prickett's Local Aircraft Tracker (ADS-B + Redis)

  • Hardware: RTL-SDR USB dongle + RPi + Pimoroni Badger 2040W (e-ink badge!)
  • API: ADS-B radio signals (dump1090) + FlightAware API for enrichment
  • Stack: Node.js, Redis Stack, MicroPython (for Badger e-ink frontend)
  • Key insight: Only project using actual ADS-B receiver + has an e-ink frontend
  • Repo: https://github.com/simonprickett/local-aircraft-tracker

5. ESP32-FlightRadar24-TTGO

  • Hardware: ESP32 TTGO-Display (TFT, not e-ink) or LilyGo T-Display-S3
  • API: FlightRadar24 (direct, no login needed)
  • Stack: C++/Arduino, PlatformIO, LVGL graphics
  • Features: Airline logos, aircraft specs, airport info — all stored locally
  • Key insight: Embedded DB of airports/airlines reduces API calls
  • Repo: https://github.com/rzeldent/esp32-flightradar24-ttgo

Flight Data APIs

  • Package: pip install FlightRadarAPI (Python), also available for Node.js
  • Cost: Free (unofficial, educational use)
  • Coverage: Excellent worldwide including India/Chennai
  • Rate limits: Undocumented, but light polling (every 30-60s) works fine
  • Risk: Unofficial — could break if FR24 changes their API
  • PyPI: https://pypi.org/project/FlightRadarAPI/

OpenSky Network

  • Cost: Free tier
  • Rate limits: 100 calls/day (anonymous), 4,000/day (registered), 8,000/day (if you feed data)
  • Coverage: Best in Europe/US. India coverage is limited — fewer ground receivers
  • Resolution: 10s anonymous, 5s authenticated
  • Docs: https://openskynetwork.github.io/opensky-api/rest.html

ADS-B Exchange

  • Cost: Free if you feed data (need RTL-SDR receiver), otherwise paid API
  • Coverage: Community-sourced, decent but requires feeders nearby

OpenSky Auth Note (CRITICAL)

As of March 18, 2026, OpenSky Network requires OAuth2 — basic auth is deprecated. Must use OAuth2 client credentials flow.

Verdict

FlightRadar24 unofficial API is the clear winner for Chennai. OpenSky has weak India coverage and now requires OAuth2. ADS-B Exchange requires hardware investment for free tier.

India/Chennai Availability

Product Store Price
LILYGO T5 4.7" V2.3 Amazon.in ₹3,500-4,500
LILYGO T5 4.7" V2.3 AliExpress ₹3,000-3,500
Waveshare e-ink panels Robu.in varies
Pimoroni Inky 7.3" Fab.to.Lab ₹14,565
RPi Zero 2W Amazon.in / Robu.in ₹1,500-2,500

Hardware Options

Component Model Price (approx)
Computer Raspberry Pi Zero 2W ₹2,500-3,000
Display Waveshare 4.2" e-Paper HAT (400x300, B/W) ₹2,500-3,000
Display (alt) Waveshare 7.5" e-Paper HAT (800x480, B/W) ₹4,000-5,000
Display (color) Pimoroni Inky Impression 5.7" (600x448, 7-color) ₹8,000-10,000
Power USB-C power supply / battery pack ₹500
Case 3D printed or laser cut varies

Pros: Easy Python development, tons of libraries, WiFi built-in, can run full Python with FlightRadarAPI Cons: Higher power consumption (~1-2W idle), slower boot, overkill for simple display task

Option B: ESP32-S3 + E-Ink Display

Component Model Price (approx)
Board+Display LILYGO T5 4.7" ESP32-S3 (960x540, 16-level grayscale) ₹4,000-5,000
Board+Display LILYGO T5 2.13" ESP32-S3 ₹2,000-2,500
Board+Display (pro) LILYGO T5 4.7" S3 Pro (touch + LoRa + GPS) ₹7,000-9,000
Board (separate) ESP32-S3 DevKit + Waveshare 4.2" SPI e-Paper ₹3,000-4,000

Pros: Ultra-low power (can run on battery for days), instant-on, compact, USB-C, deep sleep Cons: MicroPython has fewer libraries, HTTP requests more complex, limited memory for rich UI

Option C: ESP32 TTGO T-Display (TFT, not e-ink)

  • Cheap (~₹1,500), color TFT, but always-on power draw
  • rzeldent's project already exists for this — could fork it
  • Not e-ink though

Option D: LILYGO T5 4.7" V2.3 (All-in-One) ⭐ BEST VALUE

Component Details Price (approx)
Board+Display LILYGO T5 4.7" ESP32-S3, 960x540, 16 grayscale, WiFi, BLE, 16MB Flash, 8MB PSRAM ₹3,500-4,500 (Amazon.in)
Battery 18650 holder variant or LiPo via PH 2.0 connector ₹200-500
Case 3D printed varies

Deep sleep: ~170μA. Can run for days on battery. Library: GxEPD2 + LILYGO's own LilyGo-T5-Epaper-Series Touch variant: H716 model adds capacitive 2-point touch for ₹100 more

Option E: RPi Zero 2W + Pimoroni Inky Impression 7.3" (Color E-Ink)

Component Details Price (approx)
Computer Raspberry Pi Zero 2W ₹1,500-2,500
Display Pimoroni Inky Impression 7.3" 2025 Edition, 800x480, 7-color ₹14,565 (Fab.to.Lab India)
Total ~₹17,000

7 colors: Black, white, red, green, blue, yellow, orange — can color-code airlines/altitude Refresh: ~12 seconds (improved in 2025 edition) Driver: Pimoroni inky Python library

6. The Minimalist Airframe (meandmybadself)

  • Hardware: RPi Zero 2W + Pimoroni Inky Impression 7.3" color e-paper + 3D-printed frame
  • API: Public ADS-B database (no receiver needed)
  • Stack: Based on InkyPi project (https://github.com/fatihak/InkyPi)
  • Features: Minimalist 2-component build, 1-min refresh, shows closest commercial flight
  • Key insight: Simplest e-ink flight tracker build — exactly our target approach

Recommendation

Start with RPi Zero 2W + Waveshare 4.2" e-Paper for easiest development path. The FlightRadarAPI Python package works out of the box. Once the software is solid, port to ESP32+e-ink for a low-power always-on version.

Or go straight to LILYGO T5 4.7" (~₹4,000) if you want the cheapest all-in-one solution with the best resolution (960x540) and battery support.

Splurge option: RPi + Pimoroni Inky 7.3" 7-color (~₹17,000) for a gorgeous color e-ink desk display.


E-Ink Display Considerations

  • Refresh rate: Full refresh takes 2-15 seconds depending on display. Partial refresh is faster (~0.3-1s) but causes ghosting over time.
  • Flight data is perfect for e-ink: Data changes every 30-60 seconds, not real-time animation
  • Grayscale: LILYGO T5 4.7" supports 16-level grayscale — good for showing altitude/distance visually
  • Partial refresh warning: LILYGO wiki warns against prolonged partial refresh — can cause irreversible ghosting. Do a full refresh every N cycles.

What to Display

Based on reference projects, the best flight trackers show:

  1. Flight callsign (e.g., AI542, 6E2341)
  2. Airline name/logo
  3. Aircraft type (A320, B737-800, etc.)
  4. Route: Origin → Destination (DEL → MAA)
  5. Altitude and Speed
  6. Distance from you and bearing
  7. Mini map showing flight position relative to your location
  8. Idle screen: Time, date, weather, "No flights overhead"

Architecture Plan

┌─────────────────────────────────┐
│         FlightMaymo             │
├─────────────────────────────────┤
│                                 │
│  1. Poll FlightRadar24 API      │
│     - Bounding box around       │
│       Chennai (13.08°N, 80.27°E)│
│     - Every 30-60 seconds       │
│                                 │
│  2. Filter & Sort               │
│     - Calculate distance from   │
│       home coordinates          │
│     - Sort by proximity         │
│     - Pick closest flight       │
│                                 │
│  3. Render to E-Ink             │
│     - Flight info layout        │
│     - Mini radar/compass        │
│     - Partial refresh if        │
│       same flight, full if new  │
│                                 │
│  4. Idle Mode                   │
│     - Show time + weather       │
│     - "Clear skies" message     │
│                                 │
└─────────────────────────────────┘

Private. Behind Cloudflare Access. © Karthik Kamalakannan.