Open-source project
AnthonySturdy/micro-radar avatar
AnthonySturdy/micro-radar

Micro Radar: a desk flight radar built on an ESP32-C3 round display

A tiny open-source flight radar for your desk

761 stars95 forksC++MIT

At a glance

What is it?
Micro Radar is a hardware and firmware project that turns an ESP32-C3 module with a 1.28-inch round IPS screen into a flight radar for your desk, pulling live flight data from OpenSky. Here is what the repository actually specifies, and where it leaves you on your own.
Who is it for?
Adopt Micro Radar if you already own a 3D printer, are comfortable heat-setting M2 inserts into printed plastic, and want a small always-on flight display fed by OpenSky. Skip it if you want a finished product, if you have no way to print the four STL files in hardware/stl/, or if you expect a prebuilt binary you can flash without compiling.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 84 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem Micro Radar solves, and who it is actually for

Most flight trackers live in a browser tab or a phone app. Micro Radar takes the opposite route: one small object on a desk that shows nearby air traffic and nothing else. The README describes it as "a tiny open-source flight radar for your desk", and the repository backs that up with a hardware directory containing STL files, a PlatformIO configuration, and C++ source. This is a build project, not a service.

The audience is narrow and specific. You need a 3D printer, because the enclosure, front plate, bezel and two spacers all come from ./hardware/stl/. You need a soldering iron, because the assembly instructions call for heat-set M2 threaded inserts in the front plate, the spacers and the main enclosure. And you need to be willing to buy a particular display module rather than a generic one, since the README warns that deviating from the listed hardware may require modifying the enclosure, the code, or both.

If that describes you, the payoff is a self-contained device with no server, no subscription and no companion app. If it does not, the project has little to offer: there is no web flasher documented in the README, no prebuilt firmware release, and no cloud component you could use without the hardware.

How the radar works: one module, one API, one screen

The architecture is deliberately flat. The README states that "at the core of this project is the ESP32-C3 module with an integrated 240x240 IPS screen", and that "the module does all the heavy lifting." That single board handles WiFi, the HTTP requests to OpenSky, and the rendering. There is no separate display driver board and no host computer in the loop.

The data flow runs from the ESP32-C3 over WiFi to OpenSky's API, then back to the device for drawing on the 240x240 round panel. The README points to OpenSky as the source of flight data and links to opensky-network.org for account signup. It does not describe the request format, the polling interval, or how positions are projected onto the circular display; that detail lives in the C++ sources under src/ and include/, which the README does not walk through.

One design consequence is worth naming. Because the device queries OpenSky directly, the accuracy of the live view is tied to your request quota. The README says an account raises the limit from 400 to 4000 requests per day and that this "makes the live view much more accurate". Without an account, the radar still works, but it refreshes less often. That is the central trade-off of the whole design: no backend to run, but also no caching layer to smooth over rate limits.

Building the firmware from platformio.ini before you close the case

The repository has no release artifacts, so the firmware path is a source build. The presence of platformio.ini at the top level indicates PlatformIO is the build system, and the README does not give a flashing walkthrough of its own. The README's assembly notes are the closest thing to a first-run procedure: it advises testing the firmware and your hardware before closing everything up, and warns that the antenna must be attached to the module before clamping it down with the spacers. Press it onto the flat surface until it clicks. Orientation does not matter, but without that connection there is no WiFi signal and therefore no flight data.

Before the firmware can show anything, the OpenSky credentials have to reach the device. The README says further information on what to do with an account is in the usage section, and that section is beyond the portion of the README available here, so treat the credential step as the first thing to confirm in the full documentation. The README does state the account is free and raises the daily request allowance from 400 to 4000.

What the README does not provide is a build or flash command, an environment name, or an upload port. Those come from platformio.ini, which sits in the repository root alongside src/ and include/. Read that file before you connect the board, and treat the firmware and credential steps as things to confirm against the full usage section rather than against this summary.

Where Micro Radar fails, and why the build is unforgiving

The most concrete failure mode is mechanical. The README is explicit that too much pressure while screwing the spacers into the protruding M2 screws will stress the screen. There is no bracket or gasket described that would absorb that error, so the margin is whatever the printed parts and your hand give you. The same applies to the optional lens: the README specifies clear-drying epoxy rather than super glue, because super glue fogs the lens. Use the wrong adhesive and the optics are ruined before the electronics ever boot.

