This quick-start guide walks you through the essential steps to begin using AssistNow Live Orbits and Predictive Orbits with your u-blox GNSS module or chip.
Notes:
- This guide is intended for users with prior experience with the AssistNow service.
- If you would like to use u-center 2 for evaluation, we recommend reading this guide instead: AssistNow evaluation with u-center 2.
- If you are completely new to AssistNow technology or would like to have a deeper understanding, we recommend reading this AssistNow User guide first.
Prerequisites
To get started with the new AssistNow Live Orbits / Predictive Orbits service, ensure the following prerequisites are met:
- Supported GNSS Receiver: Your design must use a u-blox Series 9 or Series 10 GNSS receiver. Earlier generations and third-party receivers are generally not supported. If you're unable to upgrade your hardware in your current design, please contact services-support@u-blox.com for options or check our Product selector to take advantage of the newest hardware features and performance improvements.
- Verify Orbit Compatibility: All Series 9 and 10 GNSS receivers offer support for Live Orbits. However, only certain models support Predictive Orbits, transmitted as UBX-MGA-ANO messages. Refer to your receiver’s Integration Manual to verify if this message type is supported.
- Thingstream Domain: To use the AssistNow service, you will need to create a domain in the Thingstream Portal.
Service Integration Steps
To use AssistNow services with your GNSS receiver, follow these four integration steps. Step 1 is a one-time manual setup, while steps 2-4 are typically performed by the host platform. Each step is elaborated in the following sections below:
- Step 1 - Create Device Profile & Get ZTP Token: This is done within your Thingstream Domain.
- Step 2 - Zero Touch Provisioning (ZTP): The host device sends a registration request to retrieve a unique chipcode.
- Step 3 - Retrieve AssistNow Data: Query and download AssistNow data using the chipcode.
- Step 4 - Data Injection and Storage: Inject the data into the receiver and manage storage as needed.
- Download the "Python example to access the AssistNow web service via ZTP" in the Download section
- You can also download the AssistNow C Client Toolkit in the Download section of the Thingstream portal
Step 1 - Create Device Profile & Get ZTP Token
First, obtain a ZTP token by creating a Device Profile in your Thingstream domain.
- Sign in to the Thingstream portal.
- Navigate to Services → ZTP → Device Profiles.
- Click on the 'Create Profile' button in the top-right corner
- Complete the profile fields:
Device Profile name: Any name you choose
Module\Chip Type: Select OTHER unless you have one of the specific module variants listed. The listed modules variant will include the premium Live orbits at no additional charge.
Assistance Data Required: Choose Predictive Orbits or both Predictive and Live Orbits. The Predictive Orbits are free to use, while the Live Orbits are a premium service and may incur additional costs.
-
Profile Type: Choose based on your usage scenario (Evaluation or Commercial)
You may register up to three devices under the Evaluation Device Profile within the same Thingstream domain.
If you're using u-center 2 with an official Evaluation Kit (EVK), both Predictive and Live Orbits are available with unlimited usage during evaluation.
-
Profile Type - Usage policy:
Scenario Predictive Orbits Live Orbits Evaluation Device Profile
(with or w/o u-center 2)300 req/month/device 300 req/month/device Commercial Device Profile 2 req/day/device 10 req/day/device
- After creating the profile, open the Details tab to copy the ZTP token and the ZTP endpoint URL, as both are required for registration in the next step.
For more details on step 1, please check the AssistNow device registration guide.
Step 2 - Zero Touch Provisioning (ZTP)
We will now retrieve the unique chipcode for each device, along with the additional service metadata needed in the next integration step. Think of the chipcode as the device-specific credential used to request AssistNow data.
Register each device by making an HTTPS POST request to the ZTP endpoint listed within your Device Profile:
Endpoint
https://api.thingstream.io/ztp/assistnow/credentialsRequest header
Content-Type: application/jsonRequest body fields:
-
token: The ZTP token is obtained through the Thingstream portal. -
UBX-SEC-UNIQID: The full UBX-SEC-UNIQID response message from the receiver, encoded as one continuous hex string. -
UBX-MON-VER: The full UBX-MON-VER response message from the receiver, encoded as one continuous hex string.
The poll commands are:
- UBX-SEC-UNIQID: B5 62 27 03 00 00 2A A5
- UBX-MON-VER: B5 62 0A 04 00 00 0E 34
Example request body:
{
"token": "YOUR_DEVICE_PROFILE_TOKEN",
"messages": {
"UBX-SEC-UNIQID": "FULL_UBX_SEC_UNIQID_RESPONSE_AS_CONTINUOUS_HEX",
"UBX-MON-VER": "FULL_UBX_MON_VER_RESPONSE_AS_CONTINUOUS_HEX"
}
}Important: Use the full receiver response messages as continuous hex strings. Do not use the poll commands as the values. Do not include spaces, line breaks, offsets, ASCII text, or placeholder characters inside the hex strings.
ZTP Response
If the request is successful, the response will contain the device’s chipcode and additional service metadata:
-
chipcode: The authentication credential for accessing AssistNow data. -
serviceUrl: The URL where the host application or device retrieves AssistNow data. -
allowedData: The AssistNow data types available under your subscription for this device.
{
"chipcode": "QkRCRjU0MEYxxxxxxxDMTlBQUE0",
"serviceUrl": "https://assistnow.services.u-blox.com/GetAssistNowData.ashx",
"allowedData": ["ualm", "uporb_1", "uporb_3", "uporb_7", "uporb_14", "ulorb_l1", "ukion", "usvht", "utime"]
}
For more details on step 2, please check the AssistNow device registration guide.
Step 3 - Retrieve A-GNSS Data
With the chipcode and metadata obtained during registration (ZTP), your host device can query the AssistNow service for assistance GNSS (A-GNSS) data using an HTTPS GET request.
https://assistnow.services.u-blox.com/GetAssistNowData.ashx?chipcode=XXXXXXXXX&gnss=gps,bds,gal&data=uporb_1,ualm
where:
chipcodeis your device’s authentication credential, obtained during registration (ZTP).gnssspecifies the constellations for which you want assistance data (e.g., gps, gal, glo, bds.).-
datalists the types of A-GNSS data that can be requested.for Predictive Orbits and almanac: uporb_1, ualm
for Live Orbits and almanac: ulorb_l1, ukion, usvht, ualm
The service returns data in u-blox’s proprietary UBX format, consisting of a series of UBX-MGA-*** messages. These messages must be passed to the GNSS receiver exactly as delivered.
For more details on step 3, please check the AssistNow service integration guide and AssistNow API specification.
Step 4 - Data Injection and Storage
Once AssistNow data is downloaded, it must be injected into the GNSS receiver and may be stored appropriately for future use. The exact implementation depends on several factors. These scenarios are described in detail in the Developing Host software guide. To enable acknowledgment of assistance input messages on the receiver, set the configuration key CFG-NAVSPG-ACKAIDING to 1 (true). You can then monitor acknowledgment responses in UBX-MGA-ACK messages.
Basic Workflow
- Power up the u-blox GNSS receiver
- Request A-GNSS data from the AssistNow service
-
Inject the data by sending the received
UBX-MGA-***messages to the receiver, in the order providedTip: Enable flow control to confirm the successful delivery of each message. See the Flow Control section of the Developing Host Software Guide for implementation details.
Reusing Stored Data
If your receiver has no battery backup (no real-time clock), it needs a current UBX-MGA-INI-TIME_UTC message when it starts up, to use the older AssistNow data.
For more details on step 4, please check the Developing Host software Guide.