How to get firmware version with mmWave Fall Detection Module Pro (MR60FDA1)

I want to find out the firmware version of the sensor when I send the request to the sensor, it gives me some byte, but it seems wrong and I can not translate it to be string. How to solve this problem?

Sent —> 53 59 02 A4 00 01 0F 62 54 43
Receive <— 53 59 83 0E 00 06 00 02 00 00 00 64 A9 54 43

Hi,JF_DING
Hello, happy to help you. When you receive the content of the data circled in red in the diagram, it means that the radar recognises a change in the fall status.The firmware version is also available in the wiki: 毫米波跌落检测模块专业版 |看工作室维基 (seeedstudio.com)

Hi, Seeed_Jostar
Thank you for your answer. If I want to check the current firmware version of the sensor, what do I need to do?

You can query the firmware version number information by sending the command to Radar. The data reported by the radar is then displayed as a string, and you will see an effect similar to the one shown below.0x53 0x59 0x02 0xA4 0x00 0x01 0x0F 0x62 0x54 0x43

G60FD1SYv010104 is the model number reported on the radar, where is the version number.

Yes, but when I use this method to get the firmware version, it gives me the wrong answer. I don’t know what the problem is.
1689927029094

Hi,JF_DING:
I think you are probably doing wrong, The detection signal similar to the following figure is received that the module is working, and the data is fed back to the user for the user to judge the state of the drop instead of querying the version number
image

Hi, Seeed_Jostar:
But I don’t want to know the status of the sensor, I want to know its firmware version. I sent 0x53 0x59 0x02 0xA4 0x00 0x01 0x0F 0x62 0x54 0x43 to the sensor but he told me 0x53 0x59 0x01 0x01 0x00 0x01 0x0F 0xBE 0x54 0x43. How can I solve this problem?

I do not have this product but just want to express what I have noticed:

JF_DING has issued the command to query the firmware version but he received a heartbeat pack report instead:

Hi,JF_DING:
Regarding the calculation of the check digit “sum”. All data frames have a checksum bit to ensure that the data is sent or received accurately. The checksum bit is usually in the penultimate bit of the data frame. It is calculated by adding up all the bits preceding the check bit and taking the lower two bits in hexadecimal. Let’s take the example of a data frame that queries the device ID.

It can be seen that the checksum bit is in the penultimate bit of the entire data frame. Then we start by adding all the previous hexadecimal numbers.

0x53 + 0x59 + 0x02 + 0xA2 + 0x00 + 0x01 + 0x0F = 0x015F

Then we need to take the lower two digits of it, which would be 5F, so the checksum of this data frame is 5F. If we want to look up the ID of the Sensor, then you can define the following array.

const unsigned char DevID_buff[10] = {0x53, 0x59, 0x02, 0xA1, 0x00, 0x01, 0x0F, 0x5F, 0x54, 0x43};

Hi, Seeed_Jostar:
I used the hex calculator and ChatGPT to calculate the checksum “sum” of 0x53 + 0x59 + 0x02 + 0xA2 + 0x00 + 0x01 + 0x0F, and it came up with 0x0160 instead of 0x015F. may I ask how 0x015F is calculated?

hi,JF_DING:
I am very sorry that I did not use the calculator to calculate the hexadecimal number, but used the most traditional way to calculate, maybe I made some mistakes in the middle of the calculation, now I have recalculated, it is indeed 0x0160, I will also modify this error on the wiki :smiling_face_with_tear:

Hi, Seeed_Jostar:
After I sent 53 59 02 A4 00 01 0F 62 54 43 to ask for the firmware version of the sensor, I have observed for some time that all the responses I get from the sensor are 53 59 80 03 00 01 01 31 54 43. According to the manual, 53 59 80 03 00 01 01 31 54 43 is an active report of body movement parameters. Therefore, it seems that the sensor is working and sending me some test data. However, the firmware version I asked for is not being returned, is there any way to make him return information about my firmware version only?

Yes yes, after the program runs MR60FDA1 began to detect, at this time all received is detection data, I guess you must be in the instance of the detection program in the serial monitor, the query version number should not be here, as I said above, should be in the recording firmware Flash

Hi, Seeed_Jostar:
How to access the recording firmware Flash, do I need to download any software or tools?

Meanwhile, when I ask for the device ID, the return frame is 53 59 02 A2 00 06 30 2E 30 2E 31 00 43, i.e. the device ID is 30 2E 30 2E 31 00. I converted it to a string, i.e. 0.0.1. I looked up two pieces of MR60FDA1 and both of them have the same device ID, is it true that all MR60FDA1s are the same when they are shipped out of the factory, and then users can change the device ID by themselves? Is it possible that MR60FDA1 has the same device ID from the factory, and then the user can change the device ID by himself?

Hi ,JF_DING:
I consulted my colleagues. When I input the firmware, I only need to enter the serial debugging assistant to query the firmware version (non-hexadecimal).

Hi, Seeed_Jostar:
I went into the serial debugging assistant to query the firmware version and it gave me a response of 53 59 01 01 01 00 01 0F BE 54 43, and after querying the user manual he was heartbeat packet querying. Why is he still not telling me the firmware version?

Hi,
Send non-hexadecimal received data as follows:
G60FD1SYv010104
Although I don’t think the radar version number matters

Hi, Seeed_Jostar:
It’s true that the firmware version isn’t terribly important, but I would like to know if my firmware update was successful by the firmware version.
Also, I would like to ask if the firmware can be written by myself?

Hi:
You can write your own firmware, but make sure the difficulty is right for you.This part is done by my colleague, mengdu.li@seeed.cc, you can email questions

Hi:
Got it, thank you!