Using GNSS with ZED Box Orin
The GNSS module is an optional component of the ZED Box Orin NX, which can greatly enhance the precision of positioning data when used with Real-Time Kinematic (RTK) technology. With RTK, the GNSS module can achieve centimeter-level accuracy, significantly improving upon the typical few-meter accuracy of standard GNSS modules. This makes the GNSS module ideal for a variety of applications that require highly precise positioning information, such as autonomous vehicles, surveying, and precision agriculture.
Installation
Antenna
Your GNSS needs an male antenna to get a signal. It must be plugged in the port 5 on the side of ZED Box.
You can use the antenna we sell on the store, or any other one. However, the Wi-Fi antenna that also come with the ZED Box will not work.
gpsd
gpsd is the simplest way to retrieve the GNSS data on your ZED Box.
Please follow this guide to install the correct version of gpds on your device.
You can test that gpsd is working properly with the tool installed with gpsd:

To verify that the GNSS module is properly detected, you can also use the following command:
You should see a file named /dev/ttyACM0 or dev/ttyUSB0 containing the GNSS raw data. The streamed data should look as such:
Enabling RTK on your GNSS module
Using NTRIP
gpsd can act as an NTRIP client in order to retrieve RTK corrections from an RTK base station.
We will go through how to set up the NTRIP connection in order to get RTK centimeter-level accuracy.
For this you will need:
- url: the NTRIP URL address of the base station
- port: the NTRIP port of the base station
- mountpoint: the mountpoint you choose to use (Note: for good performance, the base station is recommended to be less than 25km away from the rover)
- username: the username used for the NTRIP connection (optional)
- password: the password used for the NTRIP connection (optional)
You can now run gpsd as an NTRIP client with:
You can now run xgps and wait for the GNSS to get an RTK fix. (The ECEF pAcc gives the horizontal accuracy; with an RTK FIX status this value should be of about *a few centimeters)
Set RTK configuration at boot
gpsd runs as a cronjob set to run at the ZED Box’s startup. Update the cron job with the following command, so that gpsd will connect to the base station at every boot:
And replace the gpsd line already present with the following:
Using GNSS in your applications
Python
To access GNSS data in Python, you can use the gpsdclient library. This library provides a Python interface to the gpsd daemon, allowing you to easily retrieve GNSS data in your Python scripts. With gpsdclient, you can access a range of GNSS data, including latitude, longitude, altitude, speed, and more. This makes it a powerful tool for building GNSS-enabled applications in Python.
You can install gpsdclient with:
Here is an example of a simple script using gpsdclient:
You can find a full code example of how to use the library in our Geotracking samples on GitHub.
C++
To access GNSS data in C++, you can use the libgpsmm library.
You can install libgpsmm with:
Here is an example of a simple script using libgpsmm:
You can find a full code example of how to use the library in our Geotracking samples on GitHub.
Install gpsd from scratch
If for some reason gpsd is not installed on your ZED Box, you can follow the following guide to install and use gpsd:

