• CUWB 3.0 (Bernoulli)
CUWB Manager Manual


The CUWB Manager is a web-based single-page application for configuring and controlling execution of CUWB Networks through any modern web browser. All functionality is implemented through, and could be recreated by, usage of the exposed CUWB Manager API.


PPA Install and Setup

Follow the instructions below for CUWB Manager installation. When prompted in ‘CUWB Applications Selection,’ ensure that CUWB Network is selected for installation. Following successful installation, the CUWB Manager will be available on all of the host machine’s network interfaces on port 5000.

  1. Follow best practices and review the install.sh script.
  2. Paste into an Ubuntu 16.04/18.04 terminal and press Enter:
    bash <(wget -qO- https://cuwb.io/install.sh)
  3. Paste into an Ubuntu 16.04/18.04 terminal and press Enter

System Requirements

  • OS: Ubuntu 16.04 Xenial or Ubuntu 18.04 Bionic
  • CPU: 64-bit dual core or better
  • WAN: Must be able to reach ppa.cuwb.io via port 443
  • RAM: 2GB or better
  • HD: 200MB or more (plus any additional required by logging)

Initial Configuration

Access the CUWB Manager Web Interface

Setting up a basic CUWB Network is easy with the CUWB Manager. On the PC where the CUWB Manager was installed, open a web browser and browse to the following location:


This will present the user with the main configuration page for CUWB Networks.

When run on a freshly installed Ubuntu 16.04 (Xenial) or Ubuntu 18.04 (Bionic) system, this configuration page will also be available on port 5000 of each network interface. To obtain a list of all network interfaces, type ifconfig into a terminal. In addition to the lo (or Local Loopback) interface, other interfaces should be available beginning with enp or wlp denoting a wired ethernet or WiFi interface (respectively). On the second line of the interface’s output, the IP address will be denoted by inet.


enp3s0  Link encap:Ethernet  HWaddr b8:60:01:c3:9e:20  
        inet addr:  Bcast:  Mask:

This output would indicate any device on the same network segment could access the CUWB Manager by browsing to

Note, these interfaces and ports differ from those used for the transmission and reception of CDP traffic. Those settings can be adjusted within the CUWB Manager under the General section of any CUWBNet Configuration. However, this is typically not required to get started.

(Optional) Restricting CUWB Manager access

To prevent unwanted external connections and only allow access via localhost, the following example ufw commands can be used:

sudo ufw allow from to port 5000 proto tcp
sudo ufw enable

Video Walk-Through

Watch the walk-through video below for instructions on setting up a simple network:

Hardware Setup

Users unfamiliar with the CUWB System should consider setting up a small manageable network in order to familiarize with tools and set up. The Quick Start Guide provides instructions on how to set up and run a small network.

To achieve the best performance, care should be taken when selecting locations for Anchors. It is important that Anchors have good visibility to one another as well as visibility between the Anchors and the field of interest for tracking. Check out the Anchor Positioning and Survey application note for best practices regarding network setup.

Network Operation


Anchors serve as static reference points used by the location algorithm to determine the location of a Tag. Anchors listen to Tag beacons collecting transmit time and sensor data. The data collected is sent back to the CUWB Manager for use in the location algorithm and for display.

In addition to serving as reference points, Anchors also participate in Global Network Time (GNT) calculations. All devices on the CUWB Network must understand GNT in order to send and receive transmissions during their scheduled time. Multiple Anchors participating in GNT allow the time to be distributed throughout large networks.

Anchors can be configured for three different roles defined in the table below:

Role Description
Seeder Anchor will send UWB transmissions allowing it to participate in Global Time Synchronization.
Initial Seeder Same as Seeder above, but also configures Anchor to ‘start’ the network.
Quiet Anchor Anchor does not transmit. Global time for this Anchor is modeled off UWB beacons from other Anchors.

Each CUWB Network must have at least one Anchor configured as an Initial Seeder. This device initiates transmissions within the network and provides the initial time model used by the system. Ideally the initial seeder is selected to be a device in the middle of the network that has good RF connectivity to a large number of neighboring Anchors. Initial Seeder selection can impact the time it takes for the network to fully seed all devices with GNT.

If multiple devices are configured as Initial Seeder, the system will select one of the set at random to initialize the network. If the selected device is not present (ie., bad network connection, or lost power), the system will select another device and use it for GNT initialization.

Once the CUWB Network has started Anchors nearby, the Initial Seeder will begin start to hear UWB packets and attempt to ‘lock’ on to GNT. When a device configured as a Seeder has fully locked on to GNT it will begin to contribute to the GNT model, allowing the network to expand beyond the Initial Seeder.

Quiet Anchors will listen for transmissions from Initial Seeders or Seeders and attempt to ‘lock’ onto GNT. Once a Quiet Anchor has locked onto GNT the UWB transmissions it receives may be used for position calculation. Quiet Anchors do not participate in modeling of GNT, and thus can not be used to build larger networks.


Tags are mobile devices that are tracked by the CUWB Network. The UWB transmissions, or beacons, sent by Tags are received by Anchors. The reception time at the Anchors is forwarded to the CUWB Manager for use in the location algorithm, which uses the time to determine the location of the Tag.

Tags can be configured to beacon at slow rates, saving battery, or they can be configured to beacon at fast rates for low-latency tracking.

Configuring the System

Configuration Walk-Through

Once Anchors and Tags have been set up, users may wish to configure more in-depth CUWB Network features. The video below shows users how to configure Tag beacon rates, set up peripheral configurations, and more:



Smoothing can be applied to the output data from the CUWB Manager to limit jitter and improve precision of the location. The smoothing value can be found in the web interface under Configuration->General. Smoothing is done by averaging of output data from Tag beacons. The value entered in this field represent the total number of Tag beacons to average.

Bounding Box

The bounding box values limit the area the location algorithm uses for calculating the position of Tag beacons. The algorithm will not allow Tags to travel beyond the configured values. This value should be configured to reasonably cover the area of interest for the Tags.

In a system where anchors are in installed at the same height, on the ceiling for example, the bounding box should be configured not to include the Anchors. This prevents the location algorithm from sticking Tags on the plane of the Anchors.

Device Updates

Configure this value in the CUWB Manager to enable device firmware updates.

Ethernet Settings

The Ethernet settings allow the user to configure the internal and external data on the system to their desired ports and IP addresses. Internal data is data used by the CUWB Manager to generate locations. External data is the output stream that locations are published to for user consumption. By default the external data is configured for multicast making it accessible to other devices on the network. The config channel is used for device and system configuration and discovery and cannot be changed.


Tag Roles

In the Schedules tab on the web interface users are encouraged to create Tag roles. Roles are beacon rate definitions that can be assigned to Tags. A user might, for example, desire to have a slow beacon rate role for a Tag that is used to track objects that rarely move in addition to a fast rate for objects that are moving quickly through the environment.

Anchor Roles

Anchors are all scheduled to tranmit at the same rate. Selecting a rate faster than 10Hz will help the system to boot up with synchronized time more quickly, but it will do so at the cost of UWB air-time.


LED Settings

LEDs can be configured for Device mode or Role mode. When configured in Device mode the LEDs are controlled by the device firmware. LED state definitions can be found in the Product Datasheet.

Setting the CUWB Manager LED mode to Role mode will enable the devices to flash their individual ‘roles’ within the network. The table below shows the colors used in this mode.

Color ON Time OFF Time Role
Blue 500mS 500mS TAG
Green 500mS 500mS ANCHOR
Magenta 500mS 500mS SEEDING ANCHOR
White 500mS 500mS UNCONFIGURED

Peripheral Configurations

In the CUWB Manager under Configuration->Periphals, users can setup configurations for a variety of peripheral sensors. Each sensor has a drop down box associated with it, that contains the available settings for that device. The names assigned by the user to the peripheral configuration, once saved, will be available on the Tag and Anchor setup page.


The terminology in the table below is found throughout the CUWB Manager web interface.

Term Description
Add Create new listed resource and add to this resource’s list
Anchors In an RTLS network this is typically a stationary Node. Anchors are in physically surveyed locations and ‘anchor’ the coordinate system within the location algorithm.
Anchor roles Options for configuring anchors’ relation to network time
Anchor roles seeder rate Rate for all anchors on this CUWB Network
Bounding box Axes’ global minimum and global maximum to prevent known invalid position X, Y, and Z values from the current CUWB Network
Calculate max Tags Determines the maximum amount of Tag devices able to operate at the selected role and peripheral configuration
CUWB Networks Particular configurations of UWB devices and settings
Device updates Adjusts settings related to Ciholas UWB device updates
Device updates automatic firmware updates Adjusts whether firmware updates obtained through the APT package manager automatically deploy to devices
Clear Clear new listed resource from the list prior to saving the .cuwb configuration file
Config Navigates to configuration page(s) for this row’s CUWB Network
Copy Copy this row’s CUWB Network and create a new CUWB Network with a chosen name
CUWBNet Short for “CUWB Network”. A particular configuration of UWB devices and settings.
Delete Permanently delete this row’s listed resource
Disabled Listed resource does not generate data when selected
Download Download this row’s CUWB Network as a .cuwb save file
Ethernet settings Options for configuring listening and sending network interfaces
Ethernet settings Config The Config Multicast Stream is used for Ethernet-based device discovery and configuration.
Ethernet settings Config IP The destination IP address for the config data stream.
Ethernet settings Config port The destination UDP Port for the config data stream.
Ethernet settings Config interface The source/destination interface for the config data stream. This setting is only valid if you have Ethernet based Anchors.
Ethernet settings Input The Internal Multicast Stream is a local stream used by the host software to compute the location of devices. The contents of this stream are undefined to the user. This stream can be recorded and played back to facilitate debugging.
Ethernet settings Input IP The destination IP address for the internal data stream.
Ethernet settings Input port The destination UDP Port for the internal data stream.
Ethernet settings Input interface The interface utilized for listening for the internal data stream.
Ethernet settings Output The External Multicast Stream is the endpoint of the locatlization algorithm. All location data, sensor data, and otherwise important data to the user is output onto this stream from the uwb_host utilizing the CDP format. See CDP documentation for details on the content of these packets.
Ethernet settings Output IP The destination IP address for the external data stream.
Ethernet settings Output port The destination UDP Port for the external data stream.
Ethernet settings Output interface The interface utilized for emitting the external data stream.
LED settings Configures whether device LED behavior on the current CUWB Network is based on its configured role or the device’s default behavior
Peripheral configurations A group of settings controlling a device’s sensor rates and LED behavior
Position settings Settings related to position RTLS data items
Role Defines the device’s relationship to Network Time and optionally its LED behavior
Serial number 8 character identifier on Ciholas hardware labeled by ‘SN’
Save Write this row’s adjusted values to the CUWB Network configuration
Smoothing factor Iteration count of previous value averaging to decrease position jitter
Start Start the system service to generate data for this row’s CUWB Network
Stop Stop the system service to cease data generation for this row’s CUWB Network
Tag roles Options for configuring Tags’ relation to network time
Tag roles’ Max Tag Rate Maximum Tag rate for any active Tag on the network. If a Tag selects a role with a rate higher than this setting, it will be rate limited by the CUWB Network netapp process.
Tags A Tag is a mobile trackable Node in an RTLS network. Tags are generally attached to objects that users wish to track within an environment.
Undo Revert this row’s values back to the last state obtained from its CUWB Network configuration
Upload Upload a new CUWB Network configuration file (.cuwb) to the current CUWB Networks list