I must confess to being rusty with Pixhawk (I have been using 8 bit copter).
There are a couple of things that really make things tricky and could maybe be addressed.
If you are using a new external compass that is faulty as I was, you get no indication of the external compass bearing in the same way as you used to with APM 2.6. It would be nice at least have a test mode that you could use on the bench to see this.
If you are using a new ( and expensive one from CSG shop) GPS/Compass that is functioning but has incorrect x and Y arrows and no forward arrow it gets really hard as again you get no accurate bearing of the actual mag heading as EKF disregards it and throws an EKF error.
Is it the case that the compass orientation has changed from Roll 180 to None with PX4 as opposed to APM 2.6 in Mission Planner? The mag is still inverted, is it not?
I feel the entire compass set up can be unduly difficult now (versus 8 bit scenario). I wonder if it would be worth having a test mode where you could see the unfiltered movement of the external compass and test basic functionality.
Also, to what extent is the internal compass used in EKF even though you have disabled it. For example I was having a tough time with the proximity of a buzzer with a magnet near the FC causing bench EKF errors (I think) and I did not realize what was going on for a long time.
I seem to have hit most of the pitfalls here and I am wondering if the process could me made a little easier to debug. I appreciate the benefits of EKF but it can really obscure set-up problems, even for relatively experienced people using non-3DR hardware–which is the reality today. Just to be able to see your primary compass bearings in MP would be a great help – even if it was just a test function.
I now have an APM 2.6 around just for testing compasses. Seems silly to have to do that.
Just my 2 cents.