"need 3d Fix" issue - SOLVED!

I need a little info. After moving the FC from one frame to another (identical) and after a reset, the FC Cube Black always gives me the same error: “need 3D fix” even if the acquired satellites are 17
The system is a Cube Black with Herelink and GPS Here2 (connected in Can). I have disabled compasses 1 and 2 (internal) and I have active only 3 (external) and HDOP 0,7 (limit fix at 2,5)
I left the system in the middle of a field for 1 hour to give time to enumerate the constellations and calibrated the compass 3 several times but the problem remains

another small detail … if I enable compass 1 (internal) and 3 (external) the problem disappears but the UAV works very badly … hovering with “toilet” effect and deviation of course in a straight way … etc ( probably suffers from some EM field due to the DB that is in the area and it is for this reason that I want to use only the external one)

For all of the above, do you have any advice on how to solve the “need 3D fix” problem?

Reset to default values in full parameter list.
Redo calibrations
Go out in the open and do the compass calibration
It will solve this issue

Thanks Delta1 for the reply

I did a lot of tests and I didn’t understand if it was due to my inexperience or because it is a very popular topic, quite frequent but the solutions are among the most varied.

I bring my experience here


I don’t know if the architecture of the algorithms are exactly as I am describing them (they are guesses) but this is the solution I found and it works on my system which is made up as follows:

-CUBE Black 2.1 with Herelink and Here V2 and use of external compass
-Mission Planner Ver. 1.3.74 and ArduCopter V4.0.6

My problem was to always have the message “need GPS Fix” while acquiring 16/17 satellites

The problem was related to the fact that I had disabled Compass 1 and 2 and the flag was on Compass 3 … also using Here 2 in CanBus I had compass 3 which was third in the list at the top of the “Compass” page (so. … internal (1), internal (2), EXTERNAL (3))

It was enough to do 2 things:

  1. Compass 3 switch from position 3 to position 1
  2. close MissionPlanner
  3. open QGC and click: Sensor -> Sensor setting and select on "Compass 1 (external) -> Use Compass 1 [priority1]


The system now recognizes the GPS and uses it correctly

In practice it is not enough to leave the external compass as “Compass 3 (external)” in the check boxes at the center of the page, but it is necessary to move it to Compass 1 position and assign Priority 1 with the procedure described above

I don’t know if this procedure is the most correct but it is the one that allowed me to get out of the problem

Thank you all

Great to know that buddy
Happy landings :blush::+1:

Also check you’ve got BRD BOOT DELAY set to something like 5000 when using CAN devices.
Also update to latest stable release if not already.