

The ESP32 UWB (Ultra-Wideband) is a microcontroller developed by Demo, with the part ID Esp32 DW3000(UWB). This component integrates UWB technology, enabling precise location tracking and short-range communication. It also features Wi-Fi and Bluetooth capabilities, making it a versatile choice for IoT applications. The ESP32 UWB is particularly suited for scenarios requiring high positioning accuracy and low power consumption.








| Parameter | Value |
|---|---|
| Manufacturer | Demo |
| Part ID | Esp32 DW3000(UWB) |
| Microcontroller Core | Dual-core Xtensa LX6 |
| UWB Frequency Range | 3.1 GHz to 10.6 GHz |
| UWB Data Rate | Up to 6.8 Mbps |
| Wi-Fi Standard | 802.11 b/g/n |
| Bluetooth Version | Bluetooth 4.2 (BLE) |
| Operating Voltage | 3.3V |
| Power Consumption | Low power (varies by mode) |
| Positioning Accuracy | ±10 cm |
| Operating Temperature | -40°C to +85°C |
| Dimensions | 18 mm x 25 mm |
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (3.3V) |
| 2 | GND | Ground |
| 3 | TXD | UART Transmit Data |
| 4 | RXD | UART Receive Data |
| 5 | GPIO0 | General Purpose I/O Pin 0 |
| 6 | GPIO1 | General Purpose I/O Pin 1 |
| 7 | SPI_MOSI | SPI Master Out Slave In |
| 8 | SPI_MISO | SPI Master In Slave Out |
| 9 | SPI_CLK | SPI Clock |
| 10 | SPI_CS | SPI Chip Select |
| 11 | UWB_TX | UWB Transmit |
| 12 | UWB_RX | UWB Receive |
| 13 | RESET | Reset Pin |
| 14 | EN | Enable Pin (used to wake the module) |
Below is an example of how to connect and use the ESP32 UWB with an Arduino UNO for basic communication:
| ESP32 UWB Pin | Arduino UNO Pin |
|---|---|
| VCC | 3.3V |
| GND | GND |
| TXD | RX (Pin 0) |
| RXD | TX (Pin 1) |
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
SoftwareSerial UWBSerial(10, 11); // RX = Pin 10, TX = Pin 11
void setup() {
// Initialize serial communication with the ESP32 UWB
Serial.begin(9600); // Communication with PC
UWBSerial.begin(115200); // Communication with ESP32 UWB
Serial.println("ESP32 UWB Test Initialized");
}
void loop() {
// Check if data is available from the ESP32 UWB
if (UWBSerial.available()) {
String data = UWBSerial.readString();
Serial.print("Received from ESP32 UWB: ");
Serial.println(data);
}
// Send data to the ESP32 UWB
if (Serial.available()) {
String command = Serial.readString();
UWBSerial.println(command);
Serial.print("Sent to ESP32 UWB: ");
Serial.println(command);
}
}
No Communication with Host Device
Inaccurate Positioning
Module Not Powering On
Overheating
Q1: Can the ESP32 UWB be used outdoors?
A1: Yes, but ensure the module is protected from environmental factors like moisture and extreme temperatures.
Q2: What is the maximum range of the UWB communication?
A2: The maximum range is approximately 10-50 meters, depending on the environment and antenna configuration.
Q3: Can I use the ESP32 UWB with other microcontrollers?
A3: Yes, the module supports UART and SPI interfaces, making it compatible with most microcontrollers.
Q4: How do I update the firmware?
A4: Firmware updates can be performed via the UART interface using the manufacturer's update tool. Refer to the official documentation for detailed instructions.