HaoruTech ULM 3 Positioning Module User Manual

June 8, 2024
HaoruTech

HaoruTech ULM 3 Positioning Module

Introduction

Figure 1-1 ULM3 UWB Module

ULM3 is a UWB module, based on the latest DW3000 series chip. Core UWB module of ULM3 is official Decawave DWM3000, and MCU is STM32F103CBT6 (or GD32F103CBT6 which based on the price fluctuation and batches difference). ULM3 can be used for precise ranging, indoor positioning and other high-speed data communication applications. ULM3 also integrates the OLED display. All the features make ULM3 easy to use, with high precision and small size.

For positioning applications, ULM3 module can be used as an anchor or tag, and the combination of multiple ULM3 modules can form a complete positioning system development kit.

DW3000 features
  • Ultra-low power consumption
    Through comprehensive optimization, DW3000 series can make power consumption 5 times lower than DW1000 by reducing peak current, frame duration and startup time.
    The power consumption of DW3000 is lower than BLE, and more friendly to low power standby duration.

  • Excellent security
    DW3000 supports for the new IEEE802.15.4z standards, and preamble encryption.

  • High compatibility
    DW3000 is compatible with the latest IEEE802.15.4z. After developing of FiRa compatible code, it supports main commercial mobile phones available in the market.

  • High-integrated
    By integrating baluns, capacitors and other components inside the chip, DW3000 reduced its size by reducing the number of external components from 30+ to 10.

  • PDOA with single chip
    DW1000 series requires two DW1000 chips to realize PDOA with the same clock source. But DW3x20 supports external double antennas, which can measure the arrival phase difference. The cost, size and power can be reduced by one single chip.

Module selection

Table 3-1 Comparison of Module Features

No. Type Main features
1 ULM3 Official DWM3000 module, display integrated, 40m
2 ULM3-SH Wristband, battery inside, motion detection, 40m
3 ULM3-PDOA PDOA anchor, angle detection, single base positioning, car-

following, 40m

Above are the related module based on DW3000 core chip, which can be combined used.

Product parameters

Table 4-1 ULM3 Module Parameters

Category Parameter
Power DC3.7V~5V external power supply

(power bank or li-ion battery)
Maximum Detection Range| 40m (open area) @6.8Mbps
MCU| STM32F103CBT6 (GD32F103CBT6)
Display Onboard| 0.6inch OLED
Module Size| 27*70mm (include antenna and base)
Ranging Accuracy| ±5cm
Working Temperature| -20~70℃
Communication Mode| USB to serial port / TTL serial
Data Update Frequency| 100Hz (MAX, adjustable)
Frequency Domain| 6250-8250MHz (CH5/CH9)
Bandwidth| 500MHz
Type of Antenna| Onboard ceramic antenna
Emission power spectral density

(Programmable)

| ****

-41dBm/MHz

Communication Rate| 6.8Mbps

Module interfaces

Figure 5-1 5-Module Interfaces

USB port (power supply & data transmission)

The port can be connected to a standard 5VDC module such as a charging bank or other 5V power adapters. It can also be connected to the USB port of a computer for power supply and data transmission and data display at the computer end.

Program downloading port

The port is the SWD debugging interface of STM32 microcontroller, which can be used for program downloading, simulation debugging, etc. It is mainly used for embedded program development and firmware update, and it can be used with the ST-LINK burning tool.

UART serial port

ULM3 module can connect to PC or Raspberry PI and other systems through USB port for data transmission, but also has UART serial port (TTL) on board, which can connect to other microcontrollers, Arduino and other devices for data transmission and secondary development. While Connecting, the TX pin of ULM3 should be connected to the RX pin of the target module, and the GND of the two modules should be connected directly.

HaoruTech-ULM-3-Positioning-Module-02Figure 5-2 ULM3 UART Connection Diagram

LED indicator

On board RGB indicator indicates the current system status.

Table 5-1 Indicator Status Description

Working Start ranging and successfully get GREEN LED BLINK

Status:

