Logo
1.0.0
LEAPS Documentation v: latest
Languages
English
简体中文
日本語
LEAPS Forum
Forum
LEAPS Home Page
LEAPS

CONTENTS

  • LEAPS SOLUTIONS
  • UDK DEMO KIT
    • Quick Start Guide
      • System Requirements
      • Starting with the UDK
        • Demos
          • Nearby Interaction Demo with an iPhone
          • Locate Device using Angle-of-Arrival (AoA) Demo
          • Infrastructure-less proximity Demo
          • Downlink TDoA RTLS Demo
          • High-speed Downlink TDoA RTLS Demo
          • TWR RTLS and Data Telemetry Demo
          • Uplink TDoA RTLS Demo
        • Partner Application
        • Firmware Update
      • Software Infrastructure
    • Development Guide
    • Specification
    • FAQ
    • Releases
  • LEAPS RTLS
  • PANS PRO RTLS
  • HARDWARE
  • FAQ
  • SUPPORTS
docs.leapslabs
  • Docs »
  • UDK DEMO KIT »
  • Quick Start Guide »
  • Demos »
  • Uplink TDoA RTLS Demo

Uplink TDoA RTLS Demo

../../../_images/uplink_tdoa_rtls_demo.png

Prepare for setup

  1. LEAPS Manager application installed.

  2. A Raspberry Pi 3B or newer version or a PC for data server and the web application installation.

  3. At least five LC14 devices.

  4. Batteries or USB-C cables for powering the devices.

  5. Recommended: clamp or tripod with a camera mount for attachment of the Anchor devices.

  6. Optional: Putty, Teraterm, minicom or your favorite terminal application installed on your computer.

For users, the recommended starting point is either the latest release.

Setup time: less than 5 minutes

Overview

This setup demonstrates real-time tracking of the Tag with high accuracy using the Uplink Time Difference of Arrival (UL-TDoA) technology.

Typical applications: Asset and people tracking.

Setup instructions

  1. Power ON the devices.

  • The statically mounted devices will function as Anchors, providing location information to the Tags.

  • The moving devices will function as Tags configured in Uplink TDoA measurement mode.

  1. Configure using the Demo Selector in the LEAPS Manager:

2.1. Open the LEAPS Manager and select the Demo Selector from the main page.

2.2. Select the Uplink TDoA RTLS.

2.3. A list of discovered devices via Bluetooth will appear on the list. Swipe down to update the list if needed.

2.4. Select the devices that will be used for the demo. The anchors and tags on the top side indicate the amount of devices needed for the demo.

2.5. Press the SAVE to configure the device(s) into the LEAPS RTLS mode, networking profile 5 (supports UL-TDoA).

2.6. A pop-up window Anchor Configuration will appear to offer the options to configure the Anchor’s positions. Select the Manual or Keep current position depending on the need, then Press the OK.

Note: Auto positioning is currently not available for profile 5.

2.7. Please check visually that the RED LED blinks when the device starts.

  1. When the devices are configured successfully, the LEAPS Demo Network window will appear with a list of configured nodes.

Recommended: Use the alarm feature to identify the device, and move it to the correct physical location.

  1. Open the Grid, located at the top drop-down menu (select Network Details), is for visualization of the devices and their positions.

Please refer to the LEAPS Manager for more details on how to use the application to configure and visualize the nodes and network.

Advanced setup

Get ready for the advanced setup! We’ll tap into the terminal’s power to help you configure your device like a pro. Just follow these steps and you’ll be all set.

  1. Use a USB-C Data Cable to connect the USB-C Data Port 1 or USB-C Data Port 2 of devices to your PC.

../../../_images/leaps-connect-usb-port1.gif
  1. Connect to a serial port using your desired terminal application, such as Putty, Teraterm, Minicom, or your favorite terminal application. We need to configure the baud rate to 115200.

For example use Minicom, on Ubuntu (Linux):

minicom -b 115200 -D /dev/ttyACM0
  1. Press Double enter on the shell console to access the command line control system.

