I am using an Arduino Uno to interface with a CMPS11 Tilt Compensated Magnetic Compass. With the UNO it seems to work fine. This is using Serial Port Communication.
However, when I swap over to an Arduino Mega 2560 with exact pin to pin connections, and same program and nothing happens. Oscilloscope traces show compass output activity with the UNO, but nothing with the Mega.
Are you using it in I2C mode?
If so, are you connecting it to the right pins? If you use the SCL/SDA pins near the USB connector, that will work regardless - but if you use the A4/A5 pins, that will not work on the Mega, because the I2C functionality is on different pins (both boards, at least in their recent incarnations, route the I2C pins to those two pins for compatibility, so on the Uno, those are connected to A4/A5, on the Mega, to digital pins 20 and 21)