Early Access: Zephr's Virtualized Positioning Engine

Early Access: Zephr's Virtualized Positioning Engine

Three years ago we left Snap and had an idea for applying a few concepts from computer vision to GPS/GNSS positioning. Little did we know the Pandora’s box of challenges we’d open in order to holistically improve GPS/GNSS performance and resilience on consumer devices. After much blood, sweat and tears we have built a virtualized positioning engine for Android that meets all our initial benchmark goals. 

Why is This Hard? 

While smartphones and wearables with GPS capabilities are ubiquitous the margins are thin. This results in using very affordable GPS/GNSS chips (~$5) that are packed in with a bunch of other electronics and RF emitters, while using a tiny patch antenna. Utilizing these simple GPS/GNSS receivers means that it is very challenging or impossible to use common positioning techniques like PPP and RTK. To solve this problem we’ve moved the positioning engine off the chip and into software. In the Zephr approach the chip is just providing raw GPS/GNSS measurements and our client is solving for a user’s position with help from a 5G 3GPP corrections server.


Article content
Zephr's Virtualized Positioning Engine

A Client — Server Approach

A core goal of Zephr is to maximize privacy while minimizing positioning error. As such a client-server set up for positioning is ideal. The server can provide corrections leveraging a variety of traditional (PPP) and novel (collaborative positioning) techniques. Critically the server is not storing a user’s position just providing a correction that the client uses to solve for their position. This means that only the user’s device stores its position. The server doesn’t aggregate or save locations across the platform. This ensures that privacy stays in the hands of the user. The Zephr SDK only shares the user’s positions with the apps it is integrated with and users have given permission to share their location.

Zephr’s Single Receiver SDK

For our initial SDK soft launch we will be providing just our single receiver solution. It is the foundation on which our multi-receiver collaborative positioning service is built. It also provides a fall back when other devices are not nearby to deliver raw measurements data for the ensemble correction solver. That said there are still a host of cool innovations that the single receiver has now:

  • GloTEC Integration: Utilizes NOAA’s GloTEC product for PPP style corrections in real time
  • Enhanced Ephemeris: Integrates IGS’s ephemeris services for more accurate satellite positions
  • 10Hz Updates: Leverages IMU sensor fusion to provide a smooth 10 Hz positioning update cadence
  • Spoof Proof: Runs its own positioning engine using raw satellite measurements — so it can’t be tricked by fake headers or GPS spoofer apps
  • Full 6DOF: Localization coordinates for complete spatial awareness
  • Multipath Mitigation: Real time multipath suppression using interference metrics from spherical harmonic maps
  • Custom DOP Metrics: Intuitive 2D (horizontal) and 3D positioning uncertainty (in meters) let you know how much to trust your position

In a future release we’ll be further exploiting our positioning engine to determine if a user is indoors or outdoors. When this is combined with our more resilient positioning it is possible to determine the building a user is located in without concern of false positives caused by GPS drift from outdoor users. 

How Good is It?

There are a variety of GPS/GNSS augmentation services for smartphones and wearables on the market. They all provide impressive qualitative claims like “lane level accuracy”, but few to none give you real world metrics and benchmark. This is something we want to change. It took extra time, but we’ve run a boat load of tests — open sky, suburban, urban, local, international. Here is the high level graphic and more importantly the link to each specific test that rolls up into the aggregate metrics.

Article content
Zephr Benchmark Positioning Metrics

To be completely transparent these benchmark accuracy metrics are updated by our “continuous integration” testing in real time. If we tweak the model or add new tests the updated statistic will show up live on our website. No hiding regressions or scenarios we perform poorly on. 

While quantitative metrics are critical it also important to optimize for the user's experience with their blue/orange dot on the map. To this end we've added 10hz positioning. This means we update the user's position 10 times every second instead of the default 1 update per second provided by Android. You can see the difference this makes in the video below where I'm walking the lines on a local basketball court.

Article content
10hz Position Updates

The team used sensor fusion and interpolation techniques to create a model for a smoother user experience. The bonus is it also makes our metrics more accurate.

How Can I try This Out?

We’ll be providing free beta access to the Zephr SDK as part of the soft launch. Just head to this link and sign up for the "waitlist". As we scale up we’ll increasingly open access. Since not everyone has a location based Android app ready to go we are also providing an open source demo app. The app will show both the Zephr location and the native Android position. In addition we’ve connected the app to our hosted Overture Places (Zephrture) API. Once you’ve connected the places or another data source you can try out our the SDK’s localization capabilities. For this we use the SDK’s 6DOF feature to determine what “place” the smartphone is looking at using just GNSS+IMU sensors (no camera!).

Article content
Zephr's Open Source Demo App

How Does This All Connect to Local AI?

If you follow our blog you’ve probably seen several recent posts our work to build a local navigation AI agent. 

Zephr's Local AI Demo

If you want an AI agent that can interact with the physical world it needs to accurately know where you are and what you are looking at. Being 10 meters off and thinking the user is looking 20 degrees in the wrong direction won’t cut it. While precise positioning with commodity chips is essential it is not sufficient. We’ll be following up our SDK soft launch with the Zephr Local AI platform — including access to our MCP, API and agent (+ a bonus demo app in the Google Play Store). 

We are super excited to share the team’s work with the world. I can’t say enough awesome things about their work ethic, determination and creativity getting us to this point. There is lots more work to do and we can’t wait to get your feedback on our first steps.

Akshay Aditya

CEO & Founder Contour | Building the future of maps

1w

🚀

Trisha Ballakur

CEO @ Pointz | Forbes Under 30 '25 | Techstars '22

2w

Congrats Sean and team!!

Blair Birdsell

Data Scientist @ Surespan Group | AI Projects, Data Visualization

2w

Wow. Very smart approach. This is good feedback for Architectural designers and researchers. I can think of a few construction applications. Congrats. 🎉

Like
Reply
Joe Morrison

“Controversial industry figure” - Grid News. VP and GM of Remote Sensing at Umbra Space.

2w

By gawd he's done it again, he can't keep getting away with it 😭 😭 😭

James Sondag

Sales @ AWS | Advisor | Investor | Geospatial SME

2w

This is super exciting to see! 🚀 🚀 🚀

To view or add a comment, sign in

More articles by Sean Gorman

Explore content categories