For outdoor positioning system, GPS is available for and works quite well but what about indoor positioning system?
There are various challenges in doors where accurate position of an items, people is necessary for the proper functioning of the system.
GPS doesn’t work in doors as satellite is not visible. There is a positioning technology that is more accurate and gaining adoption for indoors, that is UWB(Ultra Wide Band technology).
The technology offers positioning accuracy of ~10cm which greatly compensates for the shortcomings of the indoor RSSI positioning of past IoT products.
UWB technology is a wireless carrier communication technology that uses a frequency bandwidth above 1 GHz. It does not use a sinusoidal carrier but uses nanosecond-level non-sinusoidal narrow pulses to transmit data and occupies a large frequency spectrum, hence the name “Ultra-Wideband”, or UWB for shorts.
Besides positioning, UWB can also be used for data transmission with a rate of hundreds of megabits per second.

AI-thinker has built an easy to use indoor positioning module which can interface with MCU. It is based on Decawave DW1000 Chip. Module connects with MCU using SPI interface.
BU01 Module Size and Pinouts


BU01 Module MCU interface

BU01 Module features
- Simple integration, no RF design required
- Using RTLS infrastructure to expand the communication range
- Support high label density
- Comply with IEEE 802.15.4-2011 UWB standard
- Support 4 channels from 3.5 GHz to 6.5 GHz
- Programmable transmit power
- Power supply 2.8 V to 3.6 V
- Power consumption in sleep mode<1mA
- Support two-way ranging and TDOA
- Support SPI interface
- Data rate 110 kbps, 850 kbps, 6.8 Mbps
BU-01 module documentation summary
Product specification: BU01 module specification BU01_Specification
Product hardware guide: BU01 module guide
Chip manual: DW1000 Chip Manual
Chip datasheet: DW1000 chip datasheet
BU01 positioning algorithm: bphero_uwb_location_sourcecode_v1.1_16mhz.zip Decompression password: aithinker123
BU01 power problems and optimization: DW1000 power problems and optimization guide
BU01 application scenario guidance:
1.W1000 security and security application guidelines
2.DW1000 agricultural application guide
3.DW1000 keyless car system guide
4.DW1000 medical application guide
NodeMCU-BU01 Development Board
NodeMCU-BU01 is a development board that integrates Ai-Thinker BU-01 indoor positioning module + MCU. It has an onboard temperature and humidity sensor and provides AT files for easy integration into your project;

- 35mm*55mm board 50pin leads to facilitate peripheral function development Micro power interface, convenient for various power supply equipment access
- STM32F103 main control, rich chip resources, 50 IOs on the connector
- Acceleration sensor, phase measurement, accurate position status information
- Temperature and humidity sensor, measure current temperature and humidity information, no need to connect other temperature and humidity sensors
- Independent buttons and LEDs meet application logic control and status indication
NodeMCU-BU01 specification: NodeMCU-BU01 specification NodeMCU-BU01 specification
NodeMCU-BU01 AT instruction set: BU01 development board AT instruction set
BU01 based indoor positioning applications
- Virtual electronic fence
- Indoor Asset tracking/theft detection
- Distance measurement (aka ranging)




BU01 AT Command Interface
Instruction format | Description |
AT | Test instruction |
AT+switchdis=1 | Start ranging |
AT+interval=5 | Ranging interval (5-20m) |
AT+version? | Query version |
AT+RST | Software reset |
AT+tem_hum | Temperature and humidity acquisition |
AT+xyz | Three-axis acceleration acquisition |
AT+anchor_tag=0 | Set module communication role and custom ID |
Frequently Asked Questions
Q1: What’s the range of the module? How accurate is it?
A1: Point to point ranging is up to 50 meter, (depending on Anchor/Tag placement and angle), the accuracy is about 10 cm.
Q2: How does it work?
A2: Anchor and Tag communication mode; Module A serves as an Anchor (base station) and module B serves as a Tag. For positioning, module A can transmit position information to module B.
Q3: What else can be done besides ranging and positioning?
A3: In addition to positioning and ranging, Ai-Thinker BU01 module can also be used as a data transmission module for wireless transmission equipment.
Q4: What is the use of STM32 chip on the development board?
A4: STM32F103 microcontroller is the host device responsible for code controlling BU01 module. If you need the source code, contact AI-Thinker.
Q5: How to use the onboard temperature, humidity, and acceleration sensors?
A5: The factory firmware support AT commands to retrieve data from the temperature & humidity sensor, and the accelerator.
From where to buy BU01 Indoor positioning Modules?
If you are interested in BU01 indoor positioning modules, you can contact AI-thinker by email (overseas@aithinker.com)
“This post is sponsored by Ai-Thinker”
I hope you found this information useful. If you have any feedback, you can share in the comments section or you can also contact me directly.
Read more interesting articles on Embedded Systems Design.