HaoruTech ULA1 UWB Development Module User Manual

June 8, 2024
HaoruTech

ULA1 UWB Development Module
User Manual

ULA1 UWB Development Module

Introduction

ULA1 is a UWB Development module which takes Arduino as the development environment and DWM1000 module of Decawave as the core UWB module. ULA1 can be used for precise ranging, indoor positioning and other high-speed data communication applications. A tyFigureal high-precision positioning system can be achieved by 4  anchors and 1 tag (ULA1 module can be used as an anchor or tag).
The system design is open source. We provide users with embedded source code, hardware schematic, PC software source code, video tutorials and other materials, to help  users quickly learning how does the UWB positioning work and getting to work with it.
ULA1 module can be used as an anchor or tag.
HR-RTLS1 is a complete positioning system whicn consists of the combination of 5 or more ULA1 modules.HaoruTech ULA1 UWB Development Module - Figure
1

Table 1-1 ULA1 Module Parameters

Category Parameter
Module Model ULA1
Power DC5V(USB)
Maximum Detection Range 50m (open area)
MCU ESP32
Development Environment Arduino
Module Size 40*25mm
Ranging Accuracy 10CM
Working Temperature -20-80℃

Parameter configuration

HaoruTech ULA1 UWB Development Module - Figure 2

| S4(Role)| S5-S7 (Device address)
---|---|---
ON| Anchor| Device address 000-111
OFF| Tag

Table 2-2 DIP Switch Configuration

The 4-bit dip switch is used to conTable the anchors and tags of RTLS positioning system. The minimum system of 3D positioning consists of 4 anchors and 1 tag. The first  digit represents the current device role (ON means anchor, while OFF means tag), and the last three digits of the DIP switch represents the current device address.

TWR communication protocol

3.1 Structure of positioning frame
The communication data complies with the IEEE 802.15.4 MAC layer frame format. As shown in Table 3-1, A data frame consists of 3 parts-MAC Header (MHR), MAC Payload, and MAC Footer (MFR). MHR consists of frame control bytes, frame sequence number byte and address bytes. The length of MAC payload is variable and can be  user-defined. MFR is a 16-bit CRC (FCS) check sequence of MHR and MAC Payload data, which is automatically generated by DW1000.

Table 3-1 Beacon Frame Format

2 bytes 1 byte 2 bytes 2 bytes 2 bytes Variable length bytes 2 bytes

Frame
Control (FC)| Sequence
Number| PAN ID| Destination
Address| Source
Address| Ranging
Message| FCS
MHR| MAC Payload| MFR

3.1.1 Frame Control
Table 3-2 Frame Control Type

Frame Control (FC)

Bit 0| Bit 1| Bit 2| Bit 3| Bit 4| Bit 5| Bit 6| Bit 7| Bit 8| Bit 9| Bit10| Bit11| Bit12| Bit13| Bit14| Bit15
1| 0| 0| 0| 0| 0| 1| 0| 0| 0| 0| 1| 0| 0| 0| 1
Frame Type| SEC| PEND| ACK| FIGU
RE| Reserved| DestAddrMode| Frame Version| SrcAddrMode

Table 3-3 Frame Type

Frame Type Field (FC bits 2 to 0) Frame
0, 0,
0, 0,
0, 1,
0, 1,
1, 0,
1, 0,
1, 1,
1, 1,

Table 3-4 DestAddrMode Meaning

Destination addressing mode (FC bits 11 & 10) Meaning
0, 0
0, 1
1, 0
1, 1

Table 3-5 SrcAddrMode Meaning

Destination addressing mode (FC bits 11 & 10) Meaning
0, 0

PAN ID is present in the frame
0,| 1| Reserved
1,| 0| The destination address field is a short
(16-bit) address.
1,| 1| The destination address field is an
extended (64-bit) address.

3.1.2 Sequence Number
NOTICE: Incremented by 1 for each time.
3.1.3 PAN ID
NOTICE: Data receiving device and data sending device must be the same PAN ID to successfully receive and send data.
3.1.4 Destination Address
NOTICE: N/A
3.1.5 Source Address
NOTICE: N/A
3.1.6 FCS
Frame Check Sequence (FCS)
NOTICE: Data checking, which is automatically calculated by DW1000.
3.1.7 Ranging Message
3.1.7.1 POLL Message

