The Compass on my Samsung Galaxy S3 was always pointing around 90 degrees left of wherever I was facing. I found this solution works, with no need to install third party apps.
[HOW TO] Compass Calibration - xda-developers
From the link:
1) Dial *#0*# to get to the Test Menu Page
2) Press...