   rf95.setModemConfig(RH_RF95::Bw500Cr45Sf128);
   rf95.setTxPower(10, false);
 
+  pinMode(PIN_SENSOR_VCC, OUTPUT);
+  // Start with no volts to the sensors using this power source.
+  digitalWrite(PIN_SENSOR_VCC, LOW);
+
   ads.begin();
 }
 


#define RF95_FREQ 868.0

#define PIN_SENSOR_LIGHT A0
#define PIN_SENSOR_SOIL A2




  // Read the temperature while the aref settles.
  tx_payload.setTemperature(readTemperature());

  // Connect the light sensor to ground.
  pinMode(PIN_SENSOR_GND, OUTPUT);
  digitalWrite(PIN_SENSOR_GND, LOW);

  // Power up the soil sensor.
  digitalWrite(PIN_SENSOR_GND, HIGH);
  
  tx_payload.setChargeMa(readSolarCurrent());
  tx_payload.setChargeMv(readSolarVolts());
  tx_payload.setLight(readLight(vcc));
  tx_payload.setSoil(readSoil(vcc));

  // Power down the soil sensor.
  digitalWrite(PIN_SENSOR_GND, LOW);

  // Disconnect the light sensor.
  // This insures that there is not a voltage higher than vcc
  // on the external ADC, as the light sensor is a voltage source.
  pinMode(PIN_SENSOR_GND, INPUT);
  
  // Build the payload buffer.
  uint8_t payload_buf[tx_payload.size()];
