Is my compass broken?

I've been using my compass fine this summer but now it will stop sending readings if I move it fast or flick it. I thought it may be my program but then I tried getting readings on the basic test to sample it and it said "no LSM303 detected...check your wiring" but all the wires are all connected fine. The compass has been bumped a few times but I don't think hard enough to break it. Any ideas?

Chips do fail, but very rarely. I suppose this is battery operated. Is your battery good? If so, I'd measure the supply voltage at the compass Vcc pin to see if it's getting full voltage.

Also, if you have soldered this together, it sometimes takes a long time for a cold solder joint to completely fail. Look over all your connections with a magnifier in bright light.

Cross posted here: http://forum.arduino.cc/index.php?topic=416869.0

OP, posting the same question in multiple parts of the forum is especially frowned upon here. It wastes time as someone might be writing an answer here that's already on the other thread. You're not going to get a different audience on one board vs another in this forum.