Skip to content

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, which makes it possible to work with the Apple system;

2.Fully aligned with FiRa™ PHY, MAC, and certification development, which makes 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;



  • Decawave DWM3000 for precision tracking
  • ESP32 for fast & powerful applications
  • Support Wifi, Bluetooth
  • Arduino compatible
  • Micro-USB connector
  • Board USB supply voltage range: 4.8~5.5V, 5.0V Typical


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.

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


You can list your question here or contact for technology support. Detailed descriptions of your question will be helped to solve your question.

  • Why I can't compile the code?
  • Please check the DW1000 library, users need to download the DW3000 library in GitHub, otherwise, the code will not compile the code in Arduino!