Tag

| response from 1 or more anchors, and  establish  ranging communication.|
| Start ranging but get no response from anchors.| RED LED BLINK

Working Status: Anchor

| Successfully establish a ranging connection with any tag.| LIGHT BLUE LED BLINK
| No tag connected.| LIGHT BLUE LED NOT BLINK (ON or OFF)

Parameter configuration interface

ULM3 module integrated the 8-bit DIP switch. The following figure 5-3 lists the switch configuration attributes. Users can easily configure the communication frequency, role, ID, and built-in Kalman filter switch of the module.

During using and onsite debugging, users can quickly change the module configuration without any other devices to adapt more environments.

Before modifying parameters, users should disconnect the power supply first, then switch the DIP switch to the corresponding configuration position, and finally re-power the module to load the new configuration.

Table 5-2 ULM3 Module DIP Switch Configuration

| ****

S1

| S2* (Maximum number of tags and communication

period)

| S3* (Increase the external

current)

| ****

S4(Role)

| ****

S5-S7

(Device address)

| ****

S8

(Kalman filter)

---|---|---|---|---|---|---
| | Maximum number of| | | |
ON| Reserved| tags: 1

Total communication

period: 10ms

| ON| Anchor| ****


Device address

| ON
| | Maximum number of| | | 000-111|
OFF| Reserved| tags: 10

Total communication

period: 100ms

| OFF| Tag| | OFF

The default configuration of the system:

  1. Maximum number of tags:10tags
  2. Update period:100ms (10Hz)
  3. External current increase:open
  4. Kalman filter:open.
  • S2 Note: At the communication rate of 6.8Mbps, the ranging period of 1 ULM3 tag and 4 ULM3 anchors system is 10ms. Because multiple Tags positioning is in the form of TDMA, the total communication period =10ms numbers of tag.
    For example, if the system has 10 tags, the ranging period is 10
    10ms=100ms. Within this period, the ranging data of tags will be outputted every 10ms according to the sequence of tag ID. If one of the tags is offline, the output is empty during its 10ms period. The maximum number of tags can also be modified to other numbers through embedded code.

  • S3 Note: Due to the low power consumption of DW3000 series modules, most of the power banks will actively turn off the external power supply when the load current is low. This will make the module reboot again and again. S3 increases the external current to actively increase the current of the module, which helps the power bank to maintain continuous output.

On Board OLED Display

Figure 5-3 Display Example

Table 5-3 Display Information Description

Example Description
V48 Firmware Version
4A10T Maximum 4 anchors and 10 tags (current mode)
100ms Current data update period
6.8M Current UWB air rate is 6.8Mbps
CH5 Current UWB channel is CH5
Anc:0 Current module is anchor, ID=0

(Alternative option: Tag)
K| Kalman  filtering  is  enabled    (no  display: disabled)
P| Increase the external is enabled (no display: disabled)

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-ULM-3-Positioning-Module-0Figure 6-1 Module Connects to PC

For the initial utilization, CH340 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.

Figure 6-2 Serial Port Connection

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.

Figure 6-3 Configure the Coordinates of Anchors

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

Communication protocol

Uplink data protocol

The uplink data protocol is the data uploaded actively by the UWB module through the serial port.
Serial communication baud rate: 115200bps-8-n-1

Serial communication data example:
mc 0f 00000663 000005a3 00000512 000004cb ffffffff ffffffff ffffffff ffffffff 095f c1 00146fb7 a0:0 22be

Table 7-1 Serial Communication Protocol Description

Content Example Description
HEAD mc Head of the data packet,fixed:”mc”
MASK 0f If ranging results are valid. For example: mask=0x07(0000 0111)

