I don't know if this has been suggested yet but why not use the same digital compass that is currently in the Iphone 3GS (and all of the Android phones, I believe)? The unit is Asahi Kasei's AK8973S. From the specs I was able to pull from the internet, the chip-size packaging is 2.5 x 2.5 x 0.5 mm. I don't know if it is technically possible but someone might be able to fit it inside a microSD body (microSD being 15 mm × 11 mm × 1 mm). It might even be possible to make the card do double duty as a digital compass plus memory storage.