1 byte
Function
Code
0x80

3.1.7.2 Response Message

1 byte
Function
Code
0x81

3.1.7.3 Final Message

1 byte 5 bytes 5 bytes 5 bytes

Function
Code| Poll TX
time| Resp RX
time| Final TX
time
---|---|---|---
0x82| –| –| –

3.1.7.4 Report Message

1 byte 2 bytes
Function Code Distance
0x83

3.1.7.5 RangeData Message

1 byte| 2 bytes| 2 bytes| 2 bytes| 2 bytes| 1 byte
---|---|---|---|---|---
Function
Code| Distance
AO| Distance
Al| Distance
A2| Distance
A3| Range
Mask
0x84| –| –| –| –| –

Serial communication protocol

Example:mc 0f 00000663 000005a3 00000512 000004cb 095f c1 0 a0:0
Table 4-1 Serial Communication Protocol Description

Content Example Description
HEAD mc Head of the data packet, fixed: ” mc”
MASK Of If ranging results are valid.

For example:
mask=0x07(0000 0111) means RANGE 0,1,2 is valid.
RANGEO| 663| Distance from tag to anchor AO, hexadecimal notation,
unit: mm, result of the example is 1.635m.
RANGE1| 000005a3| Distance from tag to anchor Al
RANGE2| 512| Distance from tag to anchor A2
RANGE3| 000004cb| Distance from tag to anchor A3
NRANGES| 095f| message flow, accumulated, Ox0-Oxffff
---|---|---
RSEQ| cl| Range number, accumulated, Ox0-Oxff
DEBUG| 0| Reserved, for debugging.
rlDt:IDa| a0:0| r means the role: a-anchor, t-tag;
IDt-tag address, IDa-anchor address

Supplementary instruction of rIDt:IDa:
If the current anchor is connected to PC:
r=a indicates the current role is anchor;
IDt indicates the tag ID, and it shows which tag is ranged by the current anchor;
IDa indicates the anchor ID, representing the anchor ID that connecting to the PC
Example:
1, anchor A0 connects to PC, and tag T0 is powered on [a0:0] 2, anchor A0 connects to PC, and tag T1 is powered on [a1:0] 3, anchor A1 connects to PC, and tag T1 is powered on [a1:1] r=t indicates that it is a tag connecting to PC;
IDt indicates the tag ID, and “:0” is fixed behind the IDt.
Example:
Tag T0 connects to PC, and anchor A0 is powered on [t0:0], then RANGE0 has an output value.

TWR ranging process

HaoruTech ULA1 UWB Development Module - Figure 3

If RangingTag or RangingAnchor program is in process, the entire ranging cycle is completed after TWR ranging from T0 to A0 is executed once.
If RTLS_Tag or RTLS_Anchor program is in process, the entire ranging cycle is completed after finishing the TWR ranging to A0\A1\A2\A3 continuously, and broadcasting a RangeData message.

System deployment

There are two system deployment modes: navigation mode and monitoring mode.
During the navigation mode, the tag needs to be connected to the PC while other anchors only need to power on. The position data and real-time track of the currently connected tag can be displayed on the PC software. In the monitoring mode, one of the anchors is connected to the PC, while the other anchors and labels are powered on. The position data and real-time track of all labels in the coverage area of the current anchor can be displayed in the PC software.

HaoruTech ULA1 UWB Development Module - Figure 4

For the initial utilization, CP2102 driver should be installed at first. After identifying the serial port on the PC, please open the PC software, select the serial port, and click “Connect” button to complete module connection and data communication.

After successfully connecting, users can complete the equipment deployment by configuring the position coordinates of the anchors based on the relative position of the  anchors, and then the tags can be located and displayed.

HaoruTech ULA1 UWB Development Module - Figure 6

For more details about the utilization of system deployment, please download the to get more information.
Download HR-RTLS1 UserManual:http://rtls1.haorutech.com/download/HR- RTLS1_UserManual-EN.pdf

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals