Webbotlib, the next stepping stone after Arduino
For those of you not familiar with Webbotlib, it is a new library for AVR microntrollers with a new approach to programming. It contains a vast repository of 'drivers' for various pieces of hardware. Think of it this way, when you install a new sound card into your computer, you don't have to program the low level interface to the hardware, that is taken care of through drivers. Instead, you just tell windows to make a sound, and it uses the hardware drivers to make a sound.
This is how Webbotlib works. After setting up the 'drivers', all your hardware is very easy to access. To read your I2C compass, you call compassRead(). If you end up changing out what compass you use, you don't have to change your code! Just change the driver running the compass.
The tutorial below is for a tool called Project Designer that is an easy to use GUI tool that will let you pick out what hardware you want to use, setup all the drivers for you, and get you up and running in WinAVR within minutes. It even genertates example code to show you how to use your hardware.