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 development board features
- STMicroelectronics STM32F103 Arm Cortex-M3 microcontroller
- UWB module – Ai-Thinker BU01 module
- 50 I/O pins exposed for other functions on the evaluation board.
- Inbuilt Sensors onboard are accelerometer, temperature & humidity sensor
- User buttons and LED
- Power Supply – 5V via Micro USB port
More documentation is available here
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.