   
   digitalWrite(LED_DEBUG, LOW);
   
-  // Power down the periferals
-  digitalWrite(PIN_PERIF_POWER, HIGH);
   
   cli();
   

    pinMode(LED_DEBUG, OUTPUT); 
    
    pinMode(PIN_TX, OUTPUT); 

    
    pinMode(PIN_PERIF_POWER, OUTPUT);
    digitalWrite(PIN_PERIF_POWER, LOW); // low = 0n (PNP)
    
    digitalWrite(LED_DEBUG, HIGH);
    
    // VirtualWire

    // 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[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;
