     // Transmit after interval
     if (now - tx_last >= tx_interval) {
         tx_last = now;
-                
+
         int solar_read = analogRead(PIN_SOLAR);
- 
+        
+        digitalWrite(PIN_LM35_POWER, HIGH);
+        int lm35_read = analogRead(PIN_LM35);
+        digitalWrite(PIN_LM35_POWER, LOW);
+        
+        digitalWrite(PIN_SENSOR_POWER, HIGH);
+        int thermistor_read = analogRead(PIN_SENSOR_THERMISTOR);
+        int soil_read = analogRead(PIN_SENSOR_SOIL);
+        digitalWrite(PIN_SENSOR_POWER, LOW);
                 
         // Send a transmission
+        digitalWrite(PIN_TX_POWER, HIGH);
         // int = 5 bytes in transmision string
         // long int = 10 bytes in transmision string
         // byte = 3 bytes in transmision string
-        char msg[25]; // string to send
-        sprintf(msg, "S,%d,%u,%lu", msgId, solar_read, readVcc());
+        char msg[35]; // string to send
+        sprintf(msg, "S,%d,%u,%u,%u,%u,%lu", msgId, solar_read, lm35_read, thermistor_read, soil_read, readVcc());
         Serial.println(msg); 
         vw_send((uint8_t *)msg, strlen(msg));
         vw_wait_tx(); // Wait until the whole message is gone
+        digitalWrite(PIN_TX_POWER, LOW);
+        
+        
         ++msgId;
-        
         ++awake_tx_count;
         if (awake_tx_count > AWAKE_TX_MAX) {
             awake_tx_count = 0;

  ADCSRA = old_ADCSRA;
  
  digitalWrite(LED_DEBUG, HIGH);
  
  // Power up the periferals
  digitalWrite(PIN_PERIF_POWER, LOW); // (PNP)
  
} 


  
  digitalWrite(LED_DEBUG, LOW);
  
  
  cli();
  
