   
   if (vcc <= VCC_FINAL) { // hopeless, maybe we can get one last packet out
     sendPayload();
-    vcc = payload.vcc2 = 1; // don't even try reading VCC after this send
+    vcc = 1; // don't even try reading VCC after this send
+#if !BOOST
+    payload.vcc2 = vcc;
+#endif
   }
 
   if (vcc >= VCC_OK) { // enough energy for normal operation
     sendPayload();
+#if BOOST
+    payload.vcc2 = analogRead(1);
+#else
     vcc = payload.vcc2 = vccRead(); // measure and remember the VCC drop
+#endif
   }
 
   byte minutes = VCC_SLEEP_MINS(vcc);

#include <JeeLib.h>
#include <avr/sleep.h>

#define BLIP_NODE 22  // wireless node ID to use for sending blips
#define BLIP_GRP  5   // wireless net group to use for sending blips
#define BLIP_ID   1   // set this to a unique ID to disambiguate multiple nodes
#define SEND_MODE 3   // set to 3 if fuses are e=06/h=DE/l=CE, else set to 2

struct {
  long ping;  // 32-bit counter
  byte id;    // identity, should be different for each node
  byte vcc1;  // VCC before transmit, 1.0V = 0 .. 6.0V = 250
  byte vcc2;  // VCC after transmit, will be sent in next cycle
} payload;

volatile bool adcDone;

  rf12_sleep(RF12_SLEEP);

  payload.id = BLIP_ID;
  payload.boost = BOOST;
}

static byte sendPayload () {
