 // ----------
 
 // TODO: check if only one would be enough
-const int SpeedMappingSize = 256;
+const int SpeedMappingSize = 101;
 uint8_t SpeedMapping_Motor1[SpeedMappingSize];
 uint8_t SpeedMapping_Motor2[SpeedMappingSize];
 uint8_t SpeedMapping_Motor3[SpeedMappingSize];

}



void loop()
{
    UpdateRPM();

    Calibration();
}


    if (initState == 2 && initTimestamp + delta <= time && initSpeed > 0)
    {
       int smz = SpeedMappingSize-1;
       if(motor1_RPMCount != 0 && motor1_MaxRPM != 0 && SpeedMapping_Motor1[smz * motor1_RPMCount / motor1_MaxRPM] == 0)
       {
             SpeedMapping_Motor1[smz * motor1_RPMCount / motor1_MaxRPM] = initSpeed;
       }

       if(motor2_RPMCount != 0 && motor2_MaxRPM != 0 && SpeedMapping_Motor2[smz * motor2_RPMCount / motor2_MaxRPM] == 0)
       {
             SpeedMapping_Motor2[smz * motor2_RPMCount / motor2_MaxRPM] = initSpeed;
       }

       if(motor3_RPMCount != 0 && motor3_MaxRPM != 0 && SpeedMapping_Motor3[smz * motor3_RPMCount / motor3_MaxRPM] == 0)
       {
             SpeedMapping_Motor3[smz * motor3_RPMCount / motor3_MaxRPM] = initSpeed;
       }


        // 13:  255 - 245 - 235 - 225 - 215 - 205 - 195 - 185 - 175 - 165 - 155 - 145 - 135
        if (initSpeed > 140)
        {
            initSpeed -= 10;
        }

        // 10:  130 - 125 - 120 - 115 - 110 - 105 - 100 - 95 - 90 - 85
        else if (initSpeed > 85)
        {
            initSpeed -= 5;
        }

        // 86:  85 - 0
        else
        {
            initSpeed -= 1;