For example open /dev/ttyACM0 and press double enter, on Ubuntu (Linux):

leaps@leaps:~$ minicom -b 115200 -D /dev/ttyACM0

  Low Energy Accurate Positioning System

  Copyright :  2016-2025 LEAPS
  License   :  Please visit https://www.leapslabs.com/leaps-rtls-license
  Compiled  :  Oct 15 2026 09:42:20 (v1.2.1-4f9295)

  Help      :  ? or help

  FOR DEMO PURPOSE ONLY, NOT FOR SALE.
  DEVICE RUNTIME IS LIMITED TO 48 HOURS. RESET THE DEVICE TO RECOVER IT.

  leaps>
  1. Configure for each device, do the following steps:

  1. Optional: Reset devices to default, run the frst command.

$ leaps> frst
frst ok

Monitor and wait for the device to reset successfully. Then press double enter to access the command line control system.

../../../_images/reset-command.gif

  1. Use the nps 5 command to configure profile 5 (supports UL-TDoA) for each device.

$ leaps> nps 5
nps: ok
  1. Use the nis command to configure all devices in a network.

$ leaps> nis 0x1234
nis: ok
  • Then, it is neccessary to reset the device to update the configuration. Use the reset command to reset the device.

$ leaps> reset
reset ok

Note

In this example, we will configure an anchor with enable initiator, 3 anchors, and a tag.

  1. Configure the mode for each anchor and tag.

  • To configure an anchor with enable initiator, use the nmi command to configure a device.

    $ leaps> nmi
    

    Then, the device will reset, and to access the command line control system again, press double enter.

  • To configure 3 anchors, use the nma command to configure 3 devices to anchor mode, but do not enable initiator.

    $ leaps> nma
    

    Then, the device will reset, and to access the command line control system again, press double enter.

  • To configure a tag, use the nmt command to configure a device to tag mode

    $ leaps> nmt
    

    Then, the device will reset, and to access the command line control system again, press double enter.

  1. Configure the actual position for each anchor.

  • To get the position use pg command and to set the position use ps command for each anchor.

  • In this example, we will set up 4 anchors:

leaps> ps 0 7500 1550
ps: ok
leaps> pg
pg: x:0 y:7500 z:1550 qf:100
leaps>
leaps> ps 5500 7500 1550
ps: ok
leaps> pg
pg: x:5500 y:7500 z:1550 qf:100
leaps>
leaps> ps 5500 4000 1500
ps: ok
leaps> pg
pg: x:5500 y:4000 z:1500 qf:100
leaps>
leaps> ps 0 4000 1550
ps: ok
leaps> pg
pg: x:0 y:4000 z:1550 qf:100
leaps>

Note

The device must be configured to accurately reflect its actual physical location.

Additionally, LEAPS Manager can be used to visualize the devices and their locations.

  1. Configuration for each tag allows the use of UL-TDoA technology for measurement.

  • To configure, use the tcs mode 1 command for a tag.

$ leaps> tcs mode 1
tcs: ok
  • Then, it is neccessary to reset the device to update the configuration. Use the reset command to reset the device.

$ leaps> reset
reset ok
  1. By default normal update rate is 0.1 s/ 10 Hz and stationary update rate is 5.0 s/ 0.2 Hz. To increase speed, use urs command.

For example, configure normal update rate to 0.1 s/ 10 Hz and, stationary update rate is 0.1 s/ 10 Hz. Run the following command:

$ leaps> urs 1 1
urs: ok
  1. Optional: In steps 5, 6, 7 and, 8 can use the si (System Information) command to verify whether the mode, profile, and network configurations are correct.

For example on 4 anchors and a tag:

  • mode: ani

  • panid=x1234

  • prof=5

leaps> nps 5
nps: ok
leaps> nis 0x1234
nis: ok
leaps> nmi

Low Energy Accurate Positioning System

