I have a standard, pre-soldered Arducopter with sonar mounted as per instructions.
Magnetic declination set correctly.
Using Mission Planner in flight mode, both indoors with GPS lock and outdoors again with GPS lock, the compass shows North and East correctly but South and West off by 45 degrees.
Does anyone have any ideas as to why this may be the case
That does seem odd. I'm assuming your magnetometer has the components down, pins forward?
Is it possible that you have magnetic interference? Either from outside the aircraft, or more likely, from within, say, the ESCs, maybe?
You might try running CLI->test->compass while powering from USB, and rotating the craft; write down some findings, then do the same, but add lipo power for the second try? The intent here is to see if there is a difference when the ESCs are powered up... it is just a shot in the dark.
Yes components down, pins forward.
Just tried the CLI compass test, there is no difference between USB or adding in the lipo.