UDP communication for NTN applications

UDP (User Datagram Protocol) is a lightweight, connectionless protocol designed for sending small amounts of data efficiently over IP networks.

In NTN (Non-Terrestrial Network) deployments, devices typically use NB-IoT, which supports UDP traffic only. Unlike TCP, UDP does not require a connection setup or acknowledgements. Messages are sent in a fire-and-forget manner, making UDP well suited for satellite-based communication where latency is high, bandwidth is limited, and connections may be intermittent.

This guide explains how to send and receive UDP data in NTN scenarios, including:

  • Client mode – sending UDP messages from the device to a server

  • Server mode – receiving UDP messages on the device from the server


Sending UDP payload

To receive data from your NTN device, you need a UDP server with a public IP address.

You can either:

  • Use an existing platform that supports UDP ingestion, such as Ubidots (see the Ubidots guidearrow-up-right) or,

  • Set up your own UDP server for development and testing (see Set up UDP server) This guide focuses on creating a simple UDP server to receive payloads from an NTN device. This approach is ideal for early development, debugging, and validation before integrating with a production backend.


Why UDP?

UDP is preferred for NTN communication because it:

  • Requires no connection handshake (unlike TCP)

  • Has low protocol overhead, reducing airtime and power usage

  • Works well with high-latency satellite links

  • Is suitable for small, infrequent payloads such as GPS coordinates, temperature readings, or status messages

circle-exclamation

Requirements

In order to send satellite data to and from a UDP server, you need:

  • A server with a public IP address

  • An open UDP port (commonly 9000)

  • A listener application to receive and process incoming UDP packets


Next steps

  • Set up your own UDP server — visit guide

  • Send and receive UDP data with the Nordic nRF9151 SiP — visit guide

  • Send and receive UDP data with the Murata Type 1SC module — visit guide

Last updated

Was this helpful?