Hm doch, es _geht_ besser- auch mit nem billigen Kompass-Modul.
Ich bin da die Tage über ein Arduino-Header-File gestolpert, was mal tatsächlich erstaunlich gut funktioniert (allerdings nur mit der GY271-Platine, mit der GY273 wiederum _nicht).

Kalibrieren muss man auch hier- aber "eigentlich" nur, wenn sich in der Umgebung des Kompasses was am Magnetfeld ändert.
Ich vermute, mit ner anderen Empfindlickeit, geht da noch was.
Trotzdem krieg ich damit schonmal Genauigkeiten <1° hin, die auch reproduzierbar sind.
Bin gerade dran, das in Freddie II einzubauen, dort wird es dann so sein, dass man beim Einschalten auf Wunsch neu kalibrieren kann (was man per Taste bestätigt, worauf sich Freddie dann einige Male im Kreis dreht, um die nötigen Daten zu ermitteln), und diese Daten werden dann ins EEPROM geschrieben.

Es sieht sogar so aus, dass es eventuell möglich ist, nen Hinweis auszugeben "Wir sollten den Kompass mal kalibrieren", wenn das nötig ist. Ich hab nämlich festgestellt, dass bei nicht guter Kalibrierung die Nadel auch im Stand deutlich ausschlägt- man kann das also detektieren.
Da muss ich noch ein bisschen experimentieren, genau wie mit der Empfindlichkeit.

Der Haken: so funktioniert es nur in einer Ebene- ist bei Freddie aber egal, der kann ja nicht mal Männchen machen. Und da der ne reine Teppichratte wird, geht das so schon mal.

Genauere Infos gibt es hier.