upvote
Using ADS-B and calling it a "radar" feels wrong to me.

(But is is a cool project)

reply
Agreed, and even SSR always felt like cheating imo. I wanna see someone build a primary radar on an esp 32.
reply
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...

This is not the project I remember, but it's the same idea and technique: https://github.com/Max-Manning/passiveRadar

reply
Is it bistatic or monostatic? How do you know that it is doppler and not multipath?
reply
deleted
reply
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.

reply
deleted
reply
And not actually receiving ADS-B which requires some radio module tunnable to specific frequencies
reply
I would actually expect the math to decode ads-b traffic is substantially less complex than, for example, a TLS connection.
reply
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.

reply
> 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).

reply
GPS is over 1 GHz, but I don't think you need to have a microcontroller running that fast to decode it?
reply
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.

reply
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.

[0] https://github.com/esphome/home-assistant-voice-pe/issues/31...

reply
It is trivial to decode, but don’t forget that tls is extensively optimised on most networking stacks.
reply
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

reply
Why do you need to send the samples over USB?
reply
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.
reply
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

reply
deleted
reply
You could fit a pi zero and rtl in an enclosure not much larger than the one they’ve printed.
reply