PointPerfect getting started
Introduction
Reach the mass market with your precise positioning solutions using PointPerfect. Precise, reliable, and easy to use, PointPerfect is a PPP-RTK GNSS augmentation data service that delivers centimeter-level accuracy in seconds. With 99.9% uptime availability via both internet and L-band satellite, you can rely on PointPerfect for mission-critical applications.
Benefits
Significantly reduce your data cost with the efficient SPARTN open data format and the scalable, simple to integrate MQTT messaging protocol.
Reduce your bandwidth further by using Localized Corrections specific to your device’s current location.
Zero Touch Provisioning makes it easy to deploy huge device fleets, eliminating the headaches of managing digital certificates.
Flexible price plans tailored to suit your needs.
To use PointPerfect you will need a high-precision GNSS receiver, a multi-band antenna, and to be within our PointPerfect service coverage area. PointPerfect L-band has additional receiver and antenna requirements described below.
Supported u-blox GNSS products
PointPerfect is pre-integrated and ready to use with u-blox F9 and D9 high precision GNSS modules. Non-native SPARTN receivers can be supported by the PointPerfect SDK. You can find u-blox high-precision GNSS products supporting PointPerfect on our product selector page:
ZED-F9P is our most popular u-blox F9 high precision GNSS module
ZED-F9R includes an IMU for dead reckoning
ZED-F9K is automotive grade, also includes an IMU for dead reckoning
NEO-F9P has a small form factor and supports L1/L5 signals
NEO-D9S is an L-band correction data receiver
EVK-F9P is an easy-to-use kit for the evaluation of high-precision GNSS solutions
XPLR-HPG-1 is a flexible explorer kit for high precision GNSS solutions
XPLR-HPG-2 is a compact explorer kit for high precision GNSS solutions
Antenna requirements
PointPerfect IP requires a multi-band antenna (either L1/L2 or L1/L5) for optimal performance. See antenna requirements in the integration manual that corresponds to your GNSS module.
For PointPerfect L-band, the NEO-D9S receiver requires an antenna that supports frequencies between 1540 MHz - 1559 MHz. Please refer to section 4.2 of the NEO-D9S Integration manual to learn more about antenna requirements. [8]
In this guide we will explain
a) How to create PointPerfect Things in the Thingstream platform,
b) How to choose the plan that best suits your needs, and
c) How to provision your devices.
-------------------------------------------------------------------------------------------
Do's & Don'ts: Best Practices and Common Pitfalls
Do's
Use a compatible antenna: Ensure you're using an antenna that supports L1 & L2/L5 frequencies for optimal performance.
Keep firmware up to date: Always update your device's firmware to the latest version to benefit from the newest features, fixes, and improvements.
Create a PointPerfect Thing: Set up your account and device via the PointPerfect portal to begin using the service.
Leverage Zero-Touch Provisioning (ZTP): Use ZTP to save time when scaling up deployments.
Access software and scripts: Visit the PointPerfect downloads section for essential software and sample scripts to streamline your setup.
Be aware of reference frame differences: PointPerfect uses the ITRF2020 reference frame (current epoch). This may differ from the reference frame used by your maps (e.g., Google Maps), which could impact positional precision.
Don'ts
Don't use an L1-only antenna: This will limit signal reception and reduce accuracy.
Don't disable required signals: Ensure all necessary GNSS constellations and signals for PointPerfect operation are enabled. Disabling them will impair performance.
Don't test indoors: Indoor environments introduce interference and degrade accuracy. For optimal results, test in open, outdoor spaces.
Don't set a low baud rate on COMs: Avoid using a low baud rate below, as it can slow down communication speed, reduce device responsiveness, and hinder correction performance.
-------------------------------------------------------------------------------------------
Sign-up for our u-blox service platform
u-blox Thingstream is a service delivery platform providing a management console that you can use to enable and manage the entire suite of u-blox services. PointPerfect is a service under our IoT 'Location-as-a-Service' and your Location Things (the logical representation of your location device in the Thingstream platform.)
Sign-up is free, quick and easy. Just go to the Thingstream portal and register with your company information. Note: If you already have a Thingstream domain for another IoT Location-as-a-Service (AssistNow, CloudLocate, CellLocate) or IoT Communication-as-a-Service (MQTT Anywhere, MQTT Here or MQTT Now) you do not need to register again.
Create a PointPerfect Thing
Before your devices can use the service, you must create a Thing that represents the device in the system. Use the navigation bar on the left side of the page, go to Location Services-->Thing List, and choose the "Add Location Thing" button on the top right of the page.
Still need help?
If you need more help or have any questions, please send an email to services-support@u-blox.com.
You can create location Things for different services, but in this case, we want to create /add a PointPerfect Thing. Select the PointPerfect tab and choose "Add a PointPerfect Thing".
When prompted, enter a friendly name for the new Thing and click the Create button.
After you Create your Thing, you will be asked to choose a Plan.
If you skip the step to add a Plan, your Thing will only be assigned a Device ID and placed in an allocated state.
You will then be given the option to view the details of your new Thing or get its credentials by clicking either the 'View details' or 'View Thing credentials' button
Choosing The Right Plan
When you activate a PointPerfect Thing you can choose a plan based on your needs. Plans can vary depending on the applied delivery methods (IP or L-band satellite) and your expected monthly usage of the service. Once your Thing is activated and a plan chosen, you will be invoiced monthly according to the billing cycle for that plan. u-blox offers a variety of plans designed to meet most of the requirements you and your business might have. Please see the Pricing page for the details of each plan.
Individual Plans
Individual plans are a mix of monthly fixed (unlimited usage) or hourly plans. Fixed plans are intended for devices that continuously consume the service, either over satellite L-band or IP (via MQTT or NTRIP (NTRIP is for either SPARTN/NTRIP or RTCM over NTRIP)). Hourly plans are best suited for devices that will consume the service for a limited amount of time each month (with small charges if you exceed the plan limits.) For example, if you expect to use a device only 2 hours a day on average, a plan offering 30 hours of access per month would be optimal.
Pooled Plans
Pooled plans are ideal when using a large fleet of devices with unpredictable usage, where all devices can share a pool of hours.
For the example in this guide, we will apply the SPARTN PointPerfect Developer Plan when we Activate the device. The Developer plan has 40 hours of free usage and is perfect for initial practice and quick testing. (Note: You can only have two active Things using this PointPerfect Developer plan.)
Review Your Thing Details
Once a plan is selected and your device is activated, your Thing will show as active. Via the Thing Details screen you can review the details of your to see its status, the plan associated with it, and the monthly renewal date (set as a monthly recurrence from when the plan was purchased.) #
The connection state on the top right of the Thing Details screen will show as Disconnected until a device is provisioned and actively connected.
After you successfully connect (provision) your Thing the Thing Details screen will show date/time values for Last Connected and Last Seen.
An example of the Thing Details screen is shown below:
Here is a summary of information from the Details tab:
Thing type: PointPerfect
Status: active or allocated
When a device is deactivated, it will remain in your domain and go into an Allocated state. Allocated devices will not receive PointPerfect data, and you will not be charged after the current billing cycle has ended. (Note: You will be charged for any usage up to the point of deactivation)Plan you have applied to the device
Allowance Exceeded Notifications: enabled (default) or disabled
If you exceed the allotted hours of a plan, you will receive a notification about your overage charges. This applies only to plans with limited usage time. See screenshot below.the Device ID
the Thingstream User Agent that connects the device
Tags (if you wish to add...)
Time stamps when the device was created, updated, last connected, and last seen.
Device Provisioning
Once you have created and activated a PointPerfect Thing in the platform, you are able to connect your device and receive corrections. This is also known as "Provisioning". Client authorization details differ between MQTT and NTRIP correction delivery methods. Also, Dynamic Keys apply to L-band plans or IP plans if you use Continental corrections.
You can find client authorization details under each collapsible section in the Credentials tab.
NTRIP - Collect Delivery Credentials
Note: If you do not see the NTRIP Credentials section (shown in these screen shots) we recommend deactivating & re-activating your Thing. The NTRIP Credentials section is included for both SPARTN/NTRIP & RTCM over NTRIP Things, though the actual credentials required for each will differ.
To provision a device using NTRIP, simply expand the NTRIP Credentials section and collect the information for your client. The screen below is an example for SPARTN/NTRIP. The screen for RTCM over NTRIP will display different credentials.
MQTT: Download Client Authorizations
To provision a device using MQTT, expand the MQTT Credentials section.
Download both the Client Key and Client Certificate by clicking on the respective download links. Once the key and certificate files are stored on your system, you can transfer (upload) them to your device to authorize its connection to the service.
When using our u-center evaluation software, you only need to download the u-center Config JSON file that contains all certificates and configurations needed by u-center. See more detailed steps to configure your solution with u-center below.
Details about our MQTT delivery method can be found on our PointPerfect MQTT Distribution page, including more about Topic structure, data and dynamic key topics.
Putting it All Together
Now that your device is configured, it can access the service. When the configuration is successful you will see the status of your Thing change to Connected.
Furthermore, when the device subscribes to PointPerfect topics successfully, the Events tab will display the subscription operation as shown below.
Using u-blox Products: u-center and F9 receivers
If you are interested in evaluating PointPerfect as part of a full solution, we recommend a u-blox high precision GNSS module such as the ZED-F9P that ships with our EVK-F9P Evaluation kit. The EVK connects with a USB Type-C connector to your host system.
Our F9 receivers require a firmware version of at least 1.3x to support our PointPerfect service. Check your firmware version with a query of the UBX-MON-VER message on your F9 device using u-center. If necessary, obtain the latest firmware from the u-blox product page of your F9x under Documentation & resources section and update it using u-center. [2]
Download u-center to Evaluate your PointPerfect Solution
u-center is the software provided by u-blox for easy installation and configuration of high precision GNSS modules such as the F9. You can download the latest version of u-center from the PointPerfect Location Services portal on Thingstream.
Note: When installing u-center, either install it in a folder that does not have restricted permissions or run as Administrator. Otherwise, when trying to use the MQTT client and JSON configuration file you will receive an MQTT client error: "Error when trying to connect. Check the MQTT JSON config: Error code: -1"
Please refer to the user guides for u-center [2] and the EVK-F9P Evaluation Kit [5] for more detailed information about these tools and how to configure your solution.
Configure your Solution with u-center
To use PointPerfect with u-center, collect your Thing credentials from the Thingstream platform according to the delivery method you wish to use.
For SPARTN/NTRIP or RTCM over NTRIP, expand the NTRIP Credentials section and have these details available when you connect with your NTRIP client.
For MQTT, expand the MQTT Credentials section, download the "u-center Config" file from the Credentials tab of your PointPerfect Thing, and use this JSON file to connect your MQTT client. This file includes all the credentials and configuration u-center needs for connecting to the PointPerfect broker. No editing is required. If you have multiple Things in your domain account, make sure you download the correct JSON file for the device.
Once you have the proper credentials, open u-center and connect to your device using the serial port for your F9 module.
Connect and Receive PointPerfect Corrections
Your next steps to obtain PointPerfect corrections on your device depend on a few factors of your choosing; the plan associated with your device (or Thing), the delivery protocol you wish to use to deliver the corrections (may be plan specific) and the distribution method you want to use.
PointPerfect corrections are generated on a continental level and can be delivered via IP (MQTT or NTRIP (NTRIP is for either SPARTN/NTRIP or RTCM over NTRIP)) or L-Band Satellite. When using MQTT, our Localized distribution can save even more bandwidth while delivering only the corrections you need.
See these pages for details and specific requirements for each option, including the remaining configuration steps with u-center.
PointPerfect MQTT protocol delivery options:
Continental Distribution of PointPerfect corrections for a simpler deployment with your host application
Localized Distribution of PointPerfect corrections for reduced bandwidth and key-free access
PointPerfect NTRIP Distribution - corrections delivered via NTRIP protocol.
PointPerfect RTCM Distribution - corrections delivered via NTRIP protocol.
PointPerfect L-band Configuration for continental-wide corrections without internet access
Below is a table of available delivery and/or correction distribution methods.
Additional Features, Options and Tools
AssistNow over PointPerfect MQTT
Devices using PointPerfect via MQTT can subscribe to the AssistNow topics over the PointPerfect broker, with no additional charges! See more details about this in our PointPerfect MQTT Distribution page.
Zero Touch Provisioning
If you have a large fleet of devices, we offer Zero Touch Provisioning (ZTP) to simplify the provisioning process of many devices with pre-defined settings. This will reduce your time and other related costs of per-device provisioning. Learn more about the PointPerfect ZTP solution here.
Python sample script: PointPerfect MQTT Client
If you are interested in evaluating PointPerfect with an MQTT Client built-in your host application, we have a PointPerfect MQTT Client sample python script available in the Thingstream Downloads PointPerfect section to help you get started. The script demonstrates how to authenticate the MQTT client with the broker and subscribe to the required MQTT topics.
GNSS Receivers without native SPARTN Support
Users with L-band receivers that do not natively support the PointPerfect (SPARTN format) will need to integrate the PointPerfect SDK in their application to take advantage of our PointPerfect service.
The primary function of the PointPerfect SDK is to decrypt the SPARTN messages using the dynamic keys.
SDK users with MQTT can simplify their SDK integration by subscribing to additional topics to collect and update ephemeris data. The SDK can be requested by writing to services-support@u-blox.com by providing details of the target platform architecture. We will review your request and provide you with the appropriate SDK build and documentation.
Reference Documentation
[1] ZED-F9P Integration manual, UBX-18010802
[2] u-center User guide, UBX-13005250
[3] u-blox F9P HPG 1.32 Interface description, UBX-22008968
[4] C099-F9P application board User guide, UBX- 18063024
[5] EVK-F9P-01 evaluation kit User guide, UBX-22038408
[6] Thingstream Knowledge Base – Services Support
[7] u-blox information on positioning and location technologies - What is NTRIP
[8] NEO-D9S Integration manual, UBX-19026111