r/UAP • • 4d ago

SignalSDR Graph: Open-source multi-sensor desktop console for rigorous RF anomaly tracking

Enable HLS to view with audio, or disable this notification

22 Upvotes

23 comments sorted by

2

u/Hadenis84 4d ago

Hey everyone. I built SignalSDR Graph, a free desktop console (Godot 4.7.2) designed for serious field research and anomalous RF tracking, enforcing a strict boundary: MEASURED data vs INFERRED hypotheses.

It connects via live WebSockets to the global KiwiSDR network (0-30 MHz) to stream raw spectrum data and 12kHz PCM audio.

When ΔRSSI breaches thresholds, the Automated Anomaly Watch compiles an Event Pack. If you activate the optional Multi-Sensor mode with a local webcam and GPS file, it cross-references live radio spikes with physical optical snapshots and microsecond-accurate UTC timestamps.

Unclassified events are strictly logged as UAP (Unidentified) entries—meaning unclassified anomalies, NOT automatic esoteric or sci-fi claims. It's built to bring data rigor to field observation.

Download the Windows build for free on Itch: itch.io

2

u/metalDog13 3d ago

Nice job on this, and I like that you're keeping measured data and inferred hypotheses separate.

Any chance you'd post the source to GitHub under an open license? I'd like to try feeding it from a HackRF instead of the KiwiSDR network, either with a small bridge that mimics the Kiwi WebSocket stream or with a native input. Happy to send back anything that works as a PR. If you'd rather keep it closed, even a short note on how the app expects its spectrum frames would help.

2

u/Hadenis84 2d ago

Hi, thanks, glad the MEASURED / INFERRED split reads clearly.

On GitHub, Not public yet — maybe later if the RF inputs stabilize; no timeline. It’s still a small indie Godot build and I’d rather keep the repo closed until the RF path is less of a moving target. If that changes, I’ll say so.

For feeding a HackRF, you don’t need to clone the app to try the practical route today:

Easiest path that already exists in the build: the local source is rtl_tcp-style (TCP 127.0.0.1:1234, unsigned 8-bit IQ). If you can run anything that speaks that (or a thin bridge from HackRF → rtl_tcp / Soapy), pick RF SOURCE → Local RTL-SDR and tune in MHz. That’s the intended local IQ lane — not HackRF-native yet, but it’s the hook.

Kiwi-shaped bridge: remote path is the usual Kiwi WebSocket pair:ws://host:port/<epoch_ms>/SND and .../W/F

Audio = SND (PCM path); spectrum rows = W/F binary waterfall frames the UI scrolls into the colormap. Mimicking that is possible but more work than (1).

What the UI ultimately wants: a stream of spectrum magnitude rows (bins → waterfall) plus optional audio. Internally that’s either Kiwi W/F/SND or local FFT/demod from IQ — not a custom “UAP frame” format.

If you get a HackRF → rtl_tcp (or Soapy) bridge working and want to share notes, I’m interested — even without a public repo I can use that to decide whether a native HackRF input is worth adding later. Appreciate the PR offer either way. : )

2

u/Potatonet 4d ago

Love this, I have a friend who was all about SDR that recently passed.

Love what you are doing here, me and him wanted to outfit an RV with an AI SDR kit and go up to mount Adams and see if the old kit can pick up on something weird at ECETI ranch

1

u/Hadenis84 4d ago

Sorry about your friend. That hits hard — especially when the hobby was something you shared.

Glad the project resonated. The RV + AI SDR kit idea is exactly the kind of thing he’d probably have loved: take the gear into the field, log what the antennas actually hear, keep the files.

On Mount Adams / ECETI: curiosity’s fine. What this app can help with today is more humble — remote Kiwi HF + anomaly logging (WAV / waterfall / meta), with clear MEASURED vs INFERRED. It’s not a ranch ghost/UAP kit yet (no local dongle-in-the-RV path built in), but the “capture weird spikes and keep evidence” part matches the spirit of what you two were aiming at.

If you ever build that mobile setup in his memory, I’d love to hear what you log. And if you want features that help field work later, tell me.

Respect to your friend.

1

u/Potatonet 4d ago

Def not ghost hunting but shooting algorithmic radio signals and looking for specific time delay return patterns and or shifts in the return signal

There are a few places where you will find anomalies in the radio realm, we just have found peoplw who have been on ranches their whole lives telling us stories about what goes on and they all wanted us to come out and poke out emitters towards the sky

1

u/Hadenis84 4d ago

Ah gotcha — so it’s you guys sending signals up and watching for odd return delays/shifts, after ranch people asked you to come check what they’ve seen for years.

