Ghost Compass Appearing with Here3


I have Cube orange with Here3 mounted externally
I have configured it according to the Docs provided on cubepilot website. I’ve changed below mentioned parameters to setup GPS


Everything works fine a couple of times and randomly another compass appears out of nowhere. Because of this, autopilot requires compass calibration because it has detected a new ghost compass.

But then the other day one more ghost appeared

And every time this happens, I’ve to hit the “remove missing” button, restart a couple of times and recalibrate the compass for it to work.

Am I missing any crucial parameter for setting up GPS and compass properly?


Have you got BRD_BOOT_DELAY 5000 ?
That might help with reliable, consistent detection of CAN devices.

Thank you for the reply @xfacta

No, i’ve not set this parameter.
Will try this and report back


Here we go again :confused:

But in parameters i can only see 2 compasses

Tired of this. Someone please help

Edit 1 : This time the third ghost compass showed up in parameters as well but those parameters are read only and cannot be edited.

Press the green button Remove Missing. Your previous address UAVCAN ID was 125 now 124.

Did you still see this after boot waiting some 20-30 seconds and after that refresh params?

Thank you @Evgen

Yes I’ve tried the green “Remove Missing” button, and yes it does work when UAVCAN ID 125 has missing checkbox ticked. And it does work for a couple of reboots but then the whole story repeats again.

@Mustafa_Gokce Yes, for every reboot i power off my copter and close mission planner just to be sure.
Then power ON copter, wait for innitialising tone and then connect to com port.

I’ve changed the DroneCAN address to 100 in SLCan Mode. This problem seems to be gone for now but i’ll report back if the problem appears again.

Edit : Its here :confused:

And this time the missing checkbox is ticked for actual compass.

Please help

Did you ever find a solution for this?

I’ve had the same problem with the cube orange and here3 since my first build earlier this year. I went out today for an Autotune run, only to have this issue and needed to keep resetting and calibrating so much that by the time I was ready for Autotune, the wind had picked up…

Yes, the problem got fixed but i dont know the exact reason or the exact solution
But I changed the ID with UAVCAN interface
and flashed rover firmware then again copter firmware to start things from fresh and then also reset the parameters in parameter list

Okay, thanks for the tip. I got the ID changed, without the firmware or parameter changes, and it seems to work through some testing.

Using the DroneCan GUI, I found that uavcan.node_id was set for a default value of 0. From what I’ve read, this means it uses UAVCan’s Dynamic Node ID Allocation. By setting it to 100, it should always be assigned that ID from now on, even if there is a conflict (which seemed to be the issue…)

So this behavior is similar to a Static IP address versus an IP address given through DHCP. If the system still sees the wanted ID, it will assign it something new.

I get more MAC address feels rather than IP address feels
Anyways its a little subjective imo

Happy it worked out for you