# Makerfabs ESP32 UWB DW3000

> ESP32 + DW3000 UWB development board for centimeter-accurate indoor positioning and ranging. Supports UWB channels 5 and 9, FiRa compatible, Apple U1 interoperable. WiFi and Bluetooth for data relay.

## Quick Facts

- **Brand:** Makerfabs
- **Board Type:** dev-board
- **Price:** ~$43.8
- **Product Readiness:** developer
- **CPU:** ESP32 (Xtensa LX6 dual-core @ 240MHz)
- **CPU Architecture:** Xtensa LX6
- **CPU Cores:** 2
- **RAM:** 520KB SRAM
- **Flash:** 4MB
- **USB:** Micro-USB
- **Power:** 5V via Micro-USB (4.8-5.5V)
- **Operating Voltage:** 3.3V
- **Antenna:** PCB antenna (WiFi/BT + UWB)

## Connectivity

- **Wifi:** 802.11 b/g/n
- **Bluetooth:** 4.2 + BLE

## Open Source

- **Firmware:** Yes
- **Schematics:** Yes
- **PCB Layout:** Yes

## Compatible Firmware

arduino, platformio, esphome, esp-idf

## Use Cases

- indoor-positioning
- uwb-ranging
- presence-detection
- asset-tracking
- robotics
- iot

## Components

- **ESP32-WROOM-32** (mcu): Espressif ESP32 dual-core Xtensa LX6 MCU with WiFi and Bluetooth 4.2 — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.espressif.com%2Fsites%2Fdefault%2Ffiles%2Fdocumentation%2Fesp32-wroom-32_datasheet_en.pdf&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export)
- **DW3000** (uwb-transceiver): Qorvo/Decawave DW3000 UWB transceiver, IEEE 802.15.4z, FiRa compatible, Apple U1 interoperable, channels 5 (6.5GHz) and 9 (8GHz) — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.qorvo.com%2Fproducts%2Fd%2Fda008142&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export)

## Protocols

- **SPI**
- **I2C**
- **UWB**
- **UART**

## GPIO Map

| Pin | Name | Type | Functions |
|-----|------|------|-----------|
| GPIO18 | SPI SCK (to DW3000) | SPI | digital-output |
| GPIO19 | SPI MISO (from DW3000) | SPI | digital-input |
| GPIO23 | SPI MOSI (to DW3000) | SPI | digital-output |
| GPIO4 | SPI SS / I2C SDA | SPI | digital-output, digital-input |
| GPIO5 | I2C SCL | I2C | digital-output, digital-input |
| GPIO27 | DW3000 Reset | Control | digital-output |
| GPIO34 | DW3000 IRQ | Control | digital-input |

## Available Software

- **[Makerfabs DW3000 Arduino Library](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2FMakerfabs%2FMakerfabs-ESP32-UWB-DW3000&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export)**: Official Arduino library with TWR ranging examples
- **[ESPHome UWB DW3000 Component](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2Frealzoulou%2Fesphome-uwb-dw3000&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export)**: Community ESPHome component for Home Assistant integration with multi-anchor positioning

## Description

## Overview

The Makerfabs ESP32 UWB DW3000 is a development board combining Espressif's ESP32 microcontroller with Qorvo's DW3000 ultra-wideband transceiver. It enables centimeter-accurate indoor positioning and distance measurement using UWB technology, while leveraging the ESP32's WiFi and Bluetooth for data relay and cloud connectivity.

Ultra-wideband (UWB) is a short-range wireless communication protocol that operates through radio waves, enabling secure reliable ranging and precision sensing. The DW3000 chip achieves 10cm positioning accuracy, making it suitable for real-time location systems (RTLS), asset tracking, and presence detection.

## Key Advantages Over DW1000

The DW3000 represents a significant upgrade over the previous generation DW1000/DWM1000:

- **Apple U1 Interoperability** -- Compatible with Apple's U1 chip ecosystem for integration with iPhones and AirTags
- **FiRa Compliance** -- Fully aligned with FiRa PHY, MAC, and certification development for cross-vendor interoperability
- **Lower Power Consumption** -- Approximately 1/3 the power draw of the DWM1000
- **Dual Channel Support** -- Supports UWB Channel 5 (6.5 GHz) and Channel 9 (8 GHz); the DWM1000 only supports Channel 5

## Hardware Variants

The board is available in two ESP32 module variants:

| Variant | Module | PSRAM | Price |
|---------|--------|-------|-------|
| WROOM | ESP32-WROOM-32 | None | $43.80 |
| WROVER | ESP32-WROVER | 8MB | $45.80 |

Both variants share the same PCB layout and DW3000 UWB transceiver.

## Pin Mapping (ESP32 to DW3000)

The DW3000 communicates with the ESP32 over SPI:

