Agreed. I'll add back the code which divides the RevoCalibration.mag_var by norm(Home.Be)^2, then we'll probably want the noise at ~50 mGau^2.
I sorta liked the normalized version. Then I could just think in percentages

. But then again, the units are useful for checking sanity. I checked D-Lites plot to make sure his mags were sensible. Although 400 mGau seemed a little low for vertical component in Germany (450 maybe) the horizontal was also a little low. I have found in some indoor locations they can be really incorrect and vary in different parts of a room. Lots of structural steel maybe - I'm not an electromag person.
However the units on the inertial sensors, gyros and accels, are important since that ties them into the filter correctly.
Nope, I reverted back to the 6pt calibration. For accels, we now only do a level calibration instead of 6pt as the scale is really reliable.
I'd know that if I would get a system flying again. I had a student get CopterControl flying on my old quad yesterday. But he did it on his own. And I just test flew for him and handed him the sticks. I did say it seemed a little weird. Then when we got back to the lab he said, which mode should I have the stabilization in? I think he had roll in attitude mode, pitch in the "axis lock", and yaw in rate. I don't know what the axis lock does

.
However, after playing around I think for the mag we might want to simply spin it around, collect a bunch of points in 3D, and sphere it. Online adjustment will probably be required to take it the rest of the way there.
Okay, down to business... I like this and it is what I was hoping that 24 pt cal, or whatever it was, would end up being. What's the plan? Could just apply Levenberg (or similar) optimization on the points to minimize Sum{(norm(point)-norm(Home.Be))^2} where each point has a scale and offset for each axis. That would vary nine (edit:six) parameters in the minimization and will converge quickly on the GCS (I guarantee it). That would only require inversion of a nine by nine (edit: six by six) matrix (symmetric and positive definite) at each iteration -- and all the scaling would be pretty uniform keeping condition numbers nice. The trick is to make sure we have a fairly even distribution of points over the six "sides" of the sphere/cube and maybe applying RANSAC or something to throw out outliers if we want good accuracy. I could write the optimization code if needed. Easy-Peasy for a numerical person, which I am not actually. However it needs a good visualization of the sphere on the GCS for sanity checks (not for me - I'm not doing).