I am sure that some of you have experienced the same issue that we have. We are flying a rather heavy hexacopter configuration which pulls a substantial amount of current just to hover. Due to the proximity of the power distribution board and the magnetometer, the magnetic fields generated by the DC current being drawn from the batteries can potentially screw with your heading data. The more current you draw from the batteries, the more interference you encounter. This can cause some nasty issues and in certain flight modes has even caused one of our vehicles to crash. Luckily, the folks I work with are pretty fluent with EM fields and had a simple and reasonably cheap solution that we wanted to share with the community.
There is a material called Mu-metal, which is a nickel alloy, that has an incredibly high magnetic permeability. If positioned correctly, it can isolate standing magnetic fields and greatly increase your magnetometers sensitivity to magnetic field interference. Unfortunately, it also poses the potential threat of blocking Earth's magnetic field if not positioned correctly on the vehicle. With this in mind, it must be used as conservatively as possible. We have installed a sheet of the metal (about the same thickness as shim stock) on our vehicle and flown it without encountering any more issues to date. We will update the community as we progress.
With that being said, here is the data we produced in the lab. First we simply kept the vehicle in the same position (roughly) and ramped up the throttle to 25, 50, 75, and 100 percent. While doing this, we could see the magnetometer data react and at one point we even saturated the sensor. We repeated this process again with the Mu-metal sheet installed. Here are the data sets...
As you can see, a tiny 2 x 3 inch piece of metal had some pretty drastic results but I will only feel at ease about it once we fly it for several hours. For the cost, I would argue that it is a great use of $20 or so considering how much heartache it could save in the end.