Copyright :  2016-2025 LEAPS
License   :  Please visit https://www.leapslabs.com/leaps-rtls-license
Compiled  :  Oct 15 2026 09:42:20 (v1.2.1-4f9295)

Help      :  ? or help

FOR DEMO PURPOSE ONLY, NOT FOR SALE.
DEVICE RUNTIME IS LIMITED TO 48 HOURS. RESET THE DEVICE TO RECOVER IT.

leaps> si
[001044.266 INF] release: LEAPS RTLS v1.2.1-4f9295 (fira)
[001044.266 INF] sys: main main_ver=x02070101 cfg_ver=x01040000 batt=empty:0mV:NoCharger board=LC14_B prod=LC14_B pwr_cnt=0 rst_cnt=2
[001044.267 INF] uwb: ch9 prf64 plen128 pac8 txcode11 rxcode11 baud6800 phrmodeext phrratestd sfdtypeieee4a sfdto129 stsmodeoff stslen64 pdoamodem0
[001044.268 INF] uwb: tx_pwr=x34/xC6C6C6C6 sts:shr:phr:data=22.6:22.6:22.6:22.6[dB] cpl=FCC/ETSI pgcnt=236 temp=25
[001044.269 INF] uwb: lna=1 pa=0 rf1=1 rf2=0 xtaltrim=32 tx_delay=16422 rx_delay=16422
[001044.271 INF] uwb: panid=x1234 panid_mask=xFFFF zone=255 addr=xDECAED5BC8B1468D
[001044.287 INF] mode: ani (act,real)
[001044.288 INF] uwbmac: connected prof=5 (manual)
[001044.288 INF] uwbmac: bh disconnected
[001044.315 INF] cfg: sync=0 fwup=1 ble=1 leds=1 init=1 uab=1 bh=auto bh_stat=off cr=0 upd_rate_stat=30 label=ID468D
[001044.315 INF] enc: off
[001044.315 INF] ble: addr=F3:D9:66:75:93:EB
leaps>
  • mode: an

  • panid=x1234

  • prof=5

leaps> nps 5
nps: ok
leaps> nis 0x1234
nis: ok
leaps> nma

Low Energy Accurate Positioning System

Copyright :  2016-2025 LEAPS
License   :  Please visit https://www.leapslabs.com/leaps-rtls-license
Compiled  :  Oct 15 2026 09:42:20 (v1.2.1-4f9295)

Help      :  ? or help

FOR DEMO PURPOSE ONLY, NOT FOR SALE.
DEVICE RUNTIME IS LIMITED TO 48 HOURS. RESET THE DEVICE TO RECOVER IT.

leaps> si
[001081.464 INF] release: LEAPS RTLS v1.2.1-4f9295 (fira)
[001081.465 INF] sys: main main_ver=x02070101 cfg_ver=x01040000 batt=empty:0mV:NoCharger board=LC14_B prod=LC14_B pwr_cnt=0 rst_cnt=2
[001081.466 INF] uwb: ch9 prf64 plen128 pac8 txcode11 rxcode11 baud6800 phrmodeext phrratestd sfdtypeieee4a sfdto129 stsmodeoff stslen64 pdoamodem0
[001081.466 INF] uwb: tx_pwr=x34/xCECECECE sts:shr:phr:data=23.4:23.4:23.4:23.4[dB] cpl=FCC/ETSI pgcnt=229 temp=25
[001081.468 INF] uwb: lna=1 pa=0 rf1=1 rf2=0 xtaltrim=32 tx_delay=16423 rx_delay=16423
[001081.470 INF] uwb: panid=x1234 panid_mask=xFFFF zone=255 addr=xDECAE4F84AA54F9E
[001081.483 INF] mode: an (act,-)
[001081.483 INF] uwbmac: connected prof=5 (manual)
[001081.513 INF] uwbmac: bh disconnected
[001081.513 INF] cfg: sync=0 fwup=1 ble=1 leds=1 init=0 uab=1 bh=auto bh_stat=off cr=0 upd_rate_stat=30 label=ID4F9E
[001081.514 INF] enc: off
[001081.514 INF] ble: addr=D8:70:8B:16:3B:EE
leaps>
  • mode: an

  • panid=x1234

  • prof=5

