ESP32 UWB board features DW1000 module for accurate indoor positioning

FiRa “Fine Ranging” UWB technology was introduced a few years ago and is now found in devkits and Apple U1 chip. Makerfabs ESP32 UWB board provides another option with Espressif ESP32-WROVER-32 or ESP32-WROOM-32 WiFi & Bluetooth module combined with a Decawave DW1000 module for precision tracking.

Makerfabs explains the board acts like a continuously scanning radar that locks onto another device (called Anchor, since it’s usually in a fixed location) and communicates with it to determine the distance between objects by calculating the time of flight (ToF) between devices, or in other words, the roundtrip time of challenge/response packets.

ESP32 UWB boardESP32 UWB board specifications:

  • Wireless modules:
    • WiFi & Bluetooth LE – ESP32-WROVER-32 or ESP32-WROOM-32 module with ESP32 dual-core processor @ 240 MHz
    • UWB – B&T BU01 module based on Decawave DW1000 chip; IEEE802.15.4-2011 UWB compliant wireless transceiver module with a precision of 10cm indoors, a data rate of up to 6.8 Mbps, and a range of up to 300m
  • USB – 1x Micro USB port for power and programming
  • Expansion – 20-pin and 12-pin GPIO headers for expansion
  • Misc – Reset and Flash buttons
  • Power Supply – 5V via micro USB port
BU01 / DWM1000 UWB module
BU01/DWM1000 UWB module block diagram

The board is open-source hardware with both hardware (EAGLE) and software available on Github, plus a Wiki on Makerfabs’ website. The software consists of Arduino sketches for UWB Anchor and UWB Tag, as well as another “Indoor positioning” Arduino sketch running a web server combined with Python script to plot the location on a computer or SBC. There’s also a demo showing the location on a small display attached to a Tag. You’ll need at least one Tag and one Anchor for distance measurement, but indoor positioning requires at least two Anchors. You can watch a demo in the video below

Makerfabs ESP32 UWB board is sold with either ESP32 WROOM or WROVER module for around $40 on Tindie or directly on Makerfabs online store.

Via Hackster.io

Share this:

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
13 Comments
oldest
newest
geokon
6 months ago

I wonder why it’s limited to indoors. And could you hook up 4 anchors and do 3D positions?

If it’s affordable enough, I could see this being nice for some quick n dirty surveying/mapping

Jqpabc123
Jqpabc123
6 months ago

This is based on time of flight so all positions are really 3D positions whether you realize it (or consider as much) or not.

3 anchors/distances are mathematically sufficient to locate a point in 3D space; however, for accuracy, at least one anchor point needs to be at a significantly different elevation; at a known distance above or below the plane of the others.

Surveying involves repeated measurement where errors have a funny tendency to accumulate. The accuracy here is not really adequate unless you’re willing to accept some pretty gross errors in the results

Konstantin
Konstantin
6 months ago

indeed, 3 positions are not enough. You can try to solve the equations or you can try visualizing intersection of 3 spheres. Either way, it gives you 2 solutions/intersection points. If you know your floor height, you can guess the right one based on that knowledge, but otherwise you need 4 anchors.

Jqpabc123
Jqpabc123
6 months ago

By selecting practical/sensible boundaries, 3 are sufficient in practice for most earthbound applications.

Set one anchor at min elevation. Set a second at the max elevation. The 3rd can be some where between at a planar boundary.

Only 1 practical solution lies between min and max — and only 3 anchors/distances are required.

Konstantin Balashov
Konstantin Balashov
6 months ago

Did you actually tried to implement the system or at least do the math or visualize 3 intersecting spheres? Because what you are saying is inaccurate. Imagine 3 spheres barely intersecting each other with centers at z=0. Both intersection points are in the middle, very close to the horizontal plane, above and below. Now tilt the plane. Both points are now between min and max Z of the sphere centers.

Deets
Deets
6 months ago

Should have used the new DWM3000TR13 modules

Marcin Dąbrowski
6 months ago

What’s the difference?

Winston
Winston
6 months ago

If I only need to know the distance and angle between anchor and tag, would 1 anchor be enough?

Winston
Winston
6 months ago

Also are the anchor and tag same hardware? Just need to change the config to switch between anchor and tag, right?

Winston
Winston
6 months ago

If I just need to know the distance and angle between anchor and tag, will I be able to do it with one Anchor and one tag?

Jsolla
Jsolla
6 months ago

I wonder how good this would be when required to cross some obstacles. Say for example I want to know proximity of a car to a door (anchor in the door and tag inside the car) so I can open the door just when the car is close to the door. Would it work? Someone here with knowledge/experience on this area? 🙂

Advertisement