Micro Radar Web Flasher

Build your own Flight Tracker in minutes—no coding, programming software, or Arduino IDE required. Simply connect your ESP32 to your computer, open the web flashing tool in your browser, and upload the firmware with a few clicks. It's the fastest and easiest way to get your Micro Radar Flight Tracker up and running, making it perfect for both beginners and experienced makers.

I'm using a 1.28" 240x240 pixels round display with GC9A01 driver.

1. ESP32 Development Board (CH340C Type C version)

ESP32 Board
AliExpress➡️ Buy Option 1  Buy Option 2

2. 1.28" GC9A01 display (7 Pin Version)


AliExpress➡️ Buy option 1  Buy option 2 
Circuit Diagram:
You must connect the GC9A01 display to the ESP32 CH340C version following the circuit diagram otherwise the display won't work for this firmware (But you can edit the source code given below to fit your hardware setup).


Flash firmware:
I've made a web flashing tool for direct firmware upload using web browser (please use Chrome).


Note: Follow instructions before flashing firmware.
Additional Note: Fixed known issues and bugs.

Setup guideline:
After uploading the firmware you need to setup the tracking location (latitude, longitude), api key etc.
  • Follow Flashing guideline pdf for step-by-step process.
  • Follow VScode guideline pdf for manual upload.
  • Source code uploaded in drive link.
Everything in the drive link below
 
If you face any problems with the project, feel free to send me e-mail with a subject "micro radar round" to abid.business01@gmail.com

Comments

  1. What size and type copper wire are you using for these?

    ReplyDelete
  2. Unable to connect to Hot Spot @ 192.168.4.1

    ReplyDelete
  3. Apparently open sky has changed their API to require secure authentication and although the firmware I flashed seems to work perfectly it fails to collect data from open sky according to my searches the issue is HTTPS or time retrieval for secure authentication. Below is the log file as well and AI's take on the issue. Please modify the Chrome firmware flasher to correct this issue. Thanks! ~Kevin.
    ets Jul 29 2019 12:21:46

    rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    configsip: 0, SPIWP:0xee
    clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    mode:DIO, clock div:2
    load:0x3fff0030,len:1184
    load:0x40078000,len:13232
    load:0x40080400,len:3028
    entry 0x400805e4
    *wm:AutoConnect
    *wm:Connecting to SAVED AP: KEVLAR
    *wm:connectTimeout not set, ESP waitForConnectResult...
    *wm:AutoConnect: SUCCESS
    *wm:STA IP Address: 192.168.0.94
    [ 68035][E][ssl_client.cpp:37] _handle_error(): [data_to_read():361]: (-76) UNKNOWN ERROR CODE (004C)
    [GET] HTTP Error (-2): send header failed
    [WARN] OpenSky API request failed: send header failed
    [177401][E][ssl_client.cpp:37] _handle_error(): [data_to_read():361]: (-76) UNKNOWN ERROR CODE (004C)
    [GET] HTTP Error (-2): send header failed
    [WARN] OpenSky API request failed: send header failed
    [308582][E][ssl_client.cpp:37] _handle_error(): [data_to_read():361]: (-76) UNKNOWN ERROR CODE (004C)
    [GET] HTTP Error (-2): send header failed
    [WARN] OpenSky API request failed: send header failed
    [418546][E][ssl_client.cpp:37] _handle_error(): [data_to_read():361]: (-76) UNKNOWN ERROR CODE (004C)
    [GET] HTTP Error (-2): send header failed
    [WARN] OpenSky API request failed: send header failed

    This log indicates your ESP32 is connecting to Wi-Fi successfully, but failing when it tries to make an HTTPS request to the OpenSky API.

    The important lines are:

    *wm:AutoConnect: SUCCESS
    *wm:STA IP Address: 192.168.0.94

    This means:

    ✅ ESP32 booted normally.
    ✅ Connected to your Wi-Fi ("KEVLAR").
    ✅ Got an IP address.

    Then:

    [GET] HTTP Error (-2): send header failed
    [WARN] OpenSky API request failed

    This means the HTTPS connection failed before the HTTP request could even be sent.
    Common causes
    1. The ESP32's clock isn't set (most likely)

    TLS/SSL certificates require the correct date and time.

    If the ESP32 thinks it's 1970, the TLS handshake fails.

    After Wi-Fi connects, add something like:

    configTime(0, 0, "pool.ntp.org");

    Then wait until the time is valid:

    struct tm timeinfo;
    while (!getLocalTime(&timeinfo)) {
    delay(500);
    }

    Print the time to verify it.
    2. Certificate verification

    If you're using:

    WiFiClientSecure client;

    You either need

    client.setCACert(root_ca);

    or (for testing only)

    client.setInsecure();

    Without one of those, HTTPS often fails.
    3. OpenSky changed its API

    If you're using old example code, the endpoint or authentication may have changed.

    OpenSky now requires authentication for many requests.
    4. The URL is incorrect

    For example:

    https.begin(client, "https://opensky-network.org/api/states/all");

    must be exactly correct.
    I suspect #1

    Because your error is:

    send header failed

    and not

    404

    or

    401 Unauthorized

    which suggests the TLS connection never completed.
    Can you post these few lines from your code?

    Specifically:

    where you call configTime()
    where you create WiFiClientSecure
    where you call HTTPClient.begin()

    Those 15–20 lines will usually reveal the problem immediately.

    ReplyDelete
    Replies
    1. Please reflash the updated version, I have fixed the bugs.

      Delete
  4. Fixed known issues and bugs.
    4th August, 2026.

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. This is very cool, thanks. You should publish it on GitHub, it would be easier to report issues, propose fixes and track versions.
    I had an issue that I solved with limiting the number of plane, because I'm in a zone where there are so many with the default 1.0° Radius that the firmware would crash per memory exhaustion, too fast to allow modifying through the web UI.
    But it is still awesome!

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
  7. I've built 3 of these, simple and fun!

    ReplyDelete

Post a Comment