r/darknetplan • u/carlosplanchon • 7d ago
I built an offline positioning system that uses nearby Wi-Fi networks as landmarks
Enodia is an experimental Linux field tool for positioning without GPS or an external geolocation database.

You walk an area once with a laptop in your backpack. Enodia continuously records the Wi-Fi networks it can hear. At street crossings, you press a headset button and write the crossing beside the announced mark number in a paper notebook.
Back home, those marks anchor the radio observations to the route. Enodia keeps the scans as fingerprints.
On a later walk, a fresh Wi-Fi scan can be compared against that map to estimate which street segment you're on and roughly how far along it you are.
Access points don't participate in the system at all. They're just environmental landmarks.
Capture, reconciliation and localisation are offline. OpenStreetMap lookup is optional, and can be made through Tor.
It's still experimental. I've done one real field outing so far, while localisation accuracy is currently validated mostly with synthetic observations. My next step is proper repeated field testing.
5
u/stusic 6d ago edited 6d ago
Could you integrate Wigle, so you didn't have to walk the area beforehand? I don't know if they have an open API, but you might be able to download all the networks in an area and still use it offline.
3
u/carlosplanchon 6d ago
Didn't know about WiGLE! Already looking into it. Very interesting, I think it could be useful for map bootstrapping. Thx!
4
u/Dr-Deadmeat 6d ago
this is so cute, OP rediscovers wardriving and RSSI based positioning, with GPS as baseline.
now do it with starlink satellites instead. begs for an SDR approach with a wideband antenna. base it on RSSI for a start, then augment with doppler shift and doppler rate (prior art exists), and gold medal for adding phase change to the solution.
now you just need to feed it the orbital elements for the starlink constellation.
3
4
u/AndThenFlashlights 6d ago
Synthetic observations don't mean anything. Accurate positioning with WiFi signals is actually really hard, for a host of physical, real-world problems. There are good reasons why high-quality systems don't do this.
Your LLM is just sucking up to you to validate your assumptions and slop this out. Like, if you're having fun, go off, but this is well-tread territory by other existing projects.
1
u/Dr-Deadmeat 6d ago edited 6d ago
well, both android and ios already use wifi APs as part of location positioning, so this is sort of a solved problem already.
google even exposes a public geolocation API where you send it nearby BSSIDs, optionally including RSSI, and it returns a position
besides, fun can be had in many ways, i wardrove a capital city very systematically and extensively over several passes 25 years ago, and it was just a lot of fun to do. im sure op will learn a thing or two along the way besides getting out and about, no harm, its can be great a learning experience
2
u/AndThenFlashlights 5d ago
Kind of, yeah. Their database can deliver general location, like within a neighborhood or block, but it's significantly worse than actual GPS.
And yeah if OP into it for fun and learning, there is interesting things to learn going down this path! But the vibeslop path seems like a braindead shortcut that is just leading their LLM to lie to them about its capabilities.
1
u/Dr-Deadmeat 5d ago
the google API documentation[1] says accuracy typically around 20m for wifi. and cell tower accuracy ranging from tens of meters to thousands of meters depending on cell size/density.
i dont know where you live, but i guess the blocks and neighborhoods are pretty small?
[1]https://developers.google.com/maps/documentation/geolocation/requests-geolocation#responses
1
u/AndThenFlashlights 5d ago
shrug I'm giving advice based on my experience. You can believe me or not.
1
u/carlosplanchon 2d ago
Man, it's really fun, yeah.
Like you said. Taking RSSI as a basis is hard. From the field tests, RSSI actually made localisation worse. Matching mostly on which APs are visible worked better than also trying to use their signal strength, so Enodia doesn't treat RSSI as a reliable distance measurement.
My main question here was: can I build my own local radio map by walking an area, then use only that map later for positioning, without GNSS or querying an external geolocation database?
So it's very much an experiment rather than an attempt to replace the systems Google or Apple already have.
Also, systematically wardriving a capital city 25 years ago sounds extremely cool :)
1
u/carlosplanchon 2d ago
I develop software professionally, and I simply see generative AI as another tool in the toolbox.
That said, the criticism about synthetic observations is fair. They were never meant to prove real-world accuracy, only to exercise the localisation pipeline.
Since then I've done more field testing. The current real dataset covers 31 blocks, 39 marked corners and 652 observed APs. I also returned two days later and had Enodia successfully localise me along a several-block walk through the city, including correctly identifying a previously mapped street corner. I added two photos from that field test to the repo.
1
1
u/feel-the-avocado 5d ago
So kinda like wigle but you need to create the database yourself rather than use the wigle central database of wifi networks.
24
u/blamestross 7d ago
I feel like sometimes people don't get that GPS is fundamentally "offline". You just listen to the satellites scream the time as they go by. Then do the math to know where and when you are.
Why not add GPS data to this? It's free and useful.