I power my 3.3V circuit with step-up power converter. Input to the converter should be from two Ni-MH 1.2V batteries or alternatively from two 1.5V alkaline batteries.

I need to indicate low battery (by eg. LED blinking) and when the voltage reaches critical level the circuit should be disconnected. Probably I'll need some LVD (Low Voltage Disconnect) solution. Ideally if I could adjust which voltage should be indicated as warning and which to trigger circuit disconnection.

In my project I am using Arduino Mini Pro (3.3v) so maybe I could use it to measure the input voltage of the converter and warn if it is low.

Could somebody please propose me which circuit to use as LVD to fit my needs? Or any other solution?


I'll hazard a guess that this Over-Discharge Protection circuit proposed by Russell McMahon may fit your needs. Its schematic is below.

Over-Discharge Protection circuit schematic

I think you can use it in the following manner:

  1. Place your batteries between GROUND (the horizontal wire on the bottom) and V_battery;
  2. Feed your step-up converter off of the O-DP circuit's Vout (linking it also to GROUND);
  3. Wire one of your Arduino's digital outputs to HIGH to run;
  4. Link one of your Arduino's analog inputs to Vout so you can measure the battery voltage. Add a voltage divider if Vout can be higher than your MCU ADC maximum voltage.
  5. When you press the Go! button, your MCU must set the digital output linked to HIGH to run to HIGH;
  6. When battery is low, just set HIGH to run to LOW. That will turn off the circuit.

Just make sure you don't link any of your MCU pins directly to the battery, or else these will power your MCU through the protection diodes. That will bypass the O-DP circuit and may damage your MCU.

Note that there may be a voltage drop up to 0.7V between V_battery and Vout because of the BC327 transistor depending on the current you draw from the circuit.

  • 1
    \$\begingroup\$ Thanks for the answer. I mark is as useful because I didn't know about this, but I won't accept this answer so far: The problem is that if the voltage is just one bit above the critical value and the Go button is pressed then my circuit is powered by unreliable voltage which can drop below critical value while Go is still pressed. I would like to avoid that as I am using flash/SD memory and it could leave it in inconsistent state. So maybe this solution needs just some tunning to fulfill this requirement. \$\endgroup\$ Jul 8 '14 at 17:53
  • \$\begingroup\$ I don't think you'll really have this problem with this circuit, because you can have your MCU watch the voltage and avoid writing to the SD card or flash memory if voltage is not high enough, even while the Go! button is pressed. The brownout detection circuitry in your MCU won't allow it to corrupt its own flash memory. Besides, to avoid over-discharging your NiMH batteries you'll probably want to cut off power when they reach 1V each, or 2V total. That's well above 0.8V minimum required by your step-up regulator. So you'll always have clean power. \$\endgroup\$
    – Ricardo
    Jul 8 '14 at 18:22
  • 1
    \$\begingroup\$ But I agree that you should not accept an answer that fast. Wait a bit for more answers (say a day or two) then you choose one to accept. \$\endgroup\$
    – Ricardo
    Jul 8 '14 at 18:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.