This article provides instructions for providing corrections via UDP protocol. This approach to connectivity may be useful where typical serial and radio communications are not possible.


UDP Support

The Swift devices support UDP connections. This functionality is provided through two UDP servers and clients that can be configured on the receivers themselves.  The UDP server of one device (e.g. Rover) can be used to connect to the UDP client of another device (e.g. Base Station). When configured properly, this will create a stream of SBP data between the devices.  UDP is suited for applications that need fast, efficient transmission and where timeliness is preferred over completeness.  Please refer to some of the resources below for more information about UDP communication verses TCP communication.  Both are valid ways to deliver information between Piksi and user applications.


Additional Information About UDP

networking-basics-tcp-udp-tcpip-osi-models - Overview of UDP and TCP/IP communication

Wikibooks TCP vs UDP - A good resource to learn about networking


UDP Server and Client Modes

  • Disabled - interface is disabled
  • SBP - configures the interface to transmit messages specified in the enabled_sbp_messages setting and to receive incoming SBP messages. If the mode is changed from SBP the console will no longer be able to communicate over the interface.
  • NMEA_OUT - configures the interface to transmit the GGA, RMC, GGL, VTG, ZDA, GSA, and GSV NMEA 0183 messages. The interface will not receive incoming messages.
  • RTCMv3.1_IN - configures the interface to receive RTK corrections in RTCM format. The interface will receive 1002, 1004, 1005, 1006, 1010, and 1012 RTCM v3.1 messages and will not transmit or receive any other messages.


UDP Client

Two clients are provided for UDP communication, udp_client0 and udp_client1. These clients can be configured from Swift Console and provide options for mode, address, and enabled_sbp_messages. The default configurations are detailed in the tables below (firmware v1.5.14).



UDP Server

Two servers are provided for UDP communication, udp_server0 and udp_server1. These servers can be configured from Swift Console and provide options for mode, port, and enabled_sbp_messages. The default configurations are detailed in the tables below (firmware v1.5.14).



Example System Configuration

The following configuration provides an example for establishing communications between base and rover using UDP for the purpose of transmitting RTK corrections.

Base Station Configuration


Rover Configuration


Network Configuration

After the devices have been configured, connect the devices as shown in the diagram below. Ensure that the antennas have good sky view. You will be able to connect to Swift Devices via TCP/IP protocol for monitoring purposes only. Corrections will be sent via UDP protocol from Base Station to all devices that are in the 192.168.0.255 subnet.

You should now be able to verify connectivity across the devices. To check the base station, complete the following steps.

  • Open Swift Console
  • Select TCP/IP
  • For IP Address enter 192.168.0.222
  • For IP Port enter 55555
  • Click OK
  • Select the Observations tab
    • In the Local section you should see observation data from this device


To check the rover, complete the following steps

  • Open Swift Console
  • Select TCP/IP
  • For IP Address enter 192.168.0.223
  • For IP Port enter 55555
  • Click OK
  • Select the Observations tab
    • In the Remote section you should see observation data from your base station device