I’m currently working on a Hexsoon EDU450 equipped with an Orange Cube Plus flight controller, a Here 4 GNSS module (mounted on a stand for elevation), and a Herelink system for telemetry. To minimize interference, I’ve kept all wiring clear of the Here 4.
During a recent test flight in Stabilize mode on a concrete pad, the copter began to drift shortly after takeoff. To avoid a crash, I moved the drone to a nearby grassy field and attempted another takeoff, but it continued to drift. Reviewing the flight logs, I noticed a compass error:
Test: Compass = FAIL - FAIL: Large compass offset in MAG data (X:-277.00, Y:-391.00, Z:-283.00)
Large change in mag_field (72.89%)
Max mag field length (785.34) > recommended (550.00)
Before these flights, I had set up a gyro test rig (constructed from aluminum) to test and tune my PID parameters. I also performed a CompassMot calibration to account for interference, but I’m still getting “MAG error” messages when the drone is at takeoff or mid-throttle. During flight, I frequently hear warnings about EKF changes from both the RC and Mission Planner.
I’ve configured the Herelink compass as the primary compass. Prior to the flight, I performed a level calibration, compass calibration, and accelerometer calibration while on the concrete ground. After reading various forum posts, I realize it may be advisable to calibrate the compass at the actual flight location. Therefore, I plan to do another calibration with strict settings on the grassy field.
I would appreciate it if someone could take a look at my log files to confirm that I haven’t missed anything. Please let me know if there are other steps I can take to address the compass errors and reduce drifting.
You need to calibrate your compass only once, but you need to do it correctly.
It needs to be done with a GPS fix signal and away from GPS and magnetic interferences.
After that you should perform a MagFit flight once to fine tune it.
That’s it. On every new location as soon as you get a GPS fix it will automatically get a correct magnetic heading.
Regarding the .bin file log, I did not look at it. But if you did not use Ardupilot Methodic Configurator → Quick start guide I can statistically safely assume that the configuration is incomplete and/or incorrect.
Be aware that Stabilise mode wont hold the copter in place at all - it’s up to you to control position and altitude. It’s important to practice in Stabilise mode, because this is the one you need if everything goes bad. AltHold is the next best flight mode, performance and attitude control is like Stabilise, but altitude is controlled. Loiter is next - position and altitude is controlled. Performance is also controlled and can be tuned separately to suit a payload or the type of operations you perform.
These are the three key flight modes for normal use.
I’ve just finished using the Methodic Configurator. Thank you for providing such a helpful tool. It would be great if it were integrated directly into Mission Planner, allowing users to configure their drones page by page in a streamlined, industrial-style commissioning process.
I plan to run the configurator again, this time with settings specifically tailored to my drone, rather than relying on the example values. In particular, I’ll be focusing on motor thrust scaling and notch filter calibration. Although IMU temperature calibration is listed as optional, do you think it’s worth performing as well?