Using a Megneto-compass!

Hi All,
Well I seem to have settled with the Arduino nicely, but still struggling with C at times.
My bots are working well, but sometimes move a bit too random or not as desired!! So I was thinking of using a electronic compass especially now that it is easy to buy something cheap on eBay? But I know some are quite expensive, and perhaps because they work better?? I am wondering what data these devices return and in what format.

I have also not some are effected by the motors magnetic field! What about a home made PCB with a ground plain!!

If you use one or have done, I would really like you opion and adviceā€¦

Regards

Mel.

any magnetometer will do.
They give a digital reading (linear) in three axes.
Interference from motors isnt a problem if you allow a 10cm+ spacing.