Multiple ESP32C and mmwave lite problems

3 of 4 of my MR24HPC1 devices have died. I was following the Seeed Studio guide to integrate it into Home Assistant (HA) and ESPHome, using the XIAO ESP32C3. They all died shortly after I adjusted some settings in HA. There is a FAQ4 entry that talks about the problem, but indicates it should have been fixed as of Jul 30.

I just started setting up the devices yesterday, so I thought I was fine. However, there is a discrepancy in the guide. In step 5, for the second part of the YAML file there is a “Click here to preview the full code” and a “Download the Code” option. The code is different between those 2 options. That is because there were several commits on Aug 21 in the GitHub repo that the “Download the Code” option links to. There appear to be several regressions to an earlier version of the code. I was using the latest GitHub version when 3 of my devices died. I switched to the code in “Click here to preview the full code” later, but I’m scared to try to adjust settings on my last remaining device. Which is the preferred version?

The next issue is that the devices that died will not take a UART firmware re-flash. They just don’t respond to the steps. I know it works because I successfully re-flashed my working device. However it appears it isn’t actually an upgrade. After re-flashing it, the version still says “G24VD1SYV001006”, which is what I had. I noticed it doesn’t say anywhere what version the UART_MR24HPC1-20230302.bin firmware actually is. From a hex dump it looks like it is actually still G24VD1SYV001006. This is rather confusing. As the page says, version 1006 is the first one to support UART flashing, but the provided firmware is the same version. What is the point? If it is to try to fix broken devices, it isn’t working in this case, as they won’t re-flash. It would be helpful if a firmware version was released that didn’t allow the device to be bricked just because a few settings were changed.

I also tried the Arduino sketch in “exclusion 4” and it doesn’t show any output. It is also fairly clear to see just by connecting the device to a USB-Serial adapter, as it just never sends any radar output, while a working device does. And it doesn’t respond to any commands. The only thing it sends, right after startup is “53 59 80 01 00 01 00 2E 54 43” once, then nothing more. That seems to decode to a human presence report indicating absence.

So is there any way to fix my devices now that they are in this state, short of a JLink?