leaps> nps 5
nps: ok
leaps> nis 0x1234
nis: ok
leaps> nma

Low Energy Accurate Positioning System

Copyright :  2016-2025 LEAPS
License   :  Please visit https://www.leapslabs.com/leaps-rtls-license
Compiled  :  Oct 15 2026 09:42:20 (v1.2.1-4f9295)

Help      :  ? or help

FOR DEMO PURPOSE ONLY, NOT FOR SALE.
DEVICE RUNTIME IS LIMITED TO 48 HOURS. RESET THE DEVICE TO RECOVER IT.

leaps> si
[001086.042 INF] release: LEAPS RTLS v1.2.1-4f9295 (fira)
[001086.042 INF] sys: main main_ver=x02070101 cfg_ver=x01040000 batt=empty:0mV:NoCharger board=LC14_B prod=LC14_B pwr_cnt=0 rst_cnt=2
[001086.043 INF] uwb: ch9 prf64 plen128 pac8 txcode11 rxcode11 baud6800 phrmodeext phrratestd sfdtypeieee4a sfdto129 stsmodeoff stslen64 pdoamodem0
[001086.044 INF] uwb: tx_pwr=x34/xCECECECE sts:shr:phr:data=23.4:23.4:23.4:23.4[dB] cpl=FCC/ETSI pgcnt=238 temp=25
[001086.045 INF] uwb: lna=1 pa=0 rf1=1 rf2=0 xtaltrim=32 tx_delay=16417 rx_delay=16417
[001086.047 INF] uwb: panid=x1234 panid_mask=xFFFF zone=255 addr=xDECA229121E05886
[001086.053 INF] mode: an (act,-)
[001086.091 INF] uwbmac: connected prof=5 (manual)
[001086.091 INF] uwbmac: bh disconnected
[001086.092 INF] cfg: sync=0 fwup=1 ble=1 leds=1 init=0 uab=1 bh=auto bh_stat=off cr=0 upd_rate_stat=30 label=ID5886
[001086.092 INF] enc: off
[001086.093 INF] ble: addr=FD:3F:4A:2F:BD:F0
leaps>
  • mode: an

  • panid=x1234

  • prof=5

leaps> nps 5
nps: ok
leaps> nis 0x1234
nis: ok
leaps> nma

Low Energy Accurate Positioning System

Copyright :  2016-2025 LEAPS
License   :  Please visit https://www.leapslabs.com/leaps-rtls-license
Compiled  :  Oct 15 2026 09:42:20 (v1.2.1-4f9295)

Help      :  ? or help

FOR DEMO PURPOSE ONLY, NOT FOR SALE.
DEVICE RUNTIME IS LIMITED TO 48 HOURS. RESET THE DEVICE TO RECOVER IT.

leaps> si
[001081.089 INF] release: LEAPS RTLS v1.2.1-4f9295 (fira)
[001081.090 INF] sys: main main_ver=x02070101 cfg_ver=x01040000 batt=empty:0mV:NoCharger board=LC14_B prod=LC14_B pwr_cnt=0 rst_cnt=2
[001081.091 INF] uwb: ch9 prf64 plen128 pac8 txcode11 rxcode11 baud6800 phrmodeext phrratestd sfdtypeieee4a sfdto129 stsmodeoff stslen64 pdoamodem0
[001081.091 INF] uwb: tx_pwr=x34/xEEEEEEEE sts:shr:phr:data=26.5:26.5:26.5:26.5[dB] cpl=FCC/ETSI pgcnt=245 temp=25
[001081.092 INF] uwb: lna=1 pa=0 rf1=1 rf2=0 xtaltrim=32 tx_delay=16427 rx_delay=16427
[001081.095 INF] uwb: panid=x1234 panid_mask=xFFFF zone=255 addr=xDECA7A20DFE04F2E
[001081.111 INF] mode: an (act,-)
[001081.111 INF] uwbmac: connected prof=5 (manual)
[001081.112 INF] uwbmac: bh disconnected
[001081.138 INF] cfg: sync=0 fwup=1 ble=1 leds=1 init=0 uab=1 bh=auto bh_stat=off cr=0 upd_rate_stat=30 label=ID4F2E
[001081.139 INF] enc: off
[001081.140 INF] ble: addr=C8:D9:F3:F1:7D:CE
leaps>
  • By default configuration, the device will be in TWR mode. To configure it to UL-TDoA mode, use the tcs mode 1 command.

  • mode: tn

  • panid=x1234

  • prof=5

