         motor3_RPMCount = 0;
 
         initSpeed = 255;
-
         SetWheelsTo(initSpeed);
+        delay(1000);
+
         initTimestamp = time;
         init = 1;
         return;
     }
 
-    if (initTimestamp + 250 <= time && initSpeed == 255)
-    {
-
-    }
-
-    if (initTimestamp + 250 <= time && initSpeed > 0)
-    {
-        //motor1_Lookup[motor1_RPMCount] = initSpeed;
-        //motor2_Lookup[motor2_RPMCount] = initSpeed;
-        //motor3_Lookup[motor3_RPMCount] = initSpeed;
-
-
+    int delta = 250;
+    if (initTimestamp + delta <= time && initSpeed == 255)
+    {
+        motor1_MaxRPM = motor1_RPMCount;
+        motor2_MaxRPM = motor2_RPMCount;
+        motor3_MaxRPM = motor3_RPMCount;
+    }
+
+    if (initTimestamp + delta <= time && initSpeed > 0)
+    {
         SpeedMapping_Motor1[initSpeed].RPM = motor1_RPMCount
-        SpeedMapping_Motor1[initSpeed]Speed = initSpeed
-        SpeedMapping_Motor1[initSpeed]MappedSpeed =
-
-        // 255 - 245 - 235 - 225 - 215 - 205 - 195 - 185 - 175 - 165 - 155 - 145
+        SpeedMapping_Motor1[initSpeed].Speed = initSpeed
+        SpeedMapping_Motor1[initSpeed].MappedSpeed = 255 / motor1_MaxRPM * motor1_RPMCount
+
+        SpeedMapping_Motor2[initSpeed].RPM = motor2_RPMCount
+        SpeedMapping_Motor2[initSpeed].Speed = initSpeed
+        SpeedMapping_Motor2[initSpeed].MappedSpeed = 255 / motor2_MaxRPM * motor2_RPMCount
+
+        SpeedMapping_Motor3[initSpeed].RPM = motor3_RPMCount
+        SpeedMapping_Motor3[initSpeed].Speed = initSpeed
+        SpeedMapping_Motor3[initSpeed].MappedSpeed = 255 / motor3_MaxRPM * motor3_RPMCount
+
+
+        // 12:  255 - 245 - 235 - 225 - 215 - 205 - 195 - 185 - 175 - 165 - 155 - 145
         if (initSpeed > 150)
         {
             initSpeed -= 10;
         }
-        // 140 - 135 - 130 - 125 - 120 - 115 - 110 - 105 - 100 - 95 - 90 - 85 - 80 - 75
+        // 14:  140 - 135 - 130 - 125 - 120 - 115 - 110 - 105 - 100 - 95 - 90 - 85 - 80 - 75
         else if(initSpeed > 75)
         {
             initSpeed -= 5;
         }
-        // 75 - 0
+        // 76:  75 - 0
         else
         {
             initSpeed -= 1;

}



void UpdateRPM()
{
    time = millis();

int motorPin3_speed = 9;
int motorPin3_A = A5;

// ----------

int motor1_RPMCount = 0;
int motor1_State = 0;
