Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Makerfabs ESP32 UWB DW3000

The DW3000 library in this repository was developed by NConcepts, not Makerfabs. Makerfabs is simply responsible for maintaining the repository.

/*
Version:        V1.2
Author:            Vincent
Create Date:    2022/8/1
Note:
    2023/5/5     V1.2:The routines that can be used are placed in 
                    the example folder separately, with instructions 
                    added.
    2023/3/18    V1.1:Modify the SPI operating frequency in the library.
                      Added software reset to demo.
*/

[TOC]

Makerfabs

Makerfabs home page

Makerfabs Wiki

Makerfabs ESP32 UWB DW3000

1.Intruduce

Click the image below to watch the demonstration on YouTube.

Watch the video

Product Link :esp32-uwb-dw3000

Wiki Link : ESP32 UWB DW3000

Makerfabs ESP32 UWB contains an ESP32 and a DW3000 chip.

Ultra-wideband (UWB) is a short-range, wireless communication protocol that operates through radio waves, enables secure reliable ranging and precision sensing, creating a new dimension of spatial context for wireless devices.

Makerfabs ESP32 UWB module, which is based on IC DecaWave DW1000, has been greatly popular and liked by many Makers. And many customers ask us for the newest DW3000 version, after long-term comparison & testing, now it's available!~

Compares to the DWM1000, the DWM3000 has advantages as below:

  1. Most important: Interoperable with Apple U1 chip, that makes it possible to work with the Apple system;
  2. Fully aligned with FiRa™ PHY, MAC, and certification development, which make it more suitable for further applications;
  3. Much lower Power consumption, almost 1/3 of DWM1000;
  4. Supports UWB channels 5 (6.5 GHz) and 9 (8 GHz), while DWM1000 does not support Channel 9;

2.Feature

  • Integrated ESP32 2.4G WiFi and Bluetooth.
  • DW3000 UWB module.

3.Usage

ESP32 UWB DW3000 module ranging principle.

ESP32 UWB DW30003.jpg

ESP32 UWB DW30004.jpg

Download the DW3000 library in GitHub, and put it to the Arduino library file.

Note: The DW3000 library in this repository was developed by NConcepts, not Makerfabs. Makerfabs is simply responsible for maintaining the repository.

3.1 One Anchor + one Tag

How to set ESP32 UWB DW3000 module as the anchor port.

  • Prepare the module and connect it to the PC with a USB cable.

  • There is a sketch(range_tx.ino) for the setting, the sketch is available on GitHub. The path is >>example>>range_tx>>range_t.ino.

  • Open the sketch with Arduino IDE. If you did not install the ESP32 development board on Arduino IDE, please check here for how to install it.

  • Select the development board "ESP32 Dev Module" and the port.

ESP32 UWB DW30005.jpg

  • Upload the sketch to the board.

  • This module can be an anchor port to receive the other UWB device signal.

How to use ESP32 UWB DW3000 module to measure the distance from the anchor port.

How to use ESP32 UWB Pro module to measure the distance from the anchor port.

  • Open the sketch range_rx by Arduino IDE. The path is >>example>>range_rx>>range_rx.ino
  • As above mentioned to install the development board and library.
  • Select the development board “ESP32 Dev Module” and the port.
  • Upload the sketch to the board.
  • Open the serial monitor, it will print the distance from the anchor port.

ESP32 UWB DW30007.jpg

ESP32 UWB DW30006.jpg

3.2 Multi Anchor + Multi Tag

This is the example to get the distance and signal strength value from multi Tag to multi Anchor.

The network uses a designated Master Anchor to coordinate synchronization and network scheduling.

#define MASTER_ANCHOR_ID    0xA0

The Master Anchor serves as the reference node for the entire UWB network and is responsible for:

  • TDMA timing coordination
  • Tag scheduling reference
  • Maintaining a common network time base

All Anchors and Tags in the network must be configured with the same MASTER_ANCHOR_ID.

Set the board to Anchor X or Tag X

Open the Tag and Anchor by Arduino IDE.

Modify code to get the Anchor or Tag that you want to define

// 0xA0~0xA7
#define MASTER_ANCHOR_ID    0xA0
//For example 0, 1, 2..
#define TAG_ID              0

Use Type-C USB cable to connect the board and PC, and select the development board "ESP32 Dev Module" and the port.

Verify the code and upload.

Repeat to set up multiple Anchor and multiple Tag.

result.png

Open the port for any anchor to view the distances from all tags to all anchors.

result2_2_.png

Results for 8Tag + 8anchor

result8_8_.png

About

No description, website, or topics provided.

Resources

Stars

163 stars

Watchers

15 watching

Forks

Releases

Packages

Contributors

Languages