I posted an update to the ArduIMU. If someone else is working on this, please feel free to email me firstname.lastname@example.org.
Fixes in this post:
1) NMEA protocol now works (typos in update function and missing PMTK in init function)
2) Magnetometer works (typo in setup where it said MAGNETOMETER == 1 where it should have said USE_MAGNETOMETER == 1, AP_Compass must be changed to APM_Compass, Buffer mapping differs from AP2.7 and older code in AP_Compass.cpp)
3) Added blinking lights function to GPS parsing routine (blinks when there is no lock but valid message from GPS unit)
4) Added #define GPS_CONNECTION 0 // 0 for GPS pins, 1 for programming pins (this allows the user to select where the GPS is connected)
Please note that this isn't considered an "official" release and it may well get deleted... I didn't check with anyone before making these changes and posting this :)
Known issues with this version:
1) When selecting BINARY output, GPS light will not blink (#3 above). Simple fix: Add if (GPS.fix >= 1) to a new line 129 of output.pde
2) Removing/disconnecting GPS will not disable GPS lock light.