Power Supply Drainage Problem?

Hello. I currently have 4 AAA batteries connected in series as the power supply for my PropBoard, Cree XPE2 LED, and 8 ohm speaker. I’m building a lightsaber, and I’m currently using the default lightsaber code on the website. (Though I have plans for a few modifications.) Everything worked wonderfully a week ago when I first powered it on and moved the board around a bit to test it. I turned it off by connecting the two wires that will eventually be connected to my on/off switch. (I’m still finalizing the details for the switch design.) I then left the batteries in place for the next week. The next time I attempted to turn on the board, it didn’t power up. A voltage check showed that my batteries were over half drained! (And below the minimum 5V required to power the thing.)

Could there be some sort of power draw that is draining my batteries, even when the on/off switch is physically disconnected? Or am I simply underestimating the power draw of these components? (In which case I’ll switch to the recommended 18650 batteries, though I’m still concerned that the battery life will be poor.)


The board has an idle (when in low power) consumption of ~3mA, but also depends on what you have connected to the board.

Like with many other electronics board, It will eventually drain you batteries. For example, when in low power, consuming ~3mAh, a 18650 3000mAh battery will be drain in ~1000 hours, so you’ll want to put some mechanism to disconnect the batteries. Many saber builds use a “kill switch”.

In any case, make sure the board is entering low power mode. You can play some audio file in the setup() function to know when the program has started. Then leave the board idling for about 5 minutes (or the time set to the TIME_BEFORE_LOW_POWER constant) and press the ON button. You should hear the sound you’ve added to the setup() function. This mean the board has been restarted due to entering low-power mode.

I’m looking at the demo code, and there may be a bug with the low power settings. Where it says:

enterLowPowerMode(BUTTON_PIN, RISING);

should be

enterLowPowerMode(BUTTON_PIN, FALLING);

Tomorrow I will test and eventually fix this bug.

I checked and it enters into low power, even if it should be:

enterLowPowerMode(BUTTON_PIN, FALLING);

Since the input is configured with an internal pull up (ButtonActiveLow type), the only difference is that it will exit low power mode when the button is released instead of exiting when the button is pressed.

We’ll correct this in the documentation.