HMMD mmWave Sensor
| ||
Introduction
HMMD mmWave Sensor is a human micro-motion sensor that can detect and recognize moving, standing, and stationary human body. It is widely used in various AIoT scenarios, covering smart homes, smart security, smart businesses, and smart lighting, etc.
Features
- Comes with the Silicon Micro AIoT Millimeter-Wave Sensor SoC S3KM1110.
- Onboard high-performance 24GHz one-transmit-one-receive antenna and peripheral circuits.
- Mini module size: 20mm x 20mm.
- Pre-loaded with default human body sensing configuration, plug-and-play.
- Longest detection distance for motion human body sensing: 8.5m.
- Driven by the PY32F003F17U6TR microcontroller, with UART pins exposed for easy integration with Arduino/ESP32/JetsonNano and other main control boards.
- Utilizes human micro-motion sensing algorithms, millimeter-wave radar distance measurement technology, and advanced proprietary signal processing technology of the S3KM1110 chip.
- Provide online comprehensive supporting documentation (Raspberry/JetsonNano/Arduino/ESP32/sample demos).
- Accurate perception of motion, micro-movement, and stationary human bodies achieved.
Specification
- Hardware
- Frequency Band: 24~24.25Ghz
- Maximum Scanning Bandwidth: 0.25GHz
- Maximum Equivalent Isotropic Radiated Power: 11dBm
- Supply Voltage: 3.3V (3.0~3.6V Wide-range Voltage)
- Dimensions: 20x20mm²
- Environment Temperature: -40~85℃
- System:
- Detection Range (wall-mount): Motion human body target 10m; Micro-motion human body target 6m
- Detection Range (ceiling-mount): Motion human body target 5m; Micro-motion human body target 4m
- Detection Accuracy: 0.15m (for moving targets within 10m straight-line distance from the radar)
- Average Operation Current: 50mA
- Data Refresh Period: 100ms
Hardware Description
J2 Pin | Label | Function | Description |
---|---|---|---|
J2Pin1 | 3V3 | Power Input | Power supply positive, 3.0~3.6V,Typ.3.3V |
J2Pin2 | GND | Ground | Connect to the Ground |
J2Pin3 | TX | UART_TX | 0~3.3V |
J2Pin4 | RX | UART_RX | 0~3.3V |
J2Pin5 | OT2 | IO, Used for reporting detection status: High output level for presence, low output level for absence. | 0~3.3V |
Hardware Test
Hardware Connection
- Users need to prepare the following things in addition to the module itself before using the module:
USB TO TTL and related cables, here we recommend CP2102 and FT232 kernel-driven TTL modules: CP2102 USB UART Board
- Set the USB TO TTL level selector toggle switch to 3.3V and connect the module and USB TO TTL as described in the table below:
HMMD mmWave Sensor | CP2102 USB UART Board |
---|---|
3V3 | VCC |
GND | GND |
TX | RXD |
RX | TXD |
- Connect the USB TO TTL to the computer, open the supporting software of the host computer, select the corresponding USB TO TTL serial port number, select the baud rate of 115200 to connect to the device, and then adjust the parameter to receive the data.
![HMMD-mmWave002.png](/w/upload/7/76/HMMD-mmWave002.png)
Host Description
1. First, download HMMD mmWave Sensor host software.
2. According to #Hardware Connection, use USRT to USB to connect the module and the host.
3. Open the host tool, click on the "Refresh" button, select the TTL tool's serial port in the "Port No." dropdown, confirm that the "Baud Rate" is 115200, and then click "Connect" to establish the connection between the host and the radar module.
As shown in the above image, the host tool is divided into three areas: Device Operation Area 1, Function Button Area 2, and Function Page Area 3.
After connecting the host and the module, In Area 1 of the interface, the firmware version and serial number of the radar module will be displayed (if the serial number is not burned, the host computer will display FFFFFFFF). The Function Page Area of the "Parameter View/Set" function will show the current settings of the radar module.
Terminology Explanation
- Maximum Distance Gate: Used to set the module's farthest effective detection distance, with one gate length equal to 70cm. Parameter range: 0~15.
- Target Disappearance Delay Time (s): The time it takes for the target state to switch from presence to absence. During this delay, if a person is detected, the timer resetting the delay time is triggered. After the module detects the absence state for a duration equal to the delay time, it reports no presence, and at this point, the OT2 pin outputs a low level. Parameter range: 0~65535.
Communication Protocol
The default baud rate of the radar serial port is 115200, 1 stop bit, no parity bit.
Protocol Format
HMMD mmWave Sensor data communication uses the small end format and all data is in hexadecimal.
Send Command with ACK
1. Read Firmware Version Command
This command reads the radar firmware version information.
Command Code: 0x0000
Command Value: None
Return Value: Version Number Length (2 bytes) + Version Number Byte String
Sending data:
FH(frame header) Byte 1~4 | In-frame Data Length Byte 5,6 | In-frame Data Byte 7,8 | Frame Tail Byte 9~12 |
---|---|---|---|
FD FC FB FA | 02 00 | 00 00 | 04 03 02 01 |
Module ACK: (Successful Example)
Byte 1~4 | Byte 5,6 | Byte 7,8 | Byte 9,10 | Byte 11,12 | Byte 13~18 | Byte 19~24 |
---|---|---|---|---|---|---|
FD FC FB FA | 0C 00 | 00 01 | 00 00 | 06 00 | 76 31 2E 35 2E 35 | 04 03 02 01 |
2. Read Serial Number Command
This command reads the serial number of the radar.
Command Code: 0x0011
Command Value: None
Return Value: 2 bytes ACK status (0 for success, 1 for failure)
Sending Data:
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte 9~12 |
---|---|---|---|
FD FC FB FA | 02 00 | 11 00 | 04 03 02 01 |
Module ACK: (Successful Example)
Byte 1~4 | Byte 5,6 | Byte 7,8 | Byte 9,10 | Byte 11,12 | Byte 13~14 | Byte 15~18 |
---|---|---|---|---|---|---|
FD FC FB FA | 08 00 | 11 01 | 00 00 | 02 00 | CB AB | 04 03 02 01 |
3. Read Register Command
This command reads the registers of the radar.
Command Code: 0x0002
Command Value: 2 bytes chip address + (2 bytes address) * N
Return Value: (2 bytes data) * N
Sending Data:
Byte 1~4 | Byte 5,6 | Byte 7,8 | Byte 9~12 | Byte 13~16 |
---|---|---|---|---|
FD FC FB FA | 06 00 | 02 00 | 40 00 40 00 | 04 03 02 01 |
Module ACK: (Successful Example)
Byte 1~4 | Byte 5,6 | Byte 7,8 | Byte 9,10 | Byte 11,12 | Byte 13~16 |
---|---|---|---|---|---|
FD FC FB FA | 06 00 | 02 01 | 00 00 | 07 02 | 04 03 02 01 |
4. Read Parameters Configuration Command
This command reads the configuration parameters of the radar.
Command Code: 0x0008
Command value: (2 byte parameter ID)*N
Return value: (4 byte parameter value)*N
Sending Data:
Byte 1~4 | Byte 5,6 | Byte 7,8 | Byte 9~10 | Byte 11~14 |
---|---|---|---|---|
FD FC FB FA | 04 00 | 08 00 | 01 00 | 04 03 02 01 |
Module ACK: (Success, maximum distance gate set to 12)
Byte 1~4 | Byte 5,6 | Byte 7,8 | Byte 9,10 | Byte 11,14 | Byte 15~18 |
---|---|---|---|---|---|
FD FC FB FA | 08 00 | 08 01 | 00 00 | 0C 00 00 00 | 04 03 02 01 |
Module Report Data
The HMMD mmWave Sensor operates in default mode by outputting detection results through the serial port. The output consists of a string indicating ON/OFF along with the target distance gate.
In typical application scenarios, the host computer obtains data during the module's processing. Therefore, the module offers debug mode, report mode, and normal mode.
Normal Mode
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte9~10 | Byte 11~14 | Byte 15~18 |
---|---|---|---|---|---|
FD FC FB FA | 08 00 | 12 00 | 00 00 | 04 00 00 00 | 04 03 02 01 |
Debug Mode
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte9~10 | Byte 11~14 | Byte 15~18 |
---|---|---|---|---|---|
FD FC FB FA | 08 00 | 12 00 | 00 00 | 00 00 00 00 | 04 03 02 01 |
Report Mode
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte9~10 | Byte 11~14 | Byte 15~18 |
---|---|---|---|---|---|
FD FC FB FA | 08 00 | 12 00 | 00 00 | 64 00 00 00 | 04 03 02 01 |
In report mode serial port data frame example:
Frame Header | Length | Detection Result | Target Distance | The energy values for each distance gate | Frame Tail |
---|---|---|---|---|---|
F4 F3 F2 F1 | 2 bytes, total number of bytes for detection result, target distance, and energy values for each distance gate | 1 byte, 00 absent, 01 present | 2 bytes indicating the distance of the target phase from the radar in the scene | 32 bytes, 16 (total number of distance gates) * 2 bytes, size of energy value for each distance gate from 0 to 15 | 08 07 06 05 |
Detection Range
The HMMD mmWave Sensor supports both top and wall mounting and is recommended for top mounting.
Top-mount Installation
The recommended top-mounted installation height is 2.7~3.0m. The top-mounted HMMD mmWave Sensor radar module, in the default configuration, has a maximum motion detection range within a conical three-dimensional space with a bottom radius of 5m.
Wall-mount Installation
Recommended wall-mounted installation height is 1.5~2.0m. The J2Pin pins are recommended to be positioned at the top. The HMMD mmWave Sensor radar module, in the default configuration, has a maximum motion detection range within a three-dimensional fan-shaped space with a normal direction of 10m, and horizontal and pitch angles of ±45°.
Detection Range Test
Testing methods for radar triggering and maintaining detection range are described as follows:
- Triggering Range:
Move the target human body from a distance towards the radar, ensuring that the radar is reporting a "no presence" state. Stop the forward movement of the target human body when the radar begins reporting "presence."
Record the position where the target human body stops; this position is the boundary of the radar's triggering detection range. Repeat similar tests in various directions to outline the detection boundaries in each direction. The area enclosed by the detection boundary in all directions is the radar trigger detection range;
- Maintaining Range:
With the radar reporting "presence," have the target human body perform slight movements, such as shrugging shoulders or raising hands, at the test position. If the radar continues to report "presence" consistently for 60 seconds, the current position is within the radar's maintaining detection range. Otherwise, the detection position is outside the maintaining detection range.
Dimensions
Working with Raspberry Pi
Hardware Preparation & Connection
- A Raspberry Pi 4B/5
- A HMMD mmWave Sensor
Connect the Raspberry Pi and the module as follows:
HMMD mmWave Sensor | Raspberry Pi |
---|---|
3V3 | 3.3V |
GND | GND |
TX | RXD |
RX | TXD |
UART Debugging
Since the Raspberry Pi serial port is used for terminal debugging by default, if you need to use the serial port, you need to modify the Raspberry Pi settings.
- Execute the following command to enter the Raspberry Pi configuration:
sudo raspi-config
- Select Interfacing Options -> Serial -> no -> yes, and turn off the serial port debugging function:
Sample Demo
Open the Raspberry Pi and run:
mkdir HMMD_mmWave_Sensor&&cd HMMD_mmWave_Sensor python -m venv env source env/bin/activate pip install pyserial wget https://files.waveshare.com/wiki/HMMD-mmWave-Sensor/HMMD_mmWave_Sensor.zip unzip HMMD_mmWave_Sensor.zip cd raspberry && python Raspberry_demo.py
Working with Jetson Nano
Hardware Preparation & Connection
- A Jetson Nano
- A HMMD mmWave Sensor
Connect the above hardware as shown below:
HMMD mmWave Sensor | JetsonNano |
---|---|
3V3 | 3.3V |
GND | GND |
TX | RXD |
RX | TXD |
Sample Demo
Open the Jetson Nano:
mkdir HMMD_mmWave_Sensor&&cd HMMD_mmWave_Sensor python -m venv env source env/bin/activate pip install pyserial wget https://files.waveshare.com/wiki/HMMD-mmWave-Sensor/HMMD_mmWave_Sensor.zip unzip HMMD_mmWave_Sensor.zip cd Jetson_nano && python Jetson_Nano_demo.py
Working with Arduino/ESP32
Hardware Preparation & Connection
- An Arduino/ESP32
- A HMMD mmWave Sensor
Connect the module and ESP32 as shown below:
HMMD mmWave Sensor | ESP32 |
---|---|
3V3 | 3.3V |
GND | GND |
TX | GPIO5 |
RX | GPIO4 |
Open Arduino_ESP32demo and use Arduino IDE to program the code:
Working with Pico/RP2040
Hardware Preparation & Connection
- A Raspberry Pi Pico or RP2040-Zero
- A HMMD mmWave Sensor
Connect the module and Raspberry Pi Pico or RP2040-Zero as shown below:
HMMD mmWave Sensor | RP2040 Zero |
---|---|
3V3 | 3.3V |
GND | GND |
TX | GPIO5 |
RX | GPIO4 |
Sample Demo
Download sample demo, use the Thonny tool to open the RP2040_Zero demo code, and run the demo:
Resource
Demo
Software
FAQ
The millimeter-wave radar's maximum radial detection range for targets is 10m. Within this detection range, the millimeter-wave radar reports the straight-line distance of the target to the radar. The millimeter-wave radar can only provide distance information output for moving human bodies within 10m. The theoretical accuracy of radar ranging is 0.35m. Due to variations in the size, posture, Radar Cross Section (RCS), and other factors of human body targets, the ranging accuracy may fluctuate. Additionally, there may be some fluctuations in the maximum detection distance.
{{{5}}}
A distance gate refers to the range or area that a millimeter-wave radar system uses to determine the distance to a target. The millimeter-wave radar sends radio waves and receives signals reflected from the target, using the time delay of these signals to determine the target's distance. The "distance gate" is essentially a time window, and signals received by the radar system within this window are considered valid signals from the target. Radar systems typically set a specific distance gate to exclude signals from targets that are far from the radar or sources of interference. This helps improve the performance of the radar system and reduces false positives from non-target signals.
{{{5}}}
It can detect living beings that are moving relative to each other.
{{{5}}}
The data refresh period is 100ms and the sampling rate is 10kbps.
{{{5}}}
Support
Technical Support
If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)