Utra-wideband (UWB)

The radio technology used by the RTLS Network for both communication and distance measuring.

RTLS Network

The infrastructure consisting of one or more Masters together with several Anchors that interact with Tags. Masters and Anchors are fixed in space. Tags are the mobile to-be-localized objects.


The Master is typically physically identical to an Anchor. The Master is responsible for configuring and maintaining the RTLS Network. The Master publishes localization data over LAN (or WAN).


Each Anchor measures the distance to each Tag and sends the results to the Master. Distances are subsequently converted to 2D or 3D localization estimates.


Small, typically battery operated, device which can be tracked in real time using the infrastructure. A Tag may contain sensors (e.g. orientation) and/or means to provide feedback (e.g. vibrating alert, LCD display).

Starter Kit

The StarterKit contains all of the components needed to easily set up a small scale Ultra-wide band Real-Time Location Services (RTLS) network, directly out of the box.

Starter kit content:

  • 1 x Master (TDoA, TWR)
  • 7 x Anchors
  • 1 x tag Nemo
  • 3 x 2747 tag
  • 1 x programmer

Figure 1. RTLS starter kit case

Software Installation

Using the OpenRTLS manager software the infrastructure can be viewed and managed. This will run on Windows (32 and 64 bit) and Linux (64 bit). More information on this software can be found below. The engine to calculate positions can be downloaded from OpenRTLS Engine. This is a linux binary. In case a windows or Raspberry Pi image is preferred, please contact us.

In case you do not use an engine, or run your own engine: In the OpenRTLS manager do:

  • open the [settings] tab
  • enable advanced settings
  • scroll all the way down
  • disable external engine

A preview of the new OpenRTLS RtlsApp is available for download. This is a web based interface. More detail will follow.

Hardware Installation

Anchor Placement

To obtain the best results, the following recommendations can be made:

  • Avoid obstacles (e.g. walls, pillars, plants, people) in between anchors as much as possible.
  • Cover the area with a redundant number of Anchors, spread out into each dimension sufficiently (along x-axis, y-axis, and for vertical localization also along z-axis).
  • The range between a Master and an Anchor should not exceed 30 meters indoors or 200 meters outdoors. The signal can travel through two stone walls or one concrete floor (<15cm thick) maximum. For larger distances, use a horn antenna.
  • Direct the antenna downward (or upward) as show in Figure 2.
  • Avoid metal objects near the antenna (keep a distance of at least a few cm).
  • If vertical localization is not used, place all Anchors at the same height.

RTLS-Manager Anchors placement 'Man' antenna radiation pattern showing the antenna body

Figure 2. Anchor placement.

Powering up

Connect the Master to your Local Area Network (Ethernet). Use a 5V power supply or Power over Ethernet (PoE) to power the Master and Anchors. Warning: always make sure that each Master or Anchor has an UWB antenna attached (standard SMA type) before turning on.

The Master should automatically get an IP address (on the DHCP server). It may be convenient to make the Master’s IP address static (via setIpConfig). Each anchor connects to the Master after which it is listed under Node list in OpenRTLS manager. When a tag is turned on, it should also appear in OpenRTLS manager in Node list and in the Map viewer.

A (re)scan of the infrastructure can be obtained using Tools -> Scan infrastructure.

System Initialization

The infrastructure must know the anchor coordinates before localization can happen. These can be set manually, or can be estimated automatically.

To set the coordinates automatically, simply press Ctrl+A in OpenRTLS manager, or go to Tools -> Apply auto-positioning. However, if 3D localization is desired, it is advised to set the anchor coordinates manually.

To set the coordinates manually, fist measure for each anchor its position (Cartesian coordinates, units = meters) relative to a fixed point in space (e.g. Master). In OpenRTLS manager, go to the tab Initial Setup, tick Edit mode, and fill in the X, Y, Z columns at the left.

OpenRTLS Manager

OpenRTLS manager provides control and visualization in the form of a Qt application for Linux and MS-Windows platforms. Installation instructions can be found here. OpenRTLS manager will show network activity in the Console window at the bottom. On startup it should read something like:

12:52:56: Loading settings from file: openrtls.json
12:52:56: Looking for masters using broadcast
12:52:56: Ready.

If a successful connection is made to the Master, it will read something like:

12:53:00: Master detected at

If no Master is detected, check if the Master acquired an IP-address from the router in the network. The Master falls back to the fixed IP-address (Gateway:, Mask: if no DHCP is available. Alternatively, you may discover the master IP address:

  • Using mDNS/Bonjour/Zeroconf
  • Using the 'Service Channel' on UDP port 8784
  • If there is no connection to the Service Channel, the master will broadcasts periodically its version to UDP 8783. I.e. UDP.

Load Settings

OpenRTLS manager reads the file ‘openrtls.json’ on startup. You can change the contents of this file to set the IP address of the Master and/or set the coordinates of each Master/Anchor.

Example of openrtls.json: 
  "node": [
      "id": "0xDECA3630330014A0",
      "role": "anchor",
      "id": "0xDECA32303430123F",
      "role": "anchor",
      "id": "0xDECA393032314230",
      "role": "anchor",
  "master": {
    "ip": "auto"

Firmware update

The Master, Anchors and Tags can be updated from the RTLS-Manager.

To start update select Tools -> Check for firmware update. Master will update to the firmware provided by provisioning server.

It is mandatory that the Master has access to the internet via HTTPS port 443.

Console window

Messages related to the configuration of the infrastructure will be referred to ‘service data’. To hide or show these messages, press shift+D or select Toggle service data from the Tools menu.

For example: Select ‘List anchors’ from the Tools menu (or press key A) to get the Unique IDs and coordinates of the Anchors, formatted in JSON.

Messages related to tag localization will be referred to as ‘location data’. To hide or show these messages, press D or select Toggle location data from the Tools menu.

For example: when a tag is active in the field, a (JSON) message may look like:

14:34:44: LS_IN (2017-04-03 14:34:45.256): 58) 
    }, {
    }, {
    }, {


  • id represents the unique identifier of the node
  • timestamp represents the Unix time (in seconds with 3 decimals).
  • msgid represents the transaction number associated with the message type.
  • io
  • vbat represents the current battery voltage of the tag
  • meas represents an array containing one distance measurement per anchor
  • anchor represents the anchor unique identifier
  • tqf represents the time quality factor estimation: 0: unknown, 1: LOS, 2: NLOS
  • rssi represents the receive signal strength in dB