Alrighty, some info.
I have a DJI F550 hexacopter frame, I use mostly stock DJI motors and electronics, a bunch of LEDs and so on. A fairly common, cheap setup. It flies quite well in stable mode, loiter seems to work alright at the moment. However, anything that relies on the compass is completely out of control. RTL will sometimes come back and stop within 1-2 m of the take-off area, sometimes it'll scoot off in the wrong direction which forces me to intervene. Simple mode works for a couple of seconds, once in the air the controls are offset by about 90° which makes that feature unreliable at best.
My first build was fairly straightforward and looked very neat, I kept things neat and tidy. But the interference was impossible to get rid of.
My second build, I have twisted ALL ESCs wires. All servo leads going to and from the flight controller, I have put clip-on ferrite rings on wires going to the flight controller and on some other wires too.
But the hexa behaves the same.
The F550 has a built-in power distribution board, the FC is sitting on the bottom plate, the power distribution is right below it. Could this be the culprit? Do I have to put the FC on the top plate, leaving it exposed, or are there other solutions to this problem?