As I live on a widely used flight path, I also made one a while ago using a cheap ESP32 ($12) XiaoZhi AI display .
I made it multi-purpose by showing air traffic when a flight enters the selected airspace and when there's no new traffic, it defaults to showing my Claude usage and reset duration. It works with ESPHome and also has Home Assistant Voice Assistant as I wanted to experiment with fully local HA Assist.
scarecrowbob [3 hidden]5 mins ago
I live a couple of miles from an airport that houses a fire-fighting air tanker base, and I am somewhat terrified of fires- 120K Acres has burned in my area of the state so far this year.
I've also been a ham radio enjoyer and had been looking for projects that work with radio. So I built a little antenna that works with ~1Mhz and hooked it to a raspberryPi running dump1090... it's amazing how far I can receive. 50-ish miles across a bunch of 12k-14k mountains.
However, I've switched to just using one of the ADSB sites because they have a lot more tracking info.
It's been super interesting to watch the tankers take off. Mostly c130 and md80, but there have been a pair of canadair float planes... quite a menagerie of aircraft.
Anyhow, the adsb stuff gets really interesting once you identify the spotting planes, as it's a little faster at identifying where agencies are looking at fires than WatchDuty (which also works very well).
ejanus [3 hidden]5 mins ago
Can I privately reach out to you?
MrGilbert [3 hidden]5 mins ago
Looks like several of these have come up in the past months, with the last one being a real product (that was on pre-order)
> Radar is a system that uses radio waves to determine the distance (ranging), direction (azimuth and elevation angles), and radial velocity of objects relative to the site. It is a radiodetermination method used to detect and track aircraft [...]
> A radar system consists of a transmitter producing electromagnetic waves in the radio or microwave domain, a transmitting antenna, a receiving antenna (often the same antenna is used for transmitting and receiving) and a receiver and processor to determine properties of the objects. Radio waves (pulsed or continuous) from the transmitter reflect off the objects and return to the receiver, giving information about the objects' locations and speeds.
The OP's project only passively receives the digital location information of each airplane transmitted by the airplane itself. The project does not transmit radio waves nor do any physical determination of the plane's location.
Yeah, while this is a neat project, I was expecting something completely different (and possibly illegal I guess, I don't know).
ohyoutravel [3 hidden]5 mins ago
I clicked through so fast thinking someone had made something that wasn’t simply pulling open source ADSB data and putting it onto a screen.
NooneAtAll3 [3 hidden]5 mins ago
radar *display*
making esp32-based radar emitter would've been cool, tho
Mankaninen [3 hidden]5 mins ago
Agree, and the display is called a PPI (https://en.wikipedia.org/wiki/Plan_position_indicator).
Before computers, they were easy to connect to a scanning (rotating) radar since the "memory" was the phosphor in the display.
boguscoder [3 hidden]5 mins ago
Perhaps I didn’t read it thoroughly enough but it seems that lat/long of the “radar” are expected to be entered by user, I think using wifi positioning could be of great assist and could be done from mcu itself without involving web portal, though maybe portal already does it (didn’t get to see it)
firesteelrain [3 hidden]5 mins ago
Could use https://ipgeolocation.io to provide it however still requires configuring an API key like if the little airplane “radar” had a backend it could reach. For WiFi configuration, could use something like comitup [1]. Put together that would eliminate the need to login to the device.
What should an ESP32 with a display cost? It seems like the chip itself is a couple bucks, but the combo of ESP32 + display is around $40. Is there a way to do it cheaper? Put it together myself?
slug [3 hidden]5 mins ago
Look into the CYD variants, usually can get for less than $15
I got 3 esp32 and a screen on amazon for about 20$. It seemed to be the cheapest I found.
amatecha [3 hidden]5 mins ago
Looks pretty cool, though kinda "cheating" by pulling from adsb.fi - though I think you'd need something a lot more powerful than an ESP32 to receive and decode ADS-B ;)
bigiain [3 hidden]5 mins ago
Using ADS-B and calling it a "radar" feels wrong to me.
(But is is a cool project)
daemonologist [3 hidden]5 mins ago
Agreed, and even SSR always felt like cheating imo. I wanna see someone build a primary radar on an esp 32.
bigiain [3 hidden]5 mins ago
Gotta admit that's what I clicked through hoping for.
I've seen a few projects that use SDR to detect doppler shifts of reflections of broadcast FM radio station off planes as "passive radar". But that doesn't get much in the way of direction info, just approach velocity. I've pondered building something that uses that and correlates it with an ADS-B receiver, to see it it can detect aircraft that are not transmitting ADS-B. But that'd get me on another "list" if I published it I suspect...
Is it bistatic or monostatic?
How do you know that it is doppler and not multipath?
phire [3 hidden]5 mins ago
I suspect it's possible to build an active radar without exceeding the limits of the ISM bands.
Actually, I know it's possible, that's how the automotive radars (used for adaptive cruise control) work. The real question is if someone can get enough range to pick up aircraft.
blks [3 hidden]5 mins ago
And not actually receiving ADS-B which requires some radio module tunnable to specific frequencies
sephamorr [3 hidden]5 mins ago
I would actually expect the math to decode ads-b traffic is substantially less complex than, for example, a TLS connection.
dlcarrier [3 hidden]5 mins ago
TLS is supported in hardware, so it takes no more processing power than moving the data around without encryption.
In the US, ADS-B in uses 1.3 MHz of bandwidth, which would require 2.6 Msps. The ESP32-C3 running at 160 Mhz would have ~70 instructions per sample to process the data. That's probably doable, but the ESP32-C3 is one of the less capable variations of the line, and there are dual-core versions running at more than double the frequency, and those should be able to handle ADS-B in without issue.
schoen [3 hidden]5 mins ago
> TLS is supported in hardware, so it takes no more processing power than moving the data around without encryption.
Specifically, common PC CPUs support AES acceleration, so you can get the ongoing encryption for an established connection with minimal overhead. There is still some initial overhead for establishing the TLS connection due to the need to do key exchange (with asymmetric cryptography primitives typically based on Diffie-Hellman with finite fields or elliptic curves).
cenamus [3 hidden]5 mins ago
GPS is over 1 GHz, but I don't think you need to have a microcontroller running that fast to decode it?
a1o [3 hidden]5 mins ago
I imagine the over 1GHz in this case is the baseband that you are talking about.
ADS-B baseband is also around 1GHz, what they mean is once you down convert in the process of demodulating the signal you will get a signal that has bandwidth of 1.3MHz.
windexh8er [3 hidden]5 mins ago
Except on small memory / processing devices (like ESP32) it's not actually that simple. Processing ADS-B on an ESP32 would, likely, be easier.
Part of the reason I've come to understand how finicky TLS is on ESP32 is because there have been a ton of TLS issues with these devices in Home Assistant [0]. The linked issue just being one of them that's still not fully resolved.
It is trivial to decode, but don’t forget that tls is extensively optimised on most networking stacks.
punnerud [3 hidden]5 mins ago
Actually possible to receive and decode ADS-B on ESP32, but MLAT is failing (tried hard but not found a trick yet).
Biggest problem isn’t that it’s not powerful enough, but the USB port bandwidth don’t match most SDR.
Using some clever tricks you can receive parts of the message on a slower USB and be able to decode ADS-B
1e1a [3 hidden]5 mins ago
Why do you need to send the samples over USB?
dlcarrier [3 hidden]5 mins ago
The built-in ADC doesn't have a high enough sample rate to decode ADS-B in, so an external one is needed, and USB ADCs are readily available with built-in demodulators, for use as DVB-TV receivers.
punnerud [3 hidden]5 mins ago
No you don’t need an external one, it’s actually possible to sample parts of high bandwidth using a lower bandwidth because of the small buffer in most SDR. The problem is that you can’t freeze the buffer so have to gather multiple “sweeps” get parts of ADSB stitched together.
Maybe I post the Rust code after some cleanup. Now I am busy build a new database from scratch to compete with them all https://github.com/punnerud/mpedb
You could fit a pi zero and rtl in an enclosure not much larger than the one they’ve printed.
andai [3 hidden]5 mins ago
That is so cool. I don't know what I would do with this but I want one!
sneak [3 hidden]5 mins ago
ADS-B is not radar, despite ATC calling these sorts of things “secondary radar”.
steve1977 [3 hidden]5 mins ago
Secondary radar historically was radar. ADS-B can be seen as kind of a replacement or complement, I guess that's why it falls under the same terminology.
ustad [3 hidden]5 mins ago
“Finally, the firmware now supports authenticated OTA updates, so future builds can be installed through the browser instead of connecting the board over USB.”
What does that mean?
alexchamberlain [3 hidden]5 mins ago
OTA = over the air. ie online updates you’d expect of a more polished product
ustad [3 hidden]5 mins ago
But the browser is involved. Can the browser do OTA to esp32?
cenamus [3 hidden]5 mins ago
The browser connects to a webserver running on the ESP32. Over wifi -> over the air.
OTA doesn't mean headless or automatic
waste_monk [3 hidden]5 mins ago
I believe the ESP32 runs a small web server that supports WebSerial (?), if you can reach it over WiFi or somesuch, you should be able to upload the new firmware blob that way.
mlrtime [3 hidden]5 mins ago
I have about 30-40 esp32 / esphome type devices running. Typically to flash or update a device, you would plug it into your usb port.
esphome can also be flashed "OTA" which just means compiling your project locally, then pushing the binary over tcp/ip and giving an instruction to install it.
Cool project! Funny how similar projects can pop-up at the same time; here is a somewhat similar project for identifying close-by flights, but this is a mobile app: https://github.com/etnt/skyoverhead
> Can any aircraft navigation system plot drone Remote ID beacons on a map?
> How sensitive of a sensor array is necessary to trilaterate Remote ID signals and birds for aircraft collision avoidance?
Could aircraft locate birds with CSI Channel State Information?
> A Multispectral sensor array (standard) would probably be most robust.
I started working on adding weather over HTTP (or from a LoRA message from a sender key on an allow-list) to an ESP32-S3 with a 2" eInk screen with Meshtastic InkHUD. I got to testing the output on the SPI display and wrote a codec to do 1bpp 1Hz video on ESP32 and then added gaussian splatting and layers to the codec (which is brand new), so now on paper it says it can do 3D scene rendering from a configurable perspective and rescaling of normed 3x3 tensors for the display size (2x2 tensors for 2D). Haven't tested that yet but I did ask it to add sensor fusion to try to track viewer positions(s) with an Accelerometer or Ultrasonic (which this device doesn't have) or Wi-Fi CSI Channel State information. I started working on the codec, MAV (Mu Animation Video), in ffmpeg and haven't yet implemented enough device simulator pitch/roll/yaw buttons to complete testing of the 3D on ESP32 with gaussian splatting yet.
There's probably already a flight sim game or screensaver that will render on esp32? It looks like there are a few games in the meshtastic firmware for TFT screens but not for InkHUD eInk at 1 Hz (1 fps)
rbanffy [3 hidden]5 mins ago
It needs a 28 inch display.
holoduke [3 hidden]5 mins ago
These kind of project are now so easy. A few prompts and you have something like this. I did it with quite a few similar like projects.
You can buy super cheap esps with integrated lcds for less than 20 dollars.
nunodonato [3 hidden]5 mins ago
yeah, I've been dying to do something with ESP32, but still waiting for that idea. Something with eInk displays :D
fsniper [3 hidden]5 mins ago
I did vibe coded one, where It downloads images from my (currently defunct) immich server album, dithers them for 4 color inky display, downloads the weather data and display them. It's a fun little one. I wish the inky only had a "faster than 30secs full refresh" partial update capability.
I made it multi-purpose by showing air traffic when a flight enters the selected airspace and when there's no new traffic, it defaults to showing my Claude usage and reset duration. It works with ESPHome and also has Home Assistant Voice Assistant as I wanted to experiment with fully local HA Assist.
I've also been a ham radio enjoyer and had been looking for projects that work with radio. So I built a little antenna that works with ~1Mhz and hooked it to a raspberryPi running dump1090... it's amazing how far I can receive. 50-ish miles across a bunch of 12k-14k mountains.
However, I've switched to just using one of the ADSB sites because they have a lot more tracking info.
It's been super interesting to watch the tankers take off. Mostly c130 and md80, but there have been a pair of canadair float planes... quite a menagerie of aircraft.
Anyhow, the adsb stuff gets really interesting once you identify the spotting planes, as it's a little faster at identifying where agencies are looking at fires than WatchDuty (which also works very well).
- https://makerworld.com/models/2872376-esp32-plane-radar-live... (referenced by the linked article)
- https://github.com/AnthonySturdy/micro-radar
- https://www.gadgies.co.uk/shop/p/product-3-szb2y-gzh2r-tzhkx...
Personally, I really like them. It's a nice gadget. :)
> Radar is a system that uses radio waves to determine the distance (ranging), direction (azimuth and elevation angles), and radial velocity of objects relative to the site. It is a radiodetermination method used to detect and track aircraft [...]
> A radar system consists of a transmitter producing electromagnetic waves in the radio or microwave domain, a transmitting antenna, a receiving antenna (often the same antenna is used for transmitting and receiving) and a receiver and processor to determine properties of the objects. Radio waves (pulsed or continuous) from the transmitter reflect off the objects and return to the receiver, giving information about the objects' locations and speeds.
The OP's project only passively receives the digital location information of each airplane transmitted by the airplane itself. The project does not transmit radio waves nor do any physical determination of the plane's location.
See also: https://en.wikipedia.org/wiki/Primary_radar (true radar), https://en.wikipedia.org/wiki/Primary_radar (ADS-B, which is what the OP receives)
making esp32-based radar emitter would've been cool, tho
1. http://davesteele.github.io/comitup/
https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display
Can also easily integrate with home assistant.
(But is is a cool project)
I've seen a few projects that use SDR to detect doppler shifts of reflections of broadcast FM radio station off planes as "passive radar". But that doesn't get much in the way of direction info, just approach velocity. I've pondered building something that uses that and correlates it with an ADS-B receiver, to see it it can detect aircraft that are not transmitting ADS-B. But that'd get me on another "list" if I published it I suspect...
This is not the project I remember, but it's the same idea and technique: https://github.com/Max-Manning/passiveRadar
Actually, I know it's possible, that's how the automotive radars (used for adaptive cruise control) work. The real question is if someone can get enough range to pick up aircraft.
In the US, ADS-B in uses 1.3 MHz of bandwidth, which would require 2.6 Msps. The ESP32-C3 running at 160 Mhz would have ~70 instructions per sample to process the data. That's probably doable, but the ESP32-C3 is one of the less capable variations of the line, and there are dual-core versions running at more than double the frequency, and those should be able to handle ADS-B in without issue.
Specifically, common PC CPUs support AES acceleration, so you can get the ongoing encryption for an established connection with minimal overhead. There is still some initial overhead for establishing the TLS connection due to the need to do key exchange (with asymmetric cryptography primitives typically based on Diffie-Hellman with finite fields or elliptic curves).
ADS-B baseband is also around 1GHz, what they mean is once you down convert in the process of demodulating the signal you will get a signal that has bandwidth of 1.3MHz.
Part of the reason I've come to understand how finicky TLS is on ESP32 is because there have been a ton of TLS issues with these devices in Home Assistant [0]. The linked issue just being one of them that's still not fully resolved.
[0] https://github.com/esphome/home-assistant-voice-pe/issues/31...
Biggest problem isn’t that it’s not powerful enough, but the USB port bandwidth don’t match most SDR.
Using some clever tricks you can receive parts of the message on a slower USB and be able to decode ADS-B
Maybe I post the Rust code after some cleanup. Now I am busy build a new database from scratch to compete with them all https://github.com/punnerud/mpedb
What does that mean?
esphome can also be flashed "OTA" which just means compiling your project locally, then pushing the binary over tcp/ip and giving an instruction to install it.
With https://github.com/esphome/device-builder you can run a network of multiple esphome builders so you can update many devices at the same time "OTA" (TCP/IP).
> Can any aircraft navigation system plot drone Remote ID beacons on a map?
> How sensitive of a sensor array is necessary to trilaterate Remote ID signals and birds for aircraft collision avoidance?
Could aircraft locate birds with CSI Channel State Information?
> A Multispectral sensor array (standard) would probably be most robust.
I started working on adding weather over HTTP (or from a LoRA message from a sender key on an allow-list) to an ESP32-S3 with a 2" eInk screen with Meshtastic InkHUD. I got to testing the output on the SPI display and wrote a codec to do 1bpp 1Hz video on ESP32 and then added gaussian splatting and layers to the codec (which is brand new), so now on paper it says it can do 3D scene rendering from a configurable perspective and rescaling of normed 3x3 tensors for the display size (2x2 tensors for 2D). Haven't tested that yet but I did ask it to add sensor fusion to try to track viewer positions(s) with an Accelerometer or Ultrasonic (which this device doesn't have) or Wi-Fi CSI Channel State information. I started working on the codec, MAV (Mu Animation Video), in ffmpeg and haven't yet implemented enough device simulator pitch/roll/yaw buttons to complete testing of the 3D on ESP32 with gaussian splatting yet.
westurner/firmware: https://github.com/westurner/firmware/tree/add_weather_http_...
There's probably already a flight sim game or screensaver that will render on esp32? It looks like there are a few games in the meshtastic firmware for TFT screens but not for InkHUD eInk at 1 Hz (1 fps)