means RANGE 0,1,2 are valid.
RANGE0| 00000663| Distance from tag to anchor A0,hexadecimal notation, unit: mm, result of the example is 1.635m.
RANGE1| 000005a3| Distance from tag to anchor A1
RANGE2| 00000512| Distance from tag to anchor A2
RANGE3| 000004cb| Distance from tag to anchor A3
RANGE4| ffffffff| Distance from tag to anchor A4(Invalid ranging or no anchor)
RANGE5
| ffffffff| Distance from tag to anchor A5(Invalid ranging or no anchor)
RANGE6| ffffffff| Distance from tag to anchor A6(Invalid ranging or no anchor)
RANGE7
| ffffffff| Distance from tag to anchor A7(Invalid ranging or no anchor)
NRANGES| 095f| message flow, accumulated,0x0-0xffff
RSEQ| c1| Range number, accumulated,0x0-0xff
RANGTIME| 00146fb7| Ranging timestamp ,timestamp of MCU ,unit: ms
rIDt:IDa| a0:0| r means the role: a-anchor ,t-tag; IDt-tag address IDa-anchor address
DIAGNOSIS| 22be| Only existing when the role is anchor, and default is RX_POWER(current  anchor  and  last  communicated tag)=-88.94dBm
END| \r\n| End of the data packet

*Tips: Users can only get data from RANGE4/ RANGE5/ RANGE6/ RANGE7 when the firmware program works as 8 anchors, and nothing will output when it is a 4 anchors firmware program.

If the current device is a tag, the ranging and positioning information will closely follow “mc…”;

Example: $KT0, 1.69, 2.93, 4.98, NULL, LO = [-2.45, 5.44, 1.43]

Description:

  • Current role-T0;
  • K- Kalman filtering is enabled;
  • NK- Kalman filtering is not enabled;
  • Distance to anchor A0 is 1.69m;
  • Distance to anchor A1 is 2.93m;
  • Distance to anchor A2 is 4.98m;

Distance to anchor A3 fails to range, or A3 does not exist or A3 is not turned on.

The real-time positioning coordinates of the tag locates in the brackets after LO, and the coordinates is calculated within the tag. Users should note that the calculation can be completed only after the anchor coordinates are configured to the tag successfully.

Downlink data protocol

The downlink data protocol is the serial port command sent by the host to the UWB module, which is mainly used for parameter configuration. The length of the command is variable. The command begins with “$” as the data header and end with “\r\n”.

Table 7-2 Downlink Data Command

$rboot| Module reboots, and inputs the startup

information.

---|---
$reset| Restore system parameters to defaults.
$santdly,16375| Setting the antenna delay parameter (decimal) for ranging calibration:

  • if ranging result is smaller than the actual distance, the number needs to be reduced to increase the ranging distance.
  • if ranging result is bigger than the actual distance, the number needs to be increased to reduce the ranging distance.

$stxpwr,1f1f1f1f| Setting  Transmit  gain parameter (hexadecimal)
$sanccd,0,0,2,0,3.1,2,3.1,0,2,3.

1,3.1,2

| Setting anchors coordinates (only valid for tags setting)
| A0X,A0Y,A0Z,A1X,A1Y,A1Z,A2X,A2Y,A2Z,A3
| X,A3Y,A3Z
Coordinates unit:m,float
$saddr,9| Setting tag ID. The device ID will not be controlled by the DIP switch after the setting (only valid for tags Settings).

Shipping list

Shipping list of single ULM3 module: (Highly recommendation: purchasing more than 4 modules to get a whole positioning system.)
Table 8-1 Shipping List

No. Category Number Notes
1 ULM3 module 1
2 Micro-USB data cable 1

Development and learning files

List of development and learning materials we provide after purchasing:

Table 9-1 Development Code

No. Category Language
1 STM32 embedded code (KEIL MDK project) and STM32cube project C
2 PC software code C++ QT
3 Trilateral positioning algorithm code C
4 DW3000 embedded API C

Table 9-2 Hardware Documents

No. Category File type
1 ULM3 module hardware schematic diagram PDF
2 Chip DATASHEET PDF

Table 9-3 UserManual

No. Category File type
1 ULM3_UserManual PDF
2 RTLS1_UserManual PDF
3 DW3000 UserManual by Qorvo ZIP

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals