AI.news
主页教程研究工具模型AI创业讨论新闻每日简报WIKI🚀 创业库★ 投稿
AI+医疗机器人教育金融能源健康娱乐思考

GitHub - AnthonySturdy/micro-radar: A tiny open-source flight radar for your desk

a tiny open-source flight radar for your desk

drawing

PREREQUISITES - ASSEMBLY - USAGE

Prerequisites

At the core of this project is the ESP32-C3 module with an integrated 240x240 IPS screen. No soldering required. The module does all the heavy lifting.

I used dark grey PLA filament for the print, but any colour will work just fine. For the lens (optional but recommended), you'll need clear-drying epoxy to secure it (not super glue, which will fog up the lens. Ask me how I know.)

Tools you'll need

  • Small screwdriver (for M2 screws)
  • Soldering iron (for setting the threaded inserts)

Set up a clean, organised workspace before you start. You'll be handling small components and epoxy, so a dedicated area helps. Keep a damp cloth nearby for cleaning if needed, and ensure your soldering iron has adequate ventilation.

Shopping List

Everything you need is below. I've linked products I used and recommend for ease of build, though alternatives exist on Amazon and elsewhere. If you deviate from this hardware, you may need to modify the enclosure and/or code.

Accounts / API

This project uses OpenSky's API for retrieving flight data.

I highly recommend making an account, as it's free, and allows the radar to make many more requests per day (400 -> 4000), which makes the live view much more accurate. However, it isn't necessary if you prefer.

You can sign up here, or search "OpenSky".

Further info on what to do with the account is in the usage section.

Assembly

Once you've got all the parts, assembly typically takes 1-2 hours (excluding print time).

I strongly recommend reading the Usage section before you start assembly. It'll help with troubleshooting if anything goes wrong. You might want to test the firmware and your hardware before closing everything up.

Step 1: 3D Print

FFCBBECA-6165-4138-8C84-16AB375511A2_1_105_c

Print all four STLs from ./hardware/stl/:

  • Main enclosure
  • Front plate
  • Bezel
  • 2 spacers

Step 2: Heat-set Threaded Inserts

You'll need: Soldering iron, M2 threaded inserts

Start with the front plate: insert 2mm M2 threaded inserts into the larger holes using the soldering iron.

IMG_7882

Next, the two spacers. These might warp slightly, that's fine. Insert 6mm M2 inserts into each.

IMG_7887

Finally, the main enclosure. Insert 5mm M2 inserts.

IMG_7891

Et voilà.

IMG_7896

Step 3 (Optional): Fitting the Lens

IMG_7902

You'll need: Clear-drying epoxy, small applicator (match or cocktail stick works)

This is the fiddliest bit. Keep it neat and you'll avoid frustration:

  • Apply epoxy to the front plate, not the lens
  • Lower the front plate onto the lens (easier to manage excess epoxy)
  • Have a cleaner ready for the edges (I used nail polish remover, your mileage may vary)
  • Less is more with epoxy
  • Work on a surface that won't bond to epoxy
IMG_7911

Let the epoxy cure according to its label before moving on.

Step 4: Bezel

You'll need: 2x5mm M2 screws, 2x10mm M2 screws

Secure the bezel to the front plate using 2x5mm M2 screws through the threaded inserts you added earlier.

IMG_7914

Screw 2x10mm M2 screws through the remaining two holes. They should protrude from the back.

IMG_7915

Peel the protective film off the screen and position it over the lens. The screws you just inserted will guide the display into place.

Before clamping it down with the spacers, make sure the antenna is attached to the module. Press it down firmly onto the flat surface until it clicks. Orientation doesn't matter, but you do need this connection otherwise you won't get any WiFi signal.

IMG_7917 IMG_7920

Now screw the spacers into those protruding screws to clamp the module in place. I recommend keeping the board plugged in at this point to help with alignment. Don't use much force, too much pressure will stress the screen.

Once you're happy with the alignment, you can add a small amount of epoxy around the module to lock it in place permanently (optional, but recommended if you're happy with the build).

Step 5: Final Assembly

You'll need: USB-C ribbon extension cable, 4x7mm M2 screws, optional rubber feet

Attach the USB-C ribbon cable to the case with the provided nuts and bolts.

IMG_7921 IMG_7923

If you like, remove the supports from the bottom and insert rubber feet.

IMG_7924

Plug in the board, then attach the front plate using 4x7mm M2 screws.

IMG_7925

Done!

IMG_7930

Usage

Flashing the Firmware

You'll need VS Code with the PlatformIO IDE extension installed. Once installed, restart VS Code, open the repository folder, and dependencies will pull in automatically.

Plug the board in via USB-C, then hit the upload button (→) in the bottom status bar. If the board doesn't reboot with the new firmware automatically, hold the BOOT button on the back and press RESET once, then release BOOT.

The board should auto-detect, but if you hit an upload failure, check that the correct board is selected in the status bar. If it still won't upload, try:

  • Disconnect and reconnect the USB cable
  • Check that your cable supports data transfer (some USB-C cables are charge-only)
  • Try a different USB port on your computer

Read more about PlatformIO here.

First Boot

On first boot, the radar broadcasts a WiFi hotspot called MicroRadar-Setup. Connect to it from your phone or laptop and a configuration page will appear automatically (or go to your browser if it doesn't). Enter your WiFi credentials and hit save. The board will restart and connect to your network.

If the hotspot doesn't appear straight away, give it a moment. If it still hasn't appeared after 30 seconds, exit the WiFi settings on your device and go back in to force a refresh. It'll usually show up then.

Configuration

Once connected to your network, the radar config is accessible at http://microradar.local from any device on the same network.

Here you can set:

  • Location (latitude and longitude): the centre point of your radar
  • Radar radius: how wide the scan extends (in degrees, 2 degrees is the limit to avoid rate limiting)
  • Display options: toggle visual elements
  • OpenSky credentials: your client ID and secret (if you've made an account - again, highly recommend!)
image

If you've made an OpenSky account (which I highly recommend), you can find your credentials under your account settings at opensky-network.org. With authentication, you get 4000 requests per day instead of 400, making the live view much more accurate. Read more about the API here.

This configuration page is accessible anytime the device is connected to WiFi, so you can tweak settings whenever you want.

That's it! Once you've configured everything, you should see a live view of all flights over your location. Enjoy :)

IMG_7935

Notes

Designed and developed as part of a wedding present for a mate who loves aviation (congratulations to both him and his wife!)

Inspired by therealhacksaw's desk radar

Built with ♥︎ in London