| ESP32 GPIO | Function | Direction |
|-----------|----------|-----------|
| GPIO18 | SPI SCK | Output |
| GPIO19 | SPI MISO | Input |
| GPIO23 | SPI MOSI | Output |
| GPIO4 | SPI SS (Chip Select) | Output |
| GPIO27 | DW3000 Reset | Output |
| GPIO34 | DW3000 IRQ | Input |

I2C pins (GPIO4 SDA, GPIO5 SCL) are available for connecting an optional SSD1306 OLED display.

## Getting Started

1. Install the Arduino IDE or PlatformIO
2. Clone the [Makerfabs ESP32 UWB DW3000 library](https://github.com/Makerfabs/Makerfabs-ESP32-UWB-DW3000) into your Arduino libraries folder
3. Flash the `range_tx` example to one board (tag) and `range_rx` to another (anchor)
4. Open Serial Monitor at 115200 baud to see distance measurements

The library includes Two-Way Ranging (TWR) examples for basic distance measurement between two boards.

## ESPHome Integration

A community-maintained [ESPHome UWB component](https://github.com/realzoulou/esphome-uwb-dw3000) enables direct integration with Home Assistant. It supports multi-anchor setups (up to 8 anchors, 32 tags) for real-time indoor positioning with automatic location calculation and reporting to Home Assistant.

## Applications

- **Indoor Asset Tracking** -- Track equipment, inventory, or personnel in warehouses, hospitals, and factories with centimeter accuracy
- **Room-Level Presence Detection** -- Determine which room a person or device is in for smart home automation
- **Robotics Navigation** -- Provide precise position feedback for autonomous robots and drones
- **Secure Ranging** -- IEEE 802.15.4z provides built-in security against relay attacks, useful for access control
- **Sports & Motion Analysis** -- Track athlete or object movement with high temporal and spatial resolution

## Resources

- [Makerfabs Wiki](https://wiki.makerfabs.com/ESP32_DW3000_UWB.html) -- Setup guides and technical documentation
- [GitHub Repository](https://github.com/Makerfabs/Makerfabs-ESP32-UWB-DW3000) -- Arduino library, examples, and hardware files
- [DW3000 Datasheet (Qorvo)](https://www.qorvo.com/products/d/da008142) -- Full transceiver specifications
- [Hardware Schematics](https://github.com/Makerfabs/Makerfabs-ESP32-UWB-DW3000/tree/main/hardware) -- Eagle schematic and board files (open source)

## Where to Buy

- [Makerfabs](https://openhardware.directory/r?to=https%3A%2F%2Fwww.makerfabs.com%2Fesp32-uwb-dw3000.html&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export) — $43.80
- [Tindie](https://openhardware.directory/r?to=https%3A%2F%2Fwww.tindie.com%2Fproducts%2Fmakerfabs%2Fesp32-uwb-dw3000ultra-wideband%2F&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export) — $43.80

## Resources

- [product](https://openhardware.directory/r?to=https%3A%2F%2Fwww.makerfabs.com%2Fesp32-uwb-dw3000.html&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export)
- [github](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2FMakerfabs%2FMakerfabs-ESP32-UWB-DW3000&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export)
- [wiki](https://openhardware.directory/r?to=https%3A%2F%2Fwiki.makerfabs.com%2FESP32_DW3000_UWB.html&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export)
- [datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.qorvo.com%2Fproducts%2Fd%2Fda008142&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export)
- [schematics](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2FMakerfabs%2FMakerfabs-ESP32-UWB-DW3000%2Ftree%2Fmain%2Fhardware&ref=openhardware.directory&product=makerfabs-esp32-uwb-dw3000&source=md-export)

## Tags

`esp32`, `uwb`, `dw3000`, `indoor-positioning`, `ranging`, `rtls`, `fira`, `apple-u1`, `ultra-wideband`, `iot`

## Images

![Makerfabs ESP32 UWB DW3000](https://nbg1.your-objectstorage.com/openhardware-directory/entities/makerfabs-esp32-uwb-dw3000/5c46312aefef.jpg)
![Makerfabs ESP32 UWB DW3000](https://nbg1.your-objectstorage.com/openhardware-directory/entities/makerfabs-esp32-uwb-dw3000/a03bd6b4fcbc.jpg)
![Makerfabs ESP32 UWB DW3000](https://nbg1.your-objectstorage.com/openhardware-directory/entities/makerfabs-esp32-uwb-dw3000/32e3605a1ebc.jpg)
![Makerfabs ESP32 UWB DW3000](https://nbg1.your-objectstorage.com/openhardware-directory/entities/makerfabs-esp32-uwb-dw3000/8ef807b057c8.jpg)
![Makerfabs ESP32 UWB DW3000](https://nbg1.your-objectstorage.com/openhardware-directory/entities/makerfabs-esp32-uwb-dw3000/12550b971ec5.jpg)

---
[View full device page](https://openhardware.directory/devices/makerfabs-esp32-uwb-dw3000)