Component drift is the second risk. The shopping list names one 1.28-inch round GC9A01 240x240 IPS module with an integrated ESP32-C3, and the README says plainly that deviating from this hardware may require modifying the enclosure or the code. A similar-looking round display without the integrated ESP32-C3 will not fit the printed parts and will not run this firmware.

Finally, consider when this is the wrong tool entirely. If you want to track a specific flight number, set alerts, or look at historical tracks, a browser-based flight tracker does all of that with no hardware. Micro Radar is an ambient display. It shows what is overhead, and the README does not claim anything beyond that.

Micro Radar versus running a flight tracker on a screen you already own

The obvious alternative is not another embedded radar but the browser. OpenSky, the same data source this project depends on, is accessible from a normal computer, and so are the many flight tracking front ends that consume public ADS-B feeds. The difference in approach is where the work happens. In a browser, a general-purpose machine handles networking, parsing and rendering, and you can change what you look at by typing a different query. Micro Radar moves all of that onto a single microcontroller with a fixed 240x240 round display, which is why the enclosure, the antenna placement and the screen pressure all matter.

That trade buys two things a browser tab does not have: a device that is always on and always in the same place, and independence from a host machine. It costs you flexibility. You cannot add a new view without editing the C++ sources, and you cannot raise the refresh rate without either an OpenSky account or a different data source, neither of which the README presents as a configuration option.

If the appeal is the object rather than the data, Micro Radar is the right shape of project. If the appeal is the data, the browser wins on every axis except presence.

Maintenance, upgrades, licence and what the repository does not promise

There are no retrieved releases for this repository, so there is no versioned firmware to upgrade to and no changelog to read. Upgrades mean pulling the source, rebuilding with PlatformIO, and reflashing over USB, which in turn means opening the case or leaving the USB-C ribbon extension cable accessible. The README's assembly step 5 attaches that ribbon cable to the case with the provided nuts and bolts, which suggests the connector is meant to stay reachable after assembly. That is the practical upgrade path.

The last push to the default branch was on 2026-07-09. That is recent enough that the code is unlikely to have rotted, but the repository has no release tags and no published binaries, so there is no stable target to pin to. Anyone building this is tracking main.

The licence is MIT, which is permissive and places few conditions on reuse, modification or redistribution. The README does not state a licence for the 3D-printed part files separately from the code, and it does not address the terms of the OpenSky API. If you plan to redistribute printed parts or a modified firmware, read the LICENSE file in the repository root and OpenSky's own terms rather than assuming the MIT grant covers everything in the tree.

Editorial conclusion

Adopt Micro Radar if you already own a 3D printer, are comfortable heat-setting M2 inserts into printed plastic, and want a small always-on flight display fed by OpenSky. Skip it if you want a finished product, if you have no way to print the four STL files in hardware/stl/, or if you expect a prebuilt binary you can flash without compiling. Before buying the display module, verify that the exact listing you order matches the 1.28-inch round GC9A01 240x240 IPS module with an integrated ESP32-C3 that the README names, and check whether you need an OpenSky account to raise the request limit from 400 to 4000 per day.

Frequently asked questions

What is Micro Radar?

It is a small open-source flight radar designed to sit on a desk. The README describes it as a tiny open-source flight radar for your desk, built around an ESP32-C3 module with an integrated 240x240 IPS screen that retrieves flight data from OpenSky.

How does Micro Radar get its flight data?

The README states the project uses OpenSky's API for retrieving flight data, and that the ESP32-C3 module does the heavy lifting. An OpenSky account is recommended because it raises the daily request allowance from 400 to 4000, which the README says makes the live view much more accurate.

Do I need an OpenSky account to run Micro Radar?

No, but the README highly recommends it. An account is free and raises the request limit from 400 to 4000 per day, which improves how accurate the live view is. Signup is at opensky-network.org.

What hardware does Micro Radar require?

The core is a 1.28-inch round GC9A01 240x240 IPS display module with an integrated ESP32-C3, plus a USB-C ribbon extension cable, M2 heat-set threaded inserts, and an optional 32.5mm round mineral glass lens. The README warns that deviating from this hardware may require modifying the enclosure or the code.

Does Micro Radar need soldering?

The README says no soldering is required for the module itself, since it does all the heavy lifting. A soldering iron is still listed among the tools because it is used to set the M2 threaded inserts into the printed parts.

Official sources

  1. AnthonySturdy/micro-radar on GitHub
  2. Issues
  3. License: MIT
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/anthonysturdy-micro-radar.svg)](https://hysenlabs.com/projects/anthonysturdy-micro-radar)