seeed studio MR24FDB1 Fall Detection Radar User Manual
- June 3, 2024
- seeed studio
Table of Contents
- Overview
- Principle of operation
- Hardware Design Considerations
- Antenna and housing layout requirements
- Static Protection
- Functional disturbances
- Functions in detail
- Protocol Specifications
- Communication commands and parameter definitions
- Appendix 1: CRC check digit reference parsing codes
- Appendix 2: Analysis codes for motor sign parameters
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
MR24FDB1
Fall Detection Radar User Manual
Overview
This manual primarily describes the practical application of the radar system
and the issues that should be addressed at each stage to minimize design
costs, increase product stability, and improve project efficiency.
This manual talks about the hardware circuit reference design, the radar
antenna and shell layout requirements, and the use of a multifunctional
standard UART protocol. The radar is a self-contained space sensing module
comprising an RF antenna, radar chip, and high-speed main frequency processing
unit. The system’s core relies on a stable, flexible, and superior algorithm
architecture to meet the user’s diverse scene detection requirements. It can
operate with a local computer or host computer to output detection statuses
and data. In addition, it has several groups of GPIOs for user customization
and development.
Principle of operation
The radar transmits a 24G band millimeter-wave signal, the measured target
reflection electromagnetic wave signal, demodulates the transmitted signal,
and then obtains echo demodulation signal data through amplification,
filtering, ADC, and other processes. The echo signal’s amplitude, frequency,
and phase are decoded in the MCU unit, which ultimately enables the
measurement of the target parameters (breathing, motion, tiny motions, etc.).
Hardware Design Considerations
The standard voltage power supply and input current of the radar under normal circumstances should be 4.9–6V and 200 mA, respectively. Power supply design, power ripple ≤ 100mV.
2.1. The power supply can be designed with the following circuit in mind
2.2. using the wiring diagram
Fig. 3 Schematic diagram of the radar module and peripheral connections
Antenna and housing layout requirements
PCBA: Mount the radar ≥1mm higher than the other devices.
Case: Keep 2-5mm between the radar antenna and other shell surfaces. Case
detection surface: To avoid coverage area performance, keep the non-metallic
case flat and straight to avoid bending.
Static Protection
Radar modules contain electrostatic-sensitive circuits, so they risk
electrostatic shocks.
Thus, it is essential to maintain proper electrostatic protection throughout
the process of transportation, storage, work, and handling. Avoid touching the
radar module’s antenna surface and connector pins, but hold the corners. We
recommend that you wear antistatic gloves during the operation of the radar
sensor.
Functional disturbances
5.1 Unoccupied state, abnormal output occupied
When the radar is in its normal state, it will accurately determine the
existence of human sitting or sleeping states and will output fall data,
breathing information, vital signs, etc.
a. Radar scanning covers a large area. You can detect movement around the
doorway and the next door in the wooden wall.
Adjustment method: Reduce radar sensitivity; the radar has scene settings
b. When the radar is facing toward the air conditioner and fan when it is
operating
Adjustment method: Position the radar so it doesn’t directly face the air
conditioner and fan
c. Object shaking caused by air conditioning wind Adjustment method: Cotton
and non-metallic items do not cause false alarms. Metal items should be well-
positioned to avoid interference.
d. If the radar is not fixed, vibration may cause false alarms. To prevent
this from occurring, support the radar in a fixed position to avoid vibrations
and shakes.
e. Occasional moving objects, such as pets, birds, or other animals.
Because of the high sensitivity of the radar’s detection of micromotions, this
interference cannot be eliminated.
f. Power supply interference can interfere with judgment, resulting in
occasional errors.
Maintain a stable current power supply and minimize ripple.
5.2 Manned status, abnormal output unoccupied
Radar can determine whether a human body exists by transmitting and receiving
electromagnetic waves. The closer the body is to the radar, the higher the
accuracy is.
a. The human body is out of radar’s range.
Adjust the installation angle to fit the range of the radar.
Measurement range: the electromagnetic wave reflection area is different in
different environments, and the scanning area may be slightly different.
b. Output error due to metal shielding Thick office desks and chairs and
metallic seats. This will block electromagnetic waves from penetrating and
causing inaccurate judgments.
c. The difference in scanning angle.
When the radar fails to detect the body part (torso area), it can cause
errors.
d. The radar’s sensitivity is too low The radar can be adjusted in order to
improve sensitivity.
Functions in detail
6.1. Function point descriptions
Functions | Status change time/function explanation |
---|---|
DP1: occupied/unoccupied | No one to occupied, report within 0.5s Manned to |
unoccupied, no status output in 1-2 minutes or so
DP2: Some people are stationary / Some people are active| Static dynamic
switching, reporting within 0.5 seconds
DP3: Someone close to the device / someone moving away from the device /
someone moving without direction| Status output once every 2 seconds
DP4: Body movement amplitude parameter 0 – 100| Data output once every 5
seconds Reference (description of output of body motion amplitude parameters)
DP5: Sensitivity setting 1 – 10 steps| Default scene mode, adapted to 10
Functions| Status change time/function explanation
---|---
| positions of adjustment
DP7:Scene modes (bed, bathroom, hotel, bedroom, office, default mode)| Adapted
to different scenarios according to the size of the area
DP8:No false alarm confirmation prompt|
DP9:Fall switch| Off by default, fall function only works when on
DP10:Fallen state| Two level judgement “suspected fall”, “fall alarm”
Suspected fall – target fall detected Output status Fall alarm – alarm
reported after time T is stationary
DP11:fall alarm reporting time T| Default 3 minutes, divided into 1-30 minute
setting steps
DP12:Stationary dwell alarms| Reported in four time grades
6.2. Description of the output of the body motion amplitude parameter
Body movement amplitude parameters
0%| None| Environmental unmanned
1%| Stationary (sleep)| Only breathing without body movement
2% – 30%| Micro-Movements| Only minor head or limb movements Movement
31% – 60%| Walking/fast body movements| Slower body movements
61% – 100%| Running/close range big moves| Rapid body movement
Protocol Specifications
This protocol is used for communications between a millimeter-wave sleep
detection radar and a host computer. The protocol outlines the radar’s
workflow, describes the
interface protocol’s composition architecture, and provides the commands and
data necessary for the relevant radar function. The serial port is defined as
the following:
Interface level: TTL
Baud rate: 9600bps
Stop bits: 1
Data bits: 8
Parity: None
Communication commands and parameter definitions
8.1 Definition and description of the frame structure
A. Frame structure definition
Starting Code| Length of data| Function codes|
Address code 1| Address code 2| Data| Check Code
---|---|---|---|---|---|---
0X55| Lenth_L| Lenth_H| Command| Address_1| Address_2| Data| Crc16_L| Crc16_H
1 Byte| 1 Byte| 1 Byte| 1 Byte| 1 Byte| 1 Byte| n Byte| 1 Byte| 1 Byte
B. Description of the frame structure
a. Start code: 1 Byte, fixed to 0X55.
b. Data length: 2 Byte, low byte before, high byte after. Length = Data Length
- Function Code + Address Code 1 + Address Code 2 + Data + Checksum.
c. Function code: 1 Byte
Read command: 0X01
Write command: 0X02
Passive report command: 0X03
Active report command: 0X04
d. Address code:
The address code 1 indicates the function classification.
The address code 2 indicates the specific function.
Refer to the address assignment and data information description.
e. Data: n Byte
f. Checksum: 2 Byte, low byte before, high byte after.
CRC16 checksum is used. Refer to Appendix 1 for reference codes
8.2. Description of address assignment and data information
24G BIO-aware radar Interface content
| Function
Code| Address code 1| Address code 2| Data| Notes
1| Read
command
Ox01| Marking search
Ox01| Device ID Ox01| |
2| Software version
Ox02| |
3| Hardware version
0x03| |
4| Protocol version
0x04| |
5| Radar
Information
Search 0x03| Environmental
status 0x05| |
6| Signs parameters
0x06| |
7| System
parameter search
0x04| Threshold gear
OxOC| |
8| Scene setting
Ox10| |
9| Other information
enquiries 0X05| Fall function
switch OXOB| | Enquiry Current
fall function switch
| Function
Code| Address code 1| Address code 2| Data| Notes
---|---|---|---|---|---
| | | | | status
10| Fall alarm time
query OXOC| | Enquiry Current
fall alarm time
Fall sensitivity
query OXOE| | Enquiry Current
fall sensitivity
24G Bio-aware radar interface content
| Function
Code| Address
code 1| Address
code 2
Threshold
gear OxOC| Data| Notes
1| | System
parameters
0x04| Enumeration
range1-10| Corresponding to
1 2 3 4 5 6 7 8 9
10 gears (default 7)
The higher the
gear, the more
sensitive it is
2| Scene
setting Ox10| Default mode
Ox00|
3| Area detection
(top loading)
Ox01|
4| Bathroom (top
mounted) 0x02|
5| Bedroom (top
loading) 0x03|
| Function
Code| Address
code 1| Address
code 2| Data| Notes
---|---|---|---|---|---
6| copy order
0x02| | | Living room
(top mounted)
0x04|
7| Office (top
loading) Ox05|
8| Hotel (top
loading) 0x06|
9| | Reboot
0x04| |
10| Fall
function
switch OxOB| Off Ox00|
| On Ox01
| Fall alarm
time OXOC| 1min OX00|
| 2min OX01
| 3min 0X02
| 4min 0X03
| 5min 0X04
| 6min 0X05
| 7min 0X06
| 10min 0X07
| 15min 0X08
| 30min 0X09
| Fall
sensitivity
setting| 1st OX011s gear| Default fall
sensitivity is 4.
The lower the gear,
| 0X02 2nd gear
| 0X03 3rd gear
| | Other
functions
Ox05| OXOE| 0X04 4th gear| the less sensitive it is.
The higher the
gear, the more
sensitive it is.
---|---|---|---|---|---
| OX05 5th gear
| 0X06 6th gear
| 0X07 7th gear
| 0X08 8th gear
| 0X09 9th gear
| OXOa 10th gear
11| Start OTA
upgrade
OXOB| 4byte Integer
data (firmware
package size)
- nbyte
(software
version
number)|
12| Upgrade
package
transfer
0X09| Packet Offset
(4byte) -
Packet
(1024byte)|
13| End of
upgrade
information
OXOA| Fixed
characters
OXOF|
244G Blo—aware radar Interface content| Function
Code| Address
code 1| Address code 2| Data| Notes
1| Passive
reporting
of orders
0x03| Reporting
module
identification
0x01| Device ID 0x01| 12 Byte data|
2| Software version
0x02| 10 Byte data|
3| Hardware
version 0x03| 8 Byte data|
4| Protocol version
0x04| 8 Byte data|
24G Bio-aware radar Interface content| Function
Code| Address
code 1| Address
code 2| Data| Notes
1| Passive
reporting
of orders
0x03| Report
radar
information
0x03| Environme
nt status
0x05| Unoccupied 00 FF FF|
2| Someone is stationary
01 00 FF|
3| Some people exercise
01 01 01|
4| Signs
parameters
0x06| 4 Byte Float data (see
appendix 2)|
24GBlo—aware radar Interface content| Function
Code| Address
code 1| Address
code 2| Data| Notes
1| Passive
reporting
of orders
0x03| Reporting
system
information
0x04| Threshold
gear OxOC| Current gear value
(0x01-0x0a)|
2| Scene
setting
Ox10| Default mode Ox00|
Area detection (top loading)
Ox01|
Bathroom (top mounted) 0x02|
Bedroom (top loading) 0x03|
Living room (top mounted)
0x04|
Office (top loading) 0x05|
Hotel (top loading) 0x06|
24GBlo-aware radar interface content| Function
Code| Address
code 1| Address code 2| Data| Notes
1| Passive
reporting
of orders
0x03| Report
additional
information
OX05| Feedback OTA
Upgrade Start
0X08| Failure OX00|
2| Success OX01
3| Feedback OTA
transmission 0X09| Fixed characters OXOF|
Fall function switch| Off OX00|
24G Blo—aware radar Interface content| Function Code| Address code 1| Address code 2| Data| Notes
| | | OXOB| On 0X01|
4| Fall alarm time
OXOC| 1min OX00|
2min OX01
3min 0X02
4min 0X03
5min 0X04
6min 0X05
7min 0X06
10min 0)(07
15min 0X08
30min 0X09
Response to fall
sensitivity setting
OXOE| OX01 1st gear|
0X02 2nd gear
0X03 3rd gear
0X04 4th gear
0X05 5th gear
0X06 6th gear
0X07 7th gear
0X08 8th gear
0X09 9th gear
OXOa 10th gear|
24G Blo—aware radar Interface content
| Function
Cods| Address cods
1| Address cods
2| Mtn| Notes
---|---|---|---|---|---
| | | | | The OTA
will report
| | Reporting
module| Software| | once when
1| | identification| Version 0)(02| | the upgrade
is
| | 0)(01| | | completed/
repowered
| | | | Unoccupied|
3| | | | |
| | | | 00 FF FF|
| | | | Someone is|
4| | | Environment
status 0x05| stationary
01 00 FF|
| Proactive| | | |
| |
| reporting| | | Some people|
3| of| | | exercise|
| commands| | 10101| 0|
| 0x04| | | |
| | Report radar| Motor signs| |
4| | information| parameters| 4 Byte Float data|
| | 0x03| Ox06| |
| | | | | None|
5| | | | | |
| | | | | Ox01|
| | | | Fixed| Close|
| | | Approaching| | |
6| | | away state| character| to|
| | | 0x07| Ox01| 0x02|
| | | | Ox01| Stay|
7| | | | | away|
| | | | | 0x03|
24GBlo—aware radar Interface content
| Function
Code| Address code
1| Address code
2| Data| No tes
| | Report other
information
Ox05| Heartbeat
Pack Ox01| Unoccupied
00 FF FF|
| Someone is
stationary
01 00 FF|
Some people
exercise
01 01 01|
Abnormal
reset 0x02| OxOF|
24G Blo-aware radar Interface content
| Function
Code| Address
code 1| Address
code 2| Data| Notes
1| Fall radar
data
reporting| Alarm Ox01| Fall alarm
Ox01| Suspected fall Ox00|
Real falls Ox01
No falls 0x02
2| 0x06| | Dwell
alarm
0X02| None 0x00| Alarm time
points:
5min/10min/30
min/ 60min
---|---|---|---|---|---
First time 0X01
Second 0x02
Third 0X03
Fourth 0X04
Description.
- The read-write command is the command that is transmitted from the host computer to the radar.
- The reporting command is when the radar transmits information to the host computer.
- The fall sensitivity is 1 to 10 levels, and the default is 4. The larger the lever, the more sensitive it is.
- Human body sensitivity is 1-10 levels, and the default is 7. The higher the level, the more sensitive it is.
Appendix 1: CRC check digit reference parsing codes
1 | const unsigned char cuc_CRCHi[256]= |
---|---|
2 | { |
3 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, |
4 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, |
5 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, |
6 | 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, |
7 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, |
8 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, |
9 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, |
10 | 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, |
11 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, |
12 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, |
13 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, |
14 | 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, |
15 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, |
16 | 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, |
17 | 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, |
18 | 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, |
19 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, |
20 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, |
21 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, |
22 | 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, |
23 | 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, |
24 | 0x00, 0xC1, 0x81, 0x40 |
25 | }; |
26 | |
27 | const unsigned char cuc_CRCLo[256]= |
28 | { |
29 | 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, |
30 | 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, |
31 | 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, |
32 | 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, |
33 | 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, |
34 | 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, |
35 | 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, |
36 | 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, |
37 | 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, |
38 | 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, |
39 | 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, |
40 | 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, |
41 | 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, |
42 | 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, |
43 | 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, |
44 | 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, |
45 | 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, |
46 | 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, |
47 | 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, |
48 | 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, |
49 | 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, |
50 | 0x41, 0x81, 0x80, 0x40 |
51 | }; |
52 | |
53 | |
54 | 54. static unsigned short int us_CalculateCrc16(unsigned char |
lpuc_Frame, unsigned short int lus_Len)
55| {
56| unsigned char luc_CRCHi = 0xFF;
57| unsigned char luc_CRCLo = 0xFF;
58| int li_Index=0;
59|
60| while(lus_Len–)
61| {
62| li_Index = luc_CRCLo ^ ( lpuc_Frame++);
63| luc_CRCLo = (unsigned char)( luc_CRCHi ^ cuc_CRCHi[li_Index]);
64| luc_CRCHi = cuc_CRCLo[li_Index];
65| }
66| return (unsigned short int )(luc_CRCLo << 8 | luc_CRCHi);
67| }
Appendix 2: Analysis codes for motor sign parameters
1 | typedef union |
---|---|
2 | { |
3 | unsigned char Byte[4]; |
4 | float Float; |
5 | }Float_Byte; |
6 | |
7 | void main() |
8 | { |
9 | Float_Byte fb; |
10 | fb.Byte[0] = 0x9A; |
11 | fb.Byte[1] = 0xFB; |
12 | fb.Byte[2] = 0xE7; |
13 | fb.Byte[3] = 0x3F; |
14 | printf(“%f\ r\ n”,fb.Float); |
15 | } |
Historical version update notes
Revision| Release
Data| Summary
---|---|---
V1.0_0212| 2020/02/12| First draft
V1.1_0319| 2021/03/19| Readjustment
V1.2_0528| 2021/5/28| Plus fall sensitivity adjustment
V1.3_0628| 2021/6/28| Add Human sensitivity explained and fall sensitivity
explained
V1.4_0906| 2021/9/06| Human sensitivity revised from 0-9 to 1-10 Fall
sensitivity revised from 0-9 to 1-10 Fall alarm time
added 10min, 15min, 30min
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>