Point One Smart Antenna
on Linux

ntrip-example reads GGA from the smart antenna over USB serial, sends it to Point One, and forwards the RTCM corrections back to the antenna.

You need:

  • A Linux machine with internet access 

  • The Point One Smart Antenna 

  • Point One device credentials (NTRIP username and password)

  • A clear view of the sky for testing

  1. Create a Free Point One account

You'll get a free six month extended trial of our highest accuracy service so you have plenty of time to get building. Sign up before starting the tutorials below.

Use the same email address you used to register for FUSE.

2. Build the client

Install the compiler, make and git:

sudo apt update
sudo apt install -y build-essential git

Clone the repo and build it:

git clone https://github.com/PointOneNav/ntrip-example.git
cd ntrip-example
make

When the build finishes, you'll have an ntrip_client binary in the folder. 

3. Find the serial port and get access to it

Plug in the antenna over USB, then list the serial devices:

ls

You'll usually see /dev/ttyUSB0. If more than one appears, run ls -l /dev/serial/by-id/ to see which device is the antenna.

Add yourself to the dialout group so you can open the port without sudo

sudo usermod -aG dialout $USER

Log out and back in (or reboot) for the group change to take effect

4. Edit config.json

Open config.json in the repo folder (for example with nano config.json) and fill in your values:

"ntrip_host": "truertk.pointonenav.com",
  "ntrip_port": 2101,
  "ntrip_mountpoint": "AUTO",
  "ntrip_user": "<your NTRIP username>",
  "ntrip_password": "<your NTRIP password>",
  "serial_port": "/dev/ttyUSB0",
  "serial_baud": 115200,
  "tcp_port": 5000,
  "gga_interval_sec": 10

5. Run and verify

Start the client from the repo folder:

./ntrip_client config.json

Troubleshooting

Symptom

Fix

Permission denied" on /dev/ttyUSB0

You're not in dialout yet. Run Step 2, then log out and back in.

Garbled data or "device busy" for the first few seconds

ModemManager is probing the port. Stop it: sudo systemctl disable --now ModemManager

No device in /dev

Try a different data cable and USB port, then run sudo dmesg | tail to check whether the kernel saw it

No GGA, or garbled text

serial_baud doesn't match the antenna's baud rate (115200)

HTTP 401 from the caster / Unauthorized

Your username, password or mountpoint is wrong

Sample Smart Antenna output

Example GGA sentence

$GNGGA

Key

Value

Field

Meaning

$GNGGA

Sentence ID

GPS/GNSS fix data

212418.000

Time (UTC)

21:24:18.000

3745.250501 N

Latitude

3745.250501 N → 37.45251°

12224.942773 W

Longitude

12224.942773 W → 122.24943°

5

Fix Quality

Fix Quality Codes: 0 = No Fix 1 = GPS/autonomous 2 = DGPS 4 = RTK Fixed 5 = RTK Float

21

Satellites

Satellites in use

0.83

HDOP

Horizontal precision indicator

23.157 M

Geoid Separation

Height above sea-level (mean), in meters.

1.0

Age of Corrections

Seconds since last RTCM correction

1056*51

Checksum

Integrity check, not data.