¿Por qué los ángulos de Euler de Pololu AltIMU V5 se desplazan tanto?

Necesito agregar algo más a esa pregunta.

Estoy trabajando en un pequeño firmware de quadcopter. Decidí usar AltIMU v5 de Pololu.
Consistía en giroscopio, acelerómetro y magnetómetro, todos fusionados deberían darme ángulos de inclinación, balanceo y guiñada agradables y constantes que luego se usaban en la computadora para corregir los ángulos necesarios para otros motores.

Me refiero a la serie de videos Brooking Net YMFC, en la que se describe fácilmente la construcción de un quadcopter.

Sin embargo, no puedo obtener ángulos razonables de mi sensor.

Estoy usando arduino mega 2560 con ese código:
#include largo G [3], A [3], C [6]; unsigned long loop_timer; // bool – Pastebin.com

Después de arrancar, los ángulos son bastante oscuros, pero después de un corto período de tiempo tienden a desviarse mucho, y por mucho quiero decir que el error estimado es de + – 80 grados.

Estaba leyendo sobre EKF y otras fórmulas discretas de estimación matemática, pero quería comenzar de manera simple y no sé si el problema está en mis matemáticas o en la forma en que configuré el sensor.