   tmCheckpoint = micros();
 
   String tmValues;
-  tmValues += padding("RCT=" + String(rcThrottle), 8) + ";";
-  tmValues += padding("RCY=" + String(rcYaw), 8) + ";";
-  tmValues += padding("RCP=" + String(rcPitch), 8) + ";";
-  tmValues += padding("RCR=" + String(rcRoll), 8) + ";";
-  tmValues += padding("RCO=" + String(rcOnOff), 8) + ";";
-  tmValues += padding("RCD=" + String(rcDimmer), 8) + ";";
-  tmValues += padding("DMP=" + String(ypr_degree[DMP_PITCH]), 10) + ";";
-  tmValues += padding("DMR=" + String(ypr_degree[DMP_ROLL]), 10) + ";";
-  tmValues += padding("DMY=" + String(ypr_degree[DMP_YAW]), 10) + ";";
-  tmValues += padding("PIP=" + String(pitch_stab_output), 7) + ";";
-  tmValues += padding("PIR=" + String(roll_stab_output), 7) + ";";
-  tmValues += padding("PIY=" + String(yaw_stab_output), 7) + ";";
-  tmValues += padding("MFL=" + String(motors[MOTOR_FL]), 8) + ";";
-  tmValues += padding("MFR=" + String(motors[MOTOR_FR]), 8) + ";";
-  tmValues += padding("MBL=" + String(motors[MOTOR_BL]), 8) + ";";
-  tmValues += padding("MBR=" + String(motors[MOTOR_BR]), 8) + ";";
-  tmValues += padding("INT=" + String(tmInterval), 10) + ";";
-  // for (int i=0; i < 6; i++) {
-  //  tmValues += padding(String(channels[i]), 8) + ";";
-  // }
-
-  Serial.println(tmValues);
+  tmValues += padding("RCT=" + String(int(rcThrottle)), 8) + ";";
+  tmValues += padding("RCY=" + String(int(rcYaw)), 8) + ";";
+  tmValues += padding("RCP=" + String(int(rcPitch)), 8) + ";";
+  tmValues += padding("RCR=" + String(int(rcRoll)), 8) + ";";
+  tmValues += padding("RCO=" + String(int(rcOnOff)), 8) + ";";
+  tmValues += padding("RCD=" + String(int(rcDimmer)), 8) + ";";
+  tmValues += padding("DMP=" + String(int(ypr_degree[DMP_PITCH])), 10) + ";";
+  tmValues += padding("DMR=" + String(int(ypr_degree[DMP_ROLL])), 10) + ";";
+  tmValues += padding("DMY=" + String(int(ypr_degree[DMP_YAW])), 10) + ";";
+  tmValues += padding("PIP=" + String(int(pitch_stab_output)), 8) + ";";
+  tmValues += padding("PIR=" + String(int(roll_stab_output)), 8) + ";";
+  tmValues += padding("PIY=" + String(int(yaw_stab_output)), 8) + ";";
+  tmValues += padding("MFL=" + String(int(motors[MOTOR_FL])), 8) + ";";
+  tmValues += padding("MFR=" + String(int(motors[MOTOR_FR])), 8) + ";";
+  tmValues += padding("MBL=" + String(int(motors[MOTOR_BL])), 8) + ";";
+  tmValues += padding("MBR=" + String(int(motors[MOTOR_BR])), 8) + ";";
+  tmValues += padding("INT=" + String(int(tmInterval)), 10) + ";";
+  for (int i=0; i < 6; i++) {
+   tmValues += padding(String(channels[i]), 8) + ";";
+  }
+
+  countToSend++;
+  if (countToSend > 4) {
+    Serial.println(tmValues);
+    countToSend = 0;
+  }
 }
 
 String padding(String text, int size){

#endif

#ifdef DEBUG
  long tmCheckpoint; // Marca o tempo no checkpoint
  long tmInterval;   // Intervalo entre última medição e o checkpoint
#endif

/* Indicação de atividade do processador */

} pid_params;

/* Variáveis de saída do PID para a taxa de rotação */
double pitch_rate_output;
double roll_rate_output;
double yaw_rate_output;

/* Variáveis de saída do PID para a estabilização */
double pitch_stab_output;
double roll_stab_output;
double yaw_stab_output;

/* PIDs para a taxa de rotação. Entrada: taxa de rotação do giroscópio. Objetivo: Taxa de giro proporcional ao erro. Saída: Potência para o motor. */
/*                         ENTRADA                         SAÍDA                  OBJETIVO        P   D  I  DIREÇÃO */
