Thank you guys - it sounds like there must be something really wrong with my wiring. I do use the super low power sleep in my code. The unit only goes on to send one NRF24 packet and then stays asleep for 20 minutes.
// read sensor data
// send through NRF 24
radio.powerDown();
digitalWrite(TS_PIN, LOW); // TS_PIN is connected to the transistor base
delay(100);
Debugln("Starting sleep");
#ifdef DEBUG_MODE
int sleep_time = 0;
#else
int sleep_time = (success == 1) ? SLEEP_CYCLES_SUCCESS : SLEEP_CYCLES;
#endif
for (int il = 0; il < sleep_time; il++)
LowPower.idle(SLEEP_8S, ADC_OFF, TIMER2_OFF, TIMER1_OFF, TIMER0_OFF,
SPI_OFF, USART0_OFF, TWI_OFF);
Debugln("Sleep completed");
This is my diagram. To prevent the sensor to be powered on all the time I use a 2N3904 transistor to gate the power delivery to both my NRF24 and my sensor. Would anyone have a better suggestion?
