     static my_helpers::Circular<az_t , READINGS_AMOUNT_AVR> az(0);
     static my_helpers::Circular<az_t , READINGS_AMOUNT_AVR> el(0);
 
+    static my_helpers::Circular<az_t , 30> az_drift(0);
+
     const static float lightSens = radians(LCD_BACK_LIGHT_SENS_DEGREE);
     // if programming failed, don't try to do anything
     if (!dmpReady) return;
 
-    while (sensorDataReady)
+    if (sensorDataReady)
         readSensor(az, el);
 
 

        }
        else
        {
#ifdef USE_LCD
            if (lig > 7000 && aw_once)
            {
                analogWrite(backLightPin, 10);
                aw_once = false;
            }


            if (counter % 2 == 0)
            {
#endif

                {
                    if (msg.message.Command == 'C') //clear errors
                    {
                        counter = 0;
                        az.setError(0);
                        el.setError(0);