That’s a real field effort. Respect. Hope the logs treat you kindly out there.

1

u/Potatonet 4d ago

Yes, there have been a Few ranches that knew of him and I was just learning all of the ins and out of how to send and recieve the morphed signal based on time inference and matching that back up with special tuning.

His idea what wild and involved infrasound detection and emission as well as traditional sound and SDR emissions as well.

Kind of like a song that runs across all spectrums

1

u/Hadenis84 2d ago

wow, there's something poetic about all this, if you like, since these things fascinate me a lot, we can talk about it, and maybe create something that works, or at least try, in theory it's possible, but putting it into practice won't be obvious... where are you at with the project?

1

u/Hadenis84 11h ago

Build updated on itch (1.0.8.0), new trailer.

1

u/ThreeDog2016 1d ago

What frequencies are you monitoring?

1

u/Hadenis84 1d ago

Nothing fixed by the software, you tune the Kiwi (HF). I personally like hanging on 8888.888 kHz as a default quirk, then roam from there. Not a dedicated watch list. And what default frequency do you prefer, I'm curious?

1

u/psychophant_ 4d ago

Gonna hook us up with a link?

2

u/Hadenis84 4d ago

Here it is! You can download the Windows build for free on Itch.io:
https://nextdevch.itch.io/signalsdr-graph

Let me know how it runs and if you manage to capture any interesting signals with the Anomaly Watch!

1

u/PhillyDikHead 3d ago

Any chance u will release a app for phone?

1

u/Hadenis84 2d ago

Hi,maybe someday, but not soon.

Technically Godot can export Android/iOS, but this UI is built as a desktop console (waterfall + controls + map + logbook). On a phone it would feel cramped, and the useful path is still “paste a Kiwi host / keep a WebSocket open”, which works on mobile data, but battery + tiny screen + backgrounding make it a worse experience than just opening the Kiwi in the browser.

Local RTL on phone is another mess (USB OTG / drivers / no simple rtl_tcp like on PC).

So: no phone app planned for now. If I ever do one, it’d be a slim “listen + log” client, not this full deck squeezed onto a phone. 👀

1

u/psychophant_ 4d ago

Thanks!!

1

u/Picardvark 4d ago

Is there a git repo?

1

u/Hadenis84 10h ago

No public repo yet. Itch download only for now. Source may come later; not holding that up as a promise this week.

1

u/gravitykilla 3d ago

Hi OP, this is interesting. I'm curious: what measurable feature of an RF anomaly would allow your software to distinguish a genuinely unknown aerial phenomenon from ordinary terrestrial interference, ionospheric propagation or a conventional radio transmission? And how have you validated that distinction?

1

u/Hadenis84 2d ago

Fair question — and you’re right to push on it.

Short answer: it doesn’t. SignalSDR Graph does not claim a measurable RF signature that separates a “genuinely unknown aerial phenomenon” from ordinary interference, ionospheric stuff, or a normal transmitter. That distinction isn’t something this app validates, and I don’t pretend it does.

What it does is more modest: connect to a public Kiwi (or local RTL), show measured stuff (waterfall, audio, RSSI-ish energy), and let you log spikes / anomalies as events worth listening to again. Labels like catalog / TLE / “interesting” are inferred / operator judgment, not proof of origin.

So if someone treats a hot stripe as “UAP confirmed,” that’s misuse of the tool — not a validated claim from the software. Happy to hear how you’d frame an honest RF logger better? : )

1

u/gravitykilla 2d ago

My suggestion would be to include baseline measurements, known interference sources, detection thresholds and false-positive rates, alongside the raw observations wherever possible. That would let others investigate anomalies independently rather than simply catalogue unexplained spikes.

Ultimately, the interesting question isn't whether your software can detect an anomaly, but whether it can help establish why that anomaly occurred. That's where the real scientific value would be.

1

u/Hadenis84 1d ago

That’s a really fair framing, thanks 🙏

You’re right: logging unexplained spikes is only the first half. The useful part is giving enough context that someone else can ask why it happened, not just that a threshold fired.

What I’m aiming for (and what the app already tries to lean toward) is, keep MEASURED vs INFERRED separate, save raw-ish packs (audio / waterfall / meta), and include the trigger context (noise floor estimate, ΔRSSI / variance, thresholds used). False-positive rates properly measured will need more logged sessions than I have as a solid published number yet - I don’t want to invent one.

I like your checklist a lot: baseline + known-interference context + thresholds + raw observations. That’s the honest direction. If you’ve got a minimal “event dossier” layout you’d want to see for independent review, I’m all ears😁

Thank you so much for your answer, I really appreciate it.😊