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.
The documentation is structured as follows:
User Guide: This guide explains the benefits of the AssistNow service, licensing and 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 right side menu (under "Related guides") and on the current page.
Device Registration Guide: Describes how to obtain the 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.
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 to just 1-2 seconds and reaching the target accuracy almost immediately.
AssistNow Predictive Orbits is provided free of charge and included with all M9 and F9 u-blox GNSS receivers (and future generations) upon registration on the Thingstream service delivery platform.
AssistNow Live Orbits is available in two pricing options:
Bundled license: Included in the GNSS receiver price, this option provides a lifetime license with guaranteed service for 5 years. After that period, standard service terms apply. 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 .
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.
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. It's worth noting that performance greatly depends on device design and environmental conditions, so results may vary across different testing conditions. The below chart illustrates:
The improvement in TTFF when using AssistNow
The minimal TTFF variance when using Live Orbits
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.
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.
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.
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 connecting a GNSS chip or module in your own device to u-center 2 (instead of an EVK), you need to retrieve the credentials (Chipcode) to access to AssistNow service using the Zero Touch Provisioning procedure described in the next section. Once retrieved, the Chipcode shall be configured in u-center.
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 respons, 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 dedicated section.
If you are new to u-center or need help using AssistNow within it, take a look at this short guide.
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.
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. ZTP simplifies adding devices to your fleet, making it ideal for large-scale deployments. Additionally, the Chipcode provides secure authentication, protecting your devices and data from unauthorized access.
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.
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 man-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.
The A-GNSS data returned by AssistNow service are encoded in a sequence of UBX-MGA-*** messages containing the requested assistance in u-blox (UBX) protocol. The section in the UBX messages in the Service integration guide provides a comprehensive list of all the available data and which UBX message is delivered for each service option.
To understand the frame structure and get more details of the data fields of each message you are invited to 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 that have flash storage, all the data can be directly transferred to the flash until it is needed.
Receivers without flash storage or with insufficient spare flash memory can store A-GNSS data in the host and send them 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 in all the possible configurations.
Note: the data provide by the service do not need additional manipulation by the device Firmware and can be injected in the receiver as sent by the service.
The Time-To-First-Fix 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 form the AssistNow service. In addition, the following techniques can restore the data that was stored prior to powering down.
Battery-backed RAM (BBR): the receiver operational state stored in this RAM can be maintained during power outages by connecting the V_BCKP pin to an independent supply, e.g. a battery. This is a recommended method as it will maintain all A-GNSS related information, any user configuration, calibration data, and an estimate of time via the real-time clock.
Database dump: The receiver can be made to dump the state of its navigation database in the form of a sequence of UBX messages reported to the host; these messages can be stored by the host and then sent back to the receiver when it has been restarted.
For Predictive Orbits , whose data validity is longer than Live Orbits, the A-GNSS data can be saved also in the Host or in the GNSS receiver Flash (if available)
The Host software guide provide more details about each option
The best data storage strategy greatly depend on the type of data used (Live vs. Predicted), the use case, how often the receiver is switched-on during the day and for how long time.
According to the type of A-GNSS data required and the Hardware used, the device is subject to policies that limits the usage (per day or per month), according to the following table.
Note: in case the the maximum allowed number of request is achieved, the event is shown in the Thingstream platform. The usage counter is reset at 00.00 UTC of the day/month.
A developer device is a device marked as developer in the Thingstream platform. Just sign-in to the platform, enter in the Location Services section and select Thing List. Search your Thing and mark it as Developer in the Details panel.
You can have up to 3 devices per account.
In regards of Live Orbits, the policies are applied regardless if you have selected the Pay-as-you-go model or a receiver type with Live Orbits service license included
u-center 1 does not support the AssistNow Live Orbits and Predictive Orbits service
If you are looking for the AssistNow Online/Offline guide, visit this page
If you need more help or have any questions, please send an email to services-support@u-blox.com.