I used the ArduIMU v1.7 code, and the ArduPilot 2.6.2 code (it was freshest at the time).
#define BOARD_VERSION 2 // 1 For V1 and 2 for V2
#define GPS_PROTOCOL 2 // 1 - NMEA, 2 - EM406, 3 - Ublox We have only tested with Ublox
//yes i set the EM406 here
#define PRINT_GPS 1 //Will print GPS data
#define PRINT_BINARY 1 //Will print binary message and suppress ASCII messages (above)
in void setup..
#if GPS_PROTOCOL == 3
#define SHIELD_VERSION 1 // Old (red) shield versions is 0, the new (blue) shield version is 1, -1 = no shield
#define AIRSPEED_SENSOR 1 // (boolean) Do you have an airspeed sensor attached? 1= yes, 0 = no.
#define GPS_PROTOCOL 3 // 0 = NMEA, 1=SIRF, 2=uBlox, 3 = ArduIMU, 4 = MediaTek, 5 = Simulated GPS mode (Debug), -1 = no GPS
//yes i set to 3 for the IMU here (you would think they would have made them common, oh well)
//0-4 Ground Control Station:
#define GCS_PROTOCOL 0 // 0 = Standard ArduPilot (LabVIEW/HappyKillmore), 1 = special test, 2 = Ardupilot Binary(not implemented), 5 = Jason's GCS, -1 = no GCS (no telemtry output)
Simply compiled, and loaded to each board using a sparkfun.com FTDI basic board, then assembled per ArduPilot manual (wiki), using the optional IMU instead of thermopiles link (second pict, with shield one).
Same setup, just replaced the xBlox with a EM406A.
I did use X-CTU to configure my xbees per the blog post Chris had done (along with note gleened from ladyada).
(i will upload these also, rx is computer side, tx is plane/whatever side)
I am also uploading my putty.log
Yeah, silly me, i just set putty to serial with 38400,n,8,1,none and enable logging (heck i run a 50k line scroll back usually <G>).
Disclaimer: I have a plane with only 1 wing, it does not fly, this code untested in flight. If you load and your bird ends up looking like a pug-nosed dog (or worse).. "use at your own risk..".
It is meant to show that even guys with older hardware can still play (especially the EM406 guys).