If you implement an analogue clock, you can use the instructions below to superimpose a compass dial.
This could be used to 'calibrate' the compass and use the accelerometer remain pointing to North when the phone moves.
Obviously this is not super accurate... "low tech solution to a high tech problem"
(instruction taken from http://www.qwerty.co.za)
In the northern hemisphere place the watch on a level piece of ground, point the hour hand in the direction of the sun. The North-South line is again the line dividing the angle between the hour hand and the 12 o'clock line in half.
In the Southern hemisphere, place the watch on a level piece of ground,
point the figure 12 towards the sun. The North-South line is the line dividing the angle between the hour hand and the 12 o'clock line in half.