Ai-Thinker RD-03D mmWave Radar Sensor

View on Amazon
Overview
About Ai-Thinker RD-03D mmWave Radar Sensor
The Ai-Thinker RD-03D is a 24GHz mmWave radar module designed for multi-human tracking with accurate measurement of distance, speed, and position. It supports real-time tracking of up to five targets simultaneously and communicates over UART with a customizable binary protocol. Ideal for security, automation, and intelligent sensing systems.
Get Your RD-03D
Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.
RD-03D Specifications
Complete technical specification details for Ai-Thinker RD-03D mmWave Radar Sensor
📊 Technical Parameters
RD-03D Pinout
The RD-03D has 4 pins: VCC (5V), GND, and UART TXD/RXD for multi-target tracking.
Visual Pinout Diagram

Pin Types
Quick Tips
mmWave radar for multi-target tracking,[object Object],[object Object]
up to 5 targets simultaneously,Provides distance, speed, and position data
UART protocol at 115200 baud,UART signals are 3.3V compatible
Pin Descriptions
| Pin Name | Type | Description | Notes |
|---|---|---|---|
1 VCC | Power | Power supply input (5V). Requires stable regulated 5V supply. | Use external 5V regulator or ESP32 5V pin. |
2 GND | Power | Ground connection. Connect to ESP32 ground. | Common ground required for UART communication. |
3 TXD | UART | UART transmit pin. Outputs multi-target tracking data. | Connect to ESP32 RX pin (GPIO 16). 3.3V tolerant. |
4 RXD | UART | UART receive pin. Accepts configuration commands. | Connect to ESP32 TX pin (GPIO 17). |
Wiring RD-03D to ESP32
To interface the RD-03D with an ESP32, connect VCC to 5V, GND to ground, TXD to GPIO 16 (ESP32 RX), and RXD to GPIO 17 (ESP32 TX).
Visual Wiring Diagram

Connection Status
Protocol
Pin Connections
| RD-03D Pin | Connection | ESP32 Pin | Description |
|---|---|---|---|
1 VCC Required | 5V | Power supply (5V). Use ESP32 5V pin or external regulated supply. | |
2 GND Required | GND | Ground connection. | |
3 TXD Required | GPIO 16 (RX2) | Radar transmits tracking data to ESP32. | |
4 RXD Required | GPIO 17 (TX2) | ESP32 sends commands to configure radar. |
Object]
signals are 3.3V compatible - direct connection to ESP32 safe
UART2 (GPIO 16/17) to avoid USB serial conflicts
up to 5 human targets simultaneously with distance/speed data
protocol - use RD-03D library or parse manually
with clear line of sight to detection area
Object]
updates may be available - check manufacturer website
Object]
RD-03D Troubleshooting
Common issues and solutions to help you get your sensor working
Common Issues
Issue: ESP32 doesn't receive any data.
Verify TXD/RXD wiring. Ensure the baud rate is set to 115200. Use a USB-to-Serial adapter to confirm data output manually.
Issue: Detected target positions or speeds do not change.
Ensure there is line-of-sight movement in the detection area. Check for firmware version compatibility and reset the device if needed.
Debugging Tips
Use the Serial Monitor to check for error messages and verify the sensor's output. Add debug prints in your code to track the sensor's state.
Use a multimeter to verify voltage levels and check for continuity in your connections. Ensure the power supply is stable and within the sensor's requirements.
Additional Resources
RD-03D Programming Examples
Ready-to-use code examples for different platforms and frameworks
// Basic example for RD-03D UART output
#include <HardwareSerial.h>
HardwareSerial RadarSerial(2);
void setup() {
Serial.begin(115200);
RadarSerial.begin(115200, SERIAL_8N1, 16, 17);
}
void loop() {
while (RadarSerial.available()) {
Serial.write(RadarSerial.read());
}
}This example connects the RD-03D to ESP32 via UART2 (GPIO16/17) and outputs all received bytes to the Serial Monitor. The data consists of binary frames which must be parsed according to the RD-03D protocol. For real-time tracking and distance/speed parsing, refer to decoding routines at Electronic Clinic.
As of now, there is no official ESPHome component for the RD-03D. Integration is possible via a custom UART component or lambda parser for binary frames.
platformio.ini
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200main.cpp
#include <HardwareSerial.h>
HardwareSerial RadarSerial(2);
void setup() {
Serial.begin(115200);
RadarSerial.begin(115200, SERIAL_8N1, 16, 17);
}
void loop() {
while (RadarSerial.available()) {
Serial.write(RadarSerial.read());
}
}This PlatformIO sketch reads raw binary output from the RD-03D sensor using UART2 and relays it to the Serial Monitor. Use a parser to decode target coordinates, speed, and distance.
There is currently no official MicroPython driver for the RD-03D. Developers can read binary UART data and decode it using the frame format documented in the datasheet.
Wrapping Up RD-03D
The ESP32 Ai-Thinker RD-03D mmWave Radar Sensor is a powerful Human Presence sensor that offers excellent performance and reliability. With support for multiple development platforms including Arduino, ESP-IDF, ESPHome, PlatformIO, and MicroPython, it's a versatile choice for your IoT projects.
Best Practices
For optimal performance, ensure proper wiring and follow the recommended configuration for your chosen development platform.
Safety First
Always verify power supply requirements and pin connections before powering up your project to avoid potential damage.
Ready to Start Building?
Now that you have all the information you need, it's time to integrate the RD-03D into your ESP32 project and bring your ideas to life!