leaps> nps 5
nps: ok
leaps> nis 0x1234
nis: ok
leaps> tcs mode 1
tcs: ok
leaps> urs 1 1
urs: ok
leaps> nmt

Low Energy Accurate Positioning System

Copyright :  2016-2025 LEAPS
License   :  Please visit https://www.leapslabs.com/leaps-rtls-license
Compiled  :  Oct 15 2026 09:42:20 (v1.2.1-4f9295)

Help      :  ? or help

FOR DEMO PURPOSE ONLY, NOT FOR SALE.
DEVICE RUNTIME IS LIMITED TO 48 HOURS. RESET THE DEVICE TO RECOVER IT.

leaps> si
[001602.920 INF] release: LEAPS RTLS v1.2.1-4f9295 (fira)
[001602.921 INF] sys: main main_ver=x02070101 cfg_ver=x01040000 batt=empty:0mV:NoCharger board=LC14_B prod=LC14_B pwr_cnt=0 rst_cnt=3
[001602.921 INF] uwb: ch9 prf64 plen128 pac8 txcode11 rxcode11 baud6800 phrmodeext phrratestd sfdtypeieee4a sfdto129 stsmodeoff stslen64 pdoamodem0
[001602.922 INF] uwb: tx_pwr=x34/xAEAEAEAE sts:shr:phr:data=20.3:20.3:20.3:20.3[dB] cpl=FCC/ETSI pgcnt=238 temp=25
[001602.923 INF] uwb: lna=1 pa=0 rf1=1 rf2=0 xtaltrim=39 tx_delay=16421 rx_delay=16421
[001602.926 INF] uwb: panid=x1234 panid_mask=xFFFF zone=255 addr=xDECA618912204500
[001602.969 INF] mode: tn (act,tdoa,np,le)
[001602.970 INF] uwbmac: disconnected prof=5 (manual)
[001602.970 INF] uwbmac: bh disconnected
[001602.971 INF] cfg: sync=0 fwup=1 ble=1 leds=1 le=1 lp=0 uab=1 stat_det=1 (sens=2) mode=1 upd_rate_norm=1 upd_rate_stat=1 label=ID4500
[001602.971 INF] enc: off
[001602.972 INF] ble: addr=D2:A9:B7:4C:BD:24
leaps>

Note

Backhaul Configuration (bh and bh_stat)

  • The device defaults to the off state if no leaps gateway connection is detected.

  • Upon connection, the leaps gateway sends an immediate configuration request that automatically switches the device to the act state.

For example:

[011451.027 INF] cfg: sync=1 fwup=1 ble=1 leds=1 init=1 uab=0 bh=on bh_stat=act cr=0 upd_rate_stat=30 label=ID468D
  1. Optional: To see a list of anchors in range and connected to the device, use the la command.

For example on an anchor 1:

