Skip to content



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. The DW1000 is a single-chip wireless transceiver based on ultra-wideband technology, providing a new approach to real-time location and indoor location systems, location-based services, wireless sensor networks and the Internet of Things by providing accurate location awareness and communication. ESP32 UWB module based on DW1000 and ESP32, is like a continuously scanning radar that can precisely lock onto another device, discover its location and communicate with it. Once the device is near another UWB device, the devices start “ranging.” Ranging refers to calculating the time of flight (ToF) between devices: the roundtrip time of challenge/response packets.






  • Decawave DWM1000 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


pcb Dimension.png


ESP32 UWB module ranging principle.


How to set ESP32 UWB module as the anchor port.

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

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

  • Open the sketch by Arduino IDE. If you did not install the ESP32 development board on Arduino IDE, please check here for how to install it.
  • Install the library for mf_DW1000 in GitHub. When downloading the zip, open the Arduino IDE. Click the >>sketch>>include library>>ADD. ZIP.library.
  • Select the development board "ESP32 Dev Module" and the port.


  • 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 module to measure the distance from the anchor port.

  • Open the sketch ((uwb_tag.ino)[]) by Arduino IDE. The path is >>example/tag/uwb_tag/uwb_tag.ino
  • As above mentioned to install the development board and library.
  • Upload the sketch to the board.
  • Open the serial monitor, it will print the distance from the anchor port.



1.What's difference between ESP32 WROOM and ESP32 WROVER?


IO16 and IO17 of ESP32 WROVER are used for PSRAM.

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