On two of five tested Cubes with their respective carrier boards, Here3 stops working after the initial blue blinking series.
All tested with current, default parameters + 1Mbit, CAN, Plane/Copter
reducing CAN speed to 100k does not affect the issue.
NOT OK : (blinking blue, then LED’s go off, no CAN devices - if replugged, works fine)
/dev/serial/by-id/usb-Hex_ProfiCNC_CubeBlack_240028000C51363130363134-if00
/dev/serial/by-id/usb-Hex_ProfiCNC_CubeBlack_2C0043000551363037363632-if00
OK (just works)
/dev/serial/by-id/usb-Hex_ProfiCNC_CubeBlack_3D0046000851353430373938-if00
/dev/serial/by-id/usb-Hex_ProfiCNC_CubeBlack_35002B000D51363130363134-if00
/dev/serial/by-id/usb-Hex_ProfiCNC_CubeBlack_230026000D51363130363134-if00
The issue is not affected by using USB power(good cable) or a power module.
Odd things that make it work on “NOT OK” cubes:
1: BRD_BOOT_DELAY 700ms - 500 is too little, at 700ms it works just fine.
2: reconnecting the Here3 CAN cable after boot.
3: I added a CAN analyzer interface to troubleshoot (no extra termination enabled) - just the presence of the CAN<>USB device makes it boot fine every time.
4: Powering the Here3 from a separate +5v
Right now you say “so this is brownout related”
So did I think too, checked voltage drop using oscilloscope but failed to find a real reason for the internal 3v3 components to brownout.
So I rigged a lab PSU to cause brownouts (to the Here3 only), I thought I could reveal poor or missing BOR design, but guess what - regardless of the type of brownout I caused, Here3 always recovered fully, and then got detected by the Cube/ardupilot.
So it remains a mystery why it fails to initialize properly on some boards, and that there are som many ways to work-around the issue.