Context: I am developing a weather station to be deployed in 4 different remote locations. It is going to be powered off of 2 18650 cells in series.

Currently, my power management module is comprised of a solar panel (SP) that can output up to 0.55 A @ 18.2 V loaded, that feeds a buck-boost converter outputting 8.4 V into a 2s BMS.

I am using a buck-boost converter because at dusk, dawn, or cloudy days the SP can still output useful current at >5 V that I would like to take advantage of.

When the SP voltage drops below 3.6 V, however, the converter is not able to convert anymore and enters a state it can only exit out of after a full power off (0 V for >1 s) presenting a problem if, for example, a cloud shades the panel putting it into this state for the rest of the day.

Question: How can I create a circuit between the panel and the BB converter that cuts the load from the SP below about 4 V and then re-enables it over say 4.5 or 5 V (to prevent quick switching as the SPs output voltage falls slightly under load)?

Would it be possible to do it without using the batteries to generate any sort of reference voltage? To prevent the system locking itself out if the BMS decides the battery is too low.

I came across a similar question here, however it did not seem to have been solved and the comments provided were also quite vague.

  • \$\begingroup\$ Hello and welcome. Can I ask what is a "2s BMS"? \$\endgroup\$
    – jonathanjo
    Apr 2, 2023 at 4:56
  • \$\begingroup\$ Welcome! ”How can I create a circuit between the panel and the BB converter that cuts the load from the SP below about 4 V and then re-enables it over say 4.5 or 5 V (to prevent quick switching as the SPs output voltage falls slightly under load)?” Sounds like an XY problem. What is your end goal? Charge a battery from a solar panel and have undervoltage disconnect of loads when the battery voltage is too low? \$\endgroup\$
    – winny
    Apr 2, 2023 at 7:28
  • 1
    \$\begingroup\$ Get a different converter that doesn't have this problem? \$\endgroup\$ Apr 2, 2023 at 10:28
  • \$\begingroup\$ @jonathanjo A 2s BMS is a battery management system that charges, balances and protects my 2 18650 cells from overdischarging and overcurrent. \$\endgroup\$ Apr 2, 2023 at 13:50
  • 1
    \$\begingroup\$ oh yes, I forgot MPPT. You do want MPPT which means the converter will optimize itself to get maximum power from the sunlight. If you use a normal converter it is prone to collapsing as it tries to increase the input current to compensate for low voltage, but that makes the voltage drop even more. In fact that could be what you are seeing. \$\endgroup\$ Apr 2, 2023 at 16:44

2 Answers 2


I have a couple of suggestions for circuits to place between your solar panel and the DC-DC converter. They both employ positive feedback to obtain the two switching thresholds, and are both implementations of a schmitt trigger.

Firstly, it can be done using a comparator, to provide very precise switching thresholds:


simulate this circuit – Schematic created using CircuitLab

R1 and D1 provide a stable 3.5V reference, at one input of the comparator CMP1. R3 and R4 provide about 70% of the power supply potential at the other. R2 allows the reference potential to be modulated somewhat by positive feedback via R5, producing a threshold that depends on the current comparator output state (high or low), giving rise to hysteresis.

As input voltage rises, it eventually reaches a point where the inverting input potential exceeds the reference potential at the non-inverting input. At that instant the output of the comparator goes low, with two consequences. Firstly, the MOSFET's gate is pulled low, and it switches on, directly connecting OUT to IN. Secondly this lowers the reference potential, meaning that the power supply voltage will have to fall to a significantly lower value to reverse the situation.

You can increase the gap between the thresholds (hysteresis) by reducing R5 (or increasing R2), and you can shift both thresholds up by increasing R3 (or decreasing R4).

M1 is a low \$V_{GS(TH)}\$ P-channel MOSFET which will switch the output on or off depending on the comparator output. D2 is to prevent \$V_{GS}\$ from excceeding 10V. You may or may not need D2 to constrain \$V_{GS}\$ to remain under the maximum \$V_{GS}\$ permissible for your particular MOSFET. For the model shown, I've chosen D2 to clamp to 10V, since the maximum \$V_{GS}\$ allowable for that device is 12V.

That circuit produces the following output (orange) when the input (blue) rises and falls from 0V to 18V to 0V:

enter image description here

If you don't need such precisely controllable thresholds, then perhaps the following circuit will work for you, which uses only transistors:


simulate this circuit

R1 and R2 decide the supply potential at which Q1 will begin to switch on (when its base is at 0.6V or so). Positive feedback is provided by R5, which sinks or sources a small amount of base current depending on the current state of OUT.

Because I am using the overall output as feedback, I have to be careful to avoid potential oscillations as Q1 passes through its linear region. C1 is there to calm the response to fast changes.

You can raise the voltage at which the circuit switches on by increasing R1, and you can increase the gap between the thresholds by reducing R5.

This design is quite sensitive to transistor characteristics, so a 2N2222 will produce different results from the 2N3904 shown. You'll have to build it, and then fine tune the thresholds to suit. The simulator is a good tool to use to find approximate values first.

  • \$\begingroup\$ Thanks! That is what I was looking for. I did some breadboard tests and with some tweaks to the resistances it worked perfectly! \$\endgroup\$ Apr 5, 2023 at 15:08

Consider added a "watchdog" microcontroller, perhaps made from an ATTiny CPU or something similar.

It runs on voltages down to 2.7 V (ie, lower than the 3.6 V problem), has brownout detection, and can do analogue-to-digital to measure the input voltage against an internal reference voltage. Program it to monitor the solar voltage, decide if we're good enough to drive the other systems, and output a POWERGOOD signal. If your buck-boost converter has a suitable inhibit you can use that. (Perhaps through an optocoupler to keep all the signal voltages separate.) Otherwise, consider a relay. As a bonus, you could output the current measured voltage over serial if you have a computer which might want to log that, or use it as brightness in your weather report.

Choosing R1 and R2 to prescale the ADC voltage, you might have something as simple as this:

enter image description here

Use a very small linear regulator to drop your solar voltage down to, say, 3 V for the CPU. Or if really conserving power, you can use a resistor and zener, as the CPU can be made to use less than 1 mA.

  • \$\begingroup\$ Thanks, I was afraid to use a microcontroller as I thought they would be more power hungry than pure analog logic, but this might just be the best solution. \$\endgroup\$ Apr 2, 2023 at 13:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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