where to find ? Would like to have a look. Calibration is an old topic - in my opinion from a practical standpoint possibly overstated but still important.
Source and exe can be found here: https://github.com/mjs513/FreeIMU-Up...er/FreeIMU_GUI. I also have a wiki page about it here: https://github.com/mjs513/FreeIMU-Up...MU-Calibration, a little outdated but close. With the new IMU I found that accel needs very little calibration but the magnetometer and gyro still need good calibration. You can see that by the screen shots I provided in an earlier post. With early IMUs, accel was still quite a bit offset as well as the scale - was a lot more oblong.

Is Brian working with offsets for acc in the 9250 ?
From what I can see, the answer is yes. a?b's and h?b's are the offset values. You can see that in the readSensor function in the cpp file as well as the calibrateAccel function. A little different than the way I do it but it still works.

In my (practically oriented) view its sufficient to make three measurements for acc and get the offsets stored in EEPROM. On power up I fed them in the 9250 offset register and that was it - if I remember well regardless of the scale (not sure, a year since I worked on that)
For accel that is quick and dirty at least for the MPU-9250 but more is better. I always found a good calibration resolved a lot issues with drifting in Madgwick and Mahoney.

Ooops - looking closer to yaw and mag - rapid changes in orientation lead to inconsistent results. Gave it a try with Filter.setHeadingCovariance(0.001f); without a good result.
Next I will have a closer look at calibration and put Madwick run parallel for comparison.
With the settings I posted earlier seems to work better but still seeing drifting in yaw. Still working on that. I tried the heading covariance as well but seemed to make it worse.

Going to give to give Madgwick/Mahoney a shot later. My desktop died and I have it all apart .