Introduction
Although GNSS users expect instant position information, this is often not possible in typical IoT environments because at least four satellites must be identified, and their complete live orbital position data (called ephemeris) must be received by the GNSS receiver. Under nominal conditions - such as full sky visibility and strong antenna/signal strength—this process takes approximately 30 seconds. However, under adverse conditions, such as in urban canyons or when the signal is weak, the receiver may take several minutes or even fail to download orbital data from the satellites, resulting in a negative impact on the device energy budget.
Assisted GNSS (A‑GNSS) accelerates position calculations by delivering satellite orbital data, such as ephemeris, almanac, accurate time, and satellite status, to the GNSS receiver via wireless networks or the Internet. This aiding data enables a GNSS receiver to compute a position within seconds, even under poor signal conditions. A-GNSS provides faster Time-To-First-Fix, improved accuracy and increased position availability - benefits that directly translate to lower power consumption and larger power autonomy.
Documentation map
The documentation is structured as follows:
-
User Guide: This guide explains the benefits of the AssistNow service, pricing, typical performance, prerequisites, system architecture, and usage policy. It also includes a high level overview of how to use the service, although detailed information is provided in the Implementation Guides.
-
Implementation Guides: These are a set of short guides that show, in detail, how to implement the service, step-by-step. You can find the link to these guides in the current page.
- u-center 2 guide: Describes briefly how to get started with AssistNow and u-center 2 u-blox evaluation tool
-
Device Registration Guide: Describes how to obtain the device credential to access to the service.
-
Host Software Guide: Provides information on how to develop device firmware to inject and store A-GNSS data received from the AssistNow service.
-
Service Integration Guide: Offers detailed instructions on how to request A-GNSS data from the service using the REST API.
-
Service Specification Guide: Provides information about data size, data validity, and supported signals.
Benefits
AssistNow is u-blox’s end-to-end A-GNSS location service that provides orbital data in real time via wireless connectivity. It is available in two options, which can be used independently or in combination: Live Orbits and Predictive Orbits. The main benefit in using AssistNow are:
-
Shortest time-to-first-fix (TTFF): TTFF is a very important KPI when designing the an IoT device, as it directly affects business sustainability. Being able to locate your asset almost immediately, even in challenging environments or with limited sky visibility, adds a new level of reliability to your application. AssistNow is especially useful in designs where weak GNSS signals result from compact form factors or suboptimal device positioning.
-
Maximize position fix probability: Assets, vehicles, people, and pets continuously move across different areas. Yet, GNSS users expect consistent location availability. Typically, when a car exits an underground parking lot or a person or pet steps outside for a walk, the surroundings - dense with buildings, trees, and other signal-blocking obstacles - make GNSS reception unstable. AssistNow maximizes GNSS fix probability, even in such challenging conditions, to meet end user expectations.
-
Minimize energy drain: For battery operated devices, energy consumption is a key driver for sustainability. Most IoT devices stay in the field for several years without battery replacement because of logistical and operational costs. AssistNow minimizes GNSS-related energy drain, extending the device lifetime and thereby removing the need for extra battery capacity.
-
Improved position accuracy: Balancing accuracy and energy efficiency is a common challenge in IoT applications. While waiting longer can improve GNSS accuracy, it also increases energy usage, negatively impacting device lifespan and business sustainability. In many applications, achieving the target accuracy quickly is essential. With AssistNow, you can meet these requirements by choosing either the free-of-charge Predictive Orbits option or the premium Live Orbits option for optimal accuracy.
AssistNow Predictive Orbits provides u-blox's orbit prediction data of GNSS satellites for up to 14 days. As a result, the device does not require continuous internet connectivity at system start-up and can achieve a position fix within 5–10 seconds, improving the Time-To-First-Fix.
AssistNow Live Orbits boosts GNSS performance by reducing the Time-To-First-Fix to just 1-2 seconds and reaching the target accuracy almost immediately.
AssistNow Autonomous
Most of the u-blox GNSS receivers include also an A-GNSS feature that provides a functionality similar to AssistNow Predictive Orbits without the need to connect to a service. Based on a broadcast ephemeris downloaded from the satellites the receiver can autonomously (i.e. without any host interaction or network connection) generates an accurate satellite orbit representation («AssistNow Autonomous data») that is usable for navigation much longer than the underlying broadcast ephemeris was intended for. This makes downloading new ephemeris or aiding data for the first
fix unnecessary for subsequent start-ups of the receiver.
It's worth noting that this feature is applicable only to those use-case can be stay switched on enough to get a relevant set of satellite information, because the sky visibility of the satellites changes over the time and thus only part of the AssistNow Autonomous data can be used to fix the position.
Service options and pricing
AssistNow Predictive Orbits is provided free of charge and included with all M9, M10 and F9,F10 u-blox GNSS receivers upon registration on the Thingstream service delivery platform.
AssistNow Live Orbits is available in two pricing options:
-
Bundle: This option includes a 5 years pre-paid service access from the GNSS receiver purchase and a free of charge service access once this period is expired. This option is currently available for the following products (with more to come in the future):
-
MAX-M10N-00B
-
MAX-M10N-10B
-
NEO-M9V-20B
-
-
Pay-as-you-go: You only pay for the service requests actually made by your fleet. The scalable plan automatically adjusts usage levels each month to provide the best possible pricing. Details are available on our pricing page .
Performance
The following table outlines the main performance characteristics and specifications of the AssistNow service. Time-To-First-Fix (TTFF) is highly dependent on the environment in which the asset is located, how A-GNSS data is provided to the GNSS receiver, and the overall device design. It is essential to conduct careful testing with a device prototype, so that achievable performance for TTFF and accuracy can be properly evaluated.
Predictive Orbits | Live Orbits | |
Data validity | up to 14 day | 2-4 hours |
Data size | ~3 - 135 KBs | ~1 - 4 KBs |
Time-to-First-Fix | ~10s | ~2s |
It's worth noting that reducing TTFF is critical for two reasons:
-
Minimizing device energy consumption
-
Achieving faster target accuracy. IoT environments are often complex, with urban canyons and partial sky visibility. As a result, the first position fix may not be accurate enough for your application. However, in most cases, accuracy improves over time as the GNSS receiver acquires signals from more satellites and refines the position estimate. The faster you obtain an initial fix, the sooner you can reach your desired accuracy.
The following chart shows a typical TTFF comparison with and without AssistNow. As above mentioned performance greatly depends on device design and environmental conditions, so results may vary across different testing conditions.
Pre-requisites and supported hardware
-
A u-blox GNSS receiver (chip or module) from the M9 or F9 series and above, along with the knowledge of how to configure the receiver
-
An account (domain) in the Thingstream service delivery platform. Sign-up is free of charge. If you do not have a domain, get one by signing up at https://portal.thingstream.io/
-
Selection of the option that best matches your performance requirements:
-
Predictive Orbits
-
Live Orbits
-
-
The u-center 2 evaluation tool, which greatly assists during the evaluation and design phases
If you are using an M8 receiver, you can still rely on the legacy AssistNow service (Online and Offline), as long as you have an active AssistNow token. Technical documentation is available at this page. Please refer to the additional information about maintenance and support at the end of this guide.
If you are completely new to A-GNSS technology or would like to have a deeper understanding, we recommend reading this Assisted GNSS article.
System architecture
The system architecture is shown in the image below. To use AssistNow, the following requirements must be met:
-
The host processor must be capable of connecting to the Internet. Please note that low-bandwidth connectivity like LoRa, Sigfox, and NB-IoT do not have enough bandwidth to download A-GNSS data. If you are planning to use these technologies, consider using the u-blox CloudLocate service instead.
-
The HTTPS protocol stack is required to request A-GNSS data from the AssistNow service using the HTTPS REST API.
-
A bi-directional direct connection between the host processor and the GNSS receiver, using any of the available interfaces. This is necessary to inject the aiding data into the GNSS receiver, receive the acknowledgement message and all relevant positioning messages for your application.
Getting started using u-center 2 evaluation tool
u-center 2 is the u-blox evaluation tool for GNSS receivers. It allows you to easily configure the receiver and evaluate performance improvements, when using the AssistNow service.
-
PLug&Play: The easiest way to get started is by connecting an Evaluation Kit (EVK), selecting the type of A-GNSS data you want to use, and start running some tests.
-
If you are using a GNSS chip or module for your testing with u-center 2 (instead of an EVK), you need to retrieve the credentials to access to AssistNow service using the Zero Touch Provisioning procedure described in the next section.
You are suggested to look at this short guide to understand how to get started with AssistNow and u-center 2
Download u-center 2 from the u-blox web site: https://www.u-blox.com/en/u-center-2
u-center 2 automatically retrieves and injects A-GNSS data into the receiver. You can simulate and compare multiple scenarios to evaluate which configuration performs best for your use case, without writing any code. For example, you can compare:
-
Performance with no A-GNSS data, with Predictive Orbits and with Live Orbits
-
Performance during a cold, warm and hot start
-
Performance using only select GNSS constellations
u-center 2 is also a very useful tool during firmware development, because it allows you to analyze firmware commands, receiver responses, and output messages to check that your firmware is behaving properly.
Note: When using u-center with an Evaluation Kit, you get free unlimited access to Predictive Orbits and Live Orbits. For information on usage policies in any other set-up, please refer to the next dedicated section.
Using the AssistNow service
When designing the device firmware, you should consider the following steps in order to use the AssistNow service:
-
Register the device on the u-blox Thingstream service delivery platform and obtain the device credentials to access to the service through the AssistNow Zero Touch Provisioning procedure. The credentials are unique for each device.
-
Retrieve the A-GNSS data from the service using the REST API and the device credentials.
-
Inject the A-GNSS data into the GNSS receiver. The data delivered by the service does not need additional manipulation and can be injected into the GNSS receiver directly as delivered. AssistNow communicates via the HTTPS protocol over SSL.
-
Save the data for further use, without needing to download it again from the service, according to the validity period of each data type.
Let's have an overview of each step. The detailed instructions are reported in the implementation guides, linked in each of the next subsections.
Device registration
The AssistNow Zero Touch Provisioning (ZTP) procedure is required to obtain the credentials (Chipcode) used to request A-GNSS data from the AssistNow service. This procedure is only needed once but can also be repeated to obtain fresh credentials in case of suspicious activity or compromised access.
The Chipcode is unique per device.
ZTP streamlines device setup, eliminating the need for manual configuration for each device.
For implementation details, refer to the Device registration guide. ZTP is required for both Predictive Orbits and Live Orbits, and both variants share the same Chipcode.
Obtaining A-GNSS data
To retrieve A-GNSS data, the device firmware must use the REST API, including the following parameters:
-
The hostname
-
The authentication code (Chipcode)
-
The data to be requested, according to the selected option (Live or Predictive Orbits)
Upon receiving the HTTPS GET request, the server responds with the required messages in binary format and a status code in text format. After delivery of all data, the server terminates the connection. All data (except for the hostname, which is used to establish the connection) is transmitted solely within the encrypted connection and protected against person-in-the-middle attacks, just like any HTTPS communication.
Below is an example of a service request:
https://AssistNow.services.u-blox.com/GetAssistNowData.ashx?chipcode=XXXXXXXXX&gnss=gps,glo&data=uporb_1,ualm
where:
-
chipcode is the device authentication credential obtained during the device registration (via the ZTP procedure)
-
gnss is the list of GNSS constellation for which A-GNSS data is needed
-
data is the list of A-GNSS data types requested from the service
Detailed information is provided in the Service integration guide.
A-GNSS data injection in the receiver
The A-GNSS data returned by the AssistNow service is encoded as a sequence of UBX-MGA-*** messages containing the requested assistance in the u-blox (UBX) protocol. The UBX messages section in the in the Service Integration Guide provides a comprehensive list of all the available data and specifies which UBX message corresponds to each service option.
To understand the frame structure and get more details about the data fields in each message, refer to the GNSS receiver Interface Description. Go to the Product selector, select the desired GNSS receiver and find the Interface Description document in the Documentation & resources section.
For u-blox receivers equipped with flash storage, all the data can be directly transferred to the flash until it is needed.
Receivers without flash storage, or with insufficient available flash memory, can store A-GNSS data in the host and send it to the receiver when needed.
The Host software guide explains how to properly design the device firmware to store and inject data into the receiver for all possible configurations.
Note: The data provided by the AssistNow service does not need require additional processing by the device firmware and can be injected into the receiver exactly as delivered.
A-GNSS data storage
The Time-To-First-Fix (TTFF) after a receiver power interruption is dependent on the amount of operational data available at startup. Satellite broadcast information and an estimate of accurate time can be fetched from the AssistNow service. In addition, the following techniques can restore data that was stored prior to powering down.
-
Battery-backed RAM (BBR): The receiver's operational state stored in this RAM can be preserved during power outages by connecting the V_BCKP pin to an independent supply, e.g. a battery. This is the recommended method, as it retains all A-GNSS related information, user configuration, calibration data, and an estimate of time via the real-time clock.
-
Database dump: The receiver can be configured to dump the state of its navigation database as a sequence of UBX messages reported to the host. These messages can be stored by the host and then sent back to the receiver upon restart.
-
Predictive Orbits storage: Since Predictive Orbit data has a longer validity period than Live Orbit data, it can be stored on the host or, if available, in the GNSS receiver’s flash memory.
The Host software guide provide more details about each option
The best data storage strategy strongly depends on the type of data used (Live vs. Predicted Orbits), the use case, how often the receiver is switched-on during the day and for how long.
Service usage policies
Depending on the type of A-GNSS data required and the hardware used, the device is subject to policies that limit usage (per day or per month), according to the following table.
Note: If the maximum allowed number of requests is reached, the event will be displayed on the Thingstream platform in addition to the error code returned to the device. The usage counter resets at 00.00 UTC of the day and / or month.
Scenario | Predictive Orbits | Live Orbits |
u-center 2 + EVK | unlimited usage | unlimited usage |
Developer device |
300 req/month/device | 300 req/month/device |
Production device | 2 req/day/device | 10 req/day/device |
- A Developer device is a device registered using an Evaluation Device Profile as explained in the Device Registration Guide
- You can have up to 3 devices registered under an Evaluation device Profile per account.
- For Live Orbits, usage policies apply regardless of whether you are using the Pay-as-you-go model or the Bundle.
- u-center 1 does not support the AssistNow Live Orbits and Predictive Orbits service
Next readings
AssistNow Online and Offline user guide
If you are looking for the AssistNow Online/Offline guide, visit this page