leaps> la
[001046.572 INF] AN: cnt=4 seq=x03
[001046.572 INF]     0) id=468D seat=0 clk_lvl=0 seens=0 rssi=-127 cl=0000000F nbr=0000000F pos=0.00:7.50:1.55 rate=0
[001046.573 INF]     1) id=4F2E seat=3 clk_lvl=1 seens=252 rssi=-127 cl=0000000F nbr=00000000 pos=0.00:4.00:1.55 rate=100
[001046.574 INF]     2) id=4F9E seat=1 clk_lvl=1 seens=30 rssi=-127 cl=0000000F nbr=00000000 pos=5.50:7.50:1.55 rate=99
[001046.575 INF]     3) id=5886 seat=2 clk_lvl=1 seens=23 rssi=-127 cl=0000000F nbr=00000000 pos=5.50:4.00:1.50 rate=99
[001046.576 INF]

Besides, we can use the LEAPS Manager, to visualization of the devices and their positions.

  1. When Bluetooth and the LEDs are both disabled, users may erroneously perceive the board as non-functional. In this scenario, the quickest solution is to perform a factory reset (frst) command via the shell.

  2. Here are some tips for fixing some issues related to the installation process.

    • Please check the version. We recommend using the latest official version found under Releases.

    • Use the Reset devices to default feature in Demo Selector on the LEAPS Manager when you don’t know the current state of the devices. Refer to the following GIF Image.

    ../../../_images/reset-devices-to-defaul-x2.gif

Data flow:

  • When the tag blinks, the anchors receive blinks and send the TX/RX timestamps of blink to Leaps server via Leaps Gateway.

  • Leaps server uses the timestamps collected from Anchors to calculate Tag’s position and publish the position to MQTT broker.

../../../_images/uplink_tdoa_rtls_demo.png

Infrastructure setup

  1. Device Configuration

  • As above, use LEAPS Manager in Quick Start or Shell in Advanced to configure the devices.

  1. Setting Up Raspberry Pis

  • Install all Raspberry Pis using the LEAPS-RPI-IMAGE.

  • Each corresponding anchor connects to a Raspberry Pi, so at least 4 Raspberry Pis are required.

  • The image includes the setup and configuration for the LEAPS Gateway, LEAPS Server, LEAPS Center, and Mosquitto MQTT Broker.

  1. Connecting Raspberry Pis

  • Connect all Raspberry Pis to the Router to ensure they are on the same LAN.

  1. LEAPS Server Setup

  • Choose any Raspberry Pi to run the LEAPS Server and check its IP address. To obtain the IP address, use the ifconfig command.

../../../_images/uplinktdoartlsdemo-ip-address.png
  1. Updating Configuration

  • Using the IP address of the chosen Raspberry Pi, update the leaps_server_host configuration in /home/leaps/leaps-docker-linux/leaps-gateway-hub/data/leaps-gateway.conf for all LEAPS Gateways on all Raspberry Pis.

    For example:

    # LEAPS Server host
    leaps_server_host = 192.168.1.8
    
  • Save the configuration and restart the LEAPS Gateway with the following command:

    sudo docker restart leaps_gateway
    
  • Then, restart the LEAPS Server with the following command:

    sudo docker restart leaps_server
    
  1. Monitoring the System

  • Once the gateway is ready, monitor the system status using:

    For example:

    mosquitto_sub -h 192.168.1.8 -p 1883 -t '#' -v
    
  1. Configuring LEAPS Center

For example: Open a web browser and navigate to: 192.168.1.8/2

  • This can be accessed directly on the Raspberry Pi or on a PC connected to the LEAPS-AP network broadcasted by the Raspberry Pi with the password Leaps1234.

  • If on a LAN network, you can also use another computer’s web browser to access the Raspberry Pi’s IP address.

  1. Network Configuration

  • In the LEAPS Center, configure the network settings to match the network ID of the gateway board you have connected.

../../../_images/uplinktdoartlsdemo-leaps-center.png

Now the system has been successfully set up and configured the system. Enjoy using it!

Note

  • Refer to the software infrastructure to further explore the power of this demo. Our support includes LEAPS Docker, LEAPS VMWare and, LEAPS Raspberry Pi.

  • For any comments or questions about our products, we encourage you to visit our LEAPS Forum.

  • For detail of known limitation and issue list, please refer section Releases.

Previous Next

© Copyright 2023-2026, by LEAPS.