Arbitrary PWM frequency while using SPI?

Hi Lauren,
I'm afraid I cannot help you much with your compass code... we only need SPI for logging our data - i.e. for communication with an SD-Card. The implementation of the SPI protocol would most probably be the same in your case though, so you might look it up at some of these (numerous!) projects using MMC/SD-Cards.

9 Servos sounds tough if they all need independent PWM signals - but I'm really not the person to judge this. All I know is that the 6 PWM-capable pins are called like this because it is a feature of the ATmega168 itself, so it is at least convenient to use PWM on these. I simply don't know whether it is possible to emulate PWM signals with software on other pins.. most probably not arbitrary many with really high frequencies... but maybe you don't need high frequencies with servos/motors?

Sorry, that's all I can say about this..