I am trying to design a replacement for a 2:1 switch using FETs, which would be really easy if I didn't have to concern myself with the body diodes that are present on PMOS transistors.

My scenario is that I have two batteries in parallel to power a circuit, they are both fed into a dual schottky diode and then that output is used to power most of the circuit, this dual schottky is good as it prevents a major issue arising if one of the batteries were to short circuit - the other would drain through it and die quickly. However, unfortunately the voltage drop over the schottky is too high (even though it is a mere 0.25V) and would not be able to power a specific part of the circuit that I need, and it would stop functioning much earlier than if powered direct from the batteries.

I need to switch between the two batteries to power this part in order to keep their voltages relatively even. Originally I was using a TS5A3154 multiplexer to do this, however I ran into issues when I realised that the analogue inputs would be higher than the supply voltage for the chip (the enable pin became redundant and the output would always be high [whatever was at NC / NO]). So I want to replace this with FETs as mentioned (PMOS or whatever will work / be cheapest) and need to avoid the possibility of one of the batteries shorting allowing the other to drain through the body diode that is present on PMOS transistors. The reason I am struggling is because any solution can't have a voltage drop over it as this would eliminate the point of the switch in the first place.

The FETs (switch) is / will be controlled by a microprocessor which only has an output voltage of +2V, while the battery voltages will be up to 3V at the beginning of life and then will be considered dead at about ~2.5V as some of the circuit won't work and they are crucial for the functionality of the circuit. The premise of this being that a 2V pulse from the microcontroller will switch off / on one of the batteries and then switch on / off the other one accordingly.

Just to reiterate, the question is to prevent the body diode of a PMOS conducting given events mentioned above without causing a voltage drop when they are functioning.

Cost is quite a big thing with it needing to be as cheap as possible, I have searched for alternative switches to replace the current one but all datasheets seem to say the same sort of thing regarding analogue inputs being higher than the voltage supply.

I would draw a circuit to go with this question, however, I do not feel it would actually provide anything as all it would be is two batteries each going into a PMOS and then have the two outputs connected to each other going to some load. If you want one I will oblige but as I say, it will only give a small visual aid rather than any technical input.

Just to add a little bit more information regarding this question:

  • The two batteries are required to power the rest of the circuit all the time while possibly only supplying this part of the circuit for part of the product lifetime (in reality it will power it for near enough the whole time but to make it clear, it can be turned on and off if needs be)
  • The part I am wanting to power is for wireless communications, it will initially drain a few milli amps on power up but then reduce to somewhere in the micro amp region
  • I can't just 'hope' that the batteries don't short, I need a contingency plan
  • The rest of the circuitry will be drawing only ~20uA for most of the time of operation as low power is a must as well


So firstly thanks to everyone who has given an answer already, I have looked into each of them but for one reason or another they aren't suitable for my application - largely cost, current draw, operating voltage, etc...
So to give you an update on my situation, I think the most likely way forward will be to use two TS5A3154 switches and have each battery power one each and also be connected to one of the analogue inputs on the switches and then somehow switch between the two using a micro controller (EFM32G222F128).
The new issue I am having is that at least one of the outputs from the micro controller will have to be always high, however I need my MCU to go into a low energy mode (EM2) but I don't know if it is possible to be able to do this while having an output high, so if anyone has any knowledge on this chip and coding it in C, that would be amazingly helpful!

Reference manual for coding the Gecko

For people who have already answered - I will still award the bounty if no answer for this addition is given so fear not!

  • \$\begingroup\$ A common approach is back-to-back MOS devices with the body diodes connected in series but with opposite polarity. There is no intrinsic way to prevent conduction if the body diode can be forward biased. \$\endgroup\$ Commented Dec 15, 2014 at 16:31
  • 2
    \$\begingroup\$ If you orient your PMOS's in such as way that their body diodes conduct in the direction you're aiming for, and then enable whichever one you want to really provide power to your system, then the other shouldn't really conduct much (if any) current (assuming similar voltage/charge levels on the batteries). \$\endgroup\$
    – brhans
    Commented Dec 15, 2014 at 17:02
  • \$\begingroup\$ Solid state relay? (or a mechanical relay?) How much current? (and how many dollars?) \$\endgroup\$ Commented Dec 15, 2014 at 17:10
  • \$\begingroup\$ I tried to draw up brhans's idea. I added a T flip flop to toggle between FET's. \$\endgroup\$
    – user57037
    Commented Dec 15, 2014 at 18:24
  • \$\begingroup\$ Anything problematic about switching the negative legs of the batteries and having the two positive terminals commoned? \$\endgroup\$
    – Andy aka
    Commented Jan 28, 2015 at 9:34

5 Answers 5


There are IC's which can provide this functionality.

One option would be to use a "Power Multiplexor". An example is the TPS2115. It takes the place of the diodes and switches, and is controlled by a 2V-compatible logic signal. Its internal resistance is 110 milli-Ohm (or less), which give a voltage drop of 0.6 mV (!) at 5mA of current. You can find them for around $0.85 in quantities of 1000+.


There are two possible problems with this chip: it only operates down to 2.8V (not 2.5), and it has a 55uA quiescent current. I don't know how important these are for your design.

Other options could be an "Ideal Diode", or an "Ideal Diode Controller". Linear has a good selection, see here for examples.


To see even more options, here is Digikey's selection of related Power Management IC's (PMIC's)to dig through.

Good luck!

In response to your microcontroller question:

Generally, microcontrollers retain their output pin states during low-power modes. Specifically, the Gecko microcontrollers retain their pin states in all power modes except for EM4. So it should be just fine!

This specific microcontroller is complex and powerful. If you are only using it for the battery management, you might consider using a more basic one.

Good luck :)

  • \$\begingroup\$ I never really considered ideal diodes as a replacement... If I can find one that fits the bill (low enough voltage, current, and cost) then I am eternally in your debt! \$\endgroup\$
    – MrPhooky
    Commented Jan 26, 2015 at 14:52
  • \$\begingroup\$ @elliotdawes Let me know if it works for you, and consider the debt repaid :) \$\endgroup\$
    – bitsmack
    Commented Jan 26, 2015 at 17:32
  • \$\begingroup\$ Excellent! That's been a really great help and will save me a lot of hassle! The ideal diode / PMIC idea has given quite a few good leads that I have looked into and generally one of the cheapest options! Thanks. \$\endgroup\$
    – MrPhooky
    Commented Jan 29, 2015 at 8:50

If you are happy with the dual diode arrangement and the only issue is voltage drop, I think you can get by with one PMOS on each battery. You need to have the body diode forward biased during discharge. Essentially, you are putting the FET in "backwards." When the FET is on, the drop will be very low. I drew up the idea below. This is a quirky circuit in the sense that if one battery has much higher voltage, then it may discharge, even if the other battery is the one that is enabled by logic. If you don't want this quirk, the problem can be easily fixed by using two PMOS per battery. Break the circuit between battery and "backwards" PMOS. Then insert the second one with source connected to battery, drain to drain and gate to gate of the "backwards" PMOS. I can draw it if you don't know what I am talking about. Just let me know. I have to warn you, though that that circuit has its own problems, because it is stable and happy with both FET's off. So it may need to be jump started somehow. Keep in mind that your current diode OR circuit automatically fails over to the good battery if one goes bad. If you have two FET's per battery, you lose that feature. There is no automatic failover, and if the currently selected battery goes bad, the rail goes down.


simulate this circuit – Schematic created using CircuitLab

  • 1
    \$\begingroup\$ The BSS138's aren't really needed if U1 is powered from VBATT. \$\endgroup\$
    – user57037
    Commented Dec 15, 2014 at 20:27
  • \$\begingroup\$ I'm not sure I understand... aren't you just making the PMOS's act as diodes? \$\endgroup\$
    – MrPhooky
    Commented Jan 26, 2015 at 9:20
  • \$\begingroup\$ @elliotdawes, when the PMOS is off the body diode could be forward biased (depending on conditions) and will allow battery discharge. So in that sense, the PMOS is acting like a diode. But when the PMOS is on, then it does not act like a diode, it acts like a switch that is on, and eliminates the diode drop that is causing you trouble. You need to think carefully about your error case where one of the batteries is shorted to ground. If that happens to the currently selected battery, how will you quickly detect and switch over? Can you do it fast enough?... \$\endgroup\$
    – user57037
    Commented Jan 26, 2015 at 16:59
  • \$\begingroup\$ If you can't switch fast enough, maybe you should go back to the dual Schottky, and insert a buck/boost regulator to keep the voltage high enough for your critical part. \$\endgroup\$
    – user57037
    Commented Jan 26, 2015 at 17:01

The solution is simple, just swap the Source and Drain so the FET works in the 3rd quadrant. Then you still have the diode steering, but with a FET in parallel that can be turned on to reduce voltage drop. And if you switch battery negative then you won't need level translators to drive the gates.

enter image description here

Cost is quite a big thing with it needing to be as cheap as possible,

Then just wire the batteries in parallel and don't worry about the tiny chance of one shorting out - or use a single larger battery!

  • \$\begingroup\$ Switching the negative side works just fine. But since the OP has told us very little about the overall system, I have to caution him to be careful about switching ground if the circuit has external connections. For example, if the FET drains could be connected together by a battery charger which might even be earth grounded. There could be signal outputs which might also be earth grounded. This would effectively short both FET's through earth ground when connected to other equipment. Has to be thought through to avoid problems. \$\endgroup\$
    – user57037
    Commented Dec 15, 2014 at 20:23

K1 and K2 are single coil Form A (SPSTNO) latching relays, and the diodes on their coils are for spike suppression. 1N4148s or similar will be fine.

RL is the load, the BFC is used to maintain the voltage on the load while the relays switch batteries, and the circuit works like this:

With both relays open, a short pulse is sent to A1 while A2 is at 0V, closing K1's contacts and connecting BT1 to the load.

Later, when it comes time to switch batteries, A1 and A4 are connected to 0V and a short pulse is sent to A2, opening K1's contacts. Then, after a fixed delay, (ensuring that BT1 and BT2 won't be shorted through the relays) a short pulse is sent to A3 which will close K2's contacts and connect BT2 to the load.

During the switching delay, the BFC will keep the voltage across the load from drooping out of spec and should negate the effects of contact bounce on the load.

In the configuration shown, it's possible that, inadvertently, both sets of relay contacts could be closed at once, connecting the batteries in parallel, which could be a Bad Thing. It's also possible, with a little extra hardware and/or some clever programming, to preclude such a possibility.

enter image description here


The main challenge of the question is to avoid the voltage drop when using current and with the same schematics make sure you never have reverse current in the batteries.

One simple solution is to use two LDOs (low dropout regulator), one per battery. It has several advantages:

  • First: you obviously don't get any reverse current in any battery.
  • Second: if you make sure both LDOs are of exactly same model and operate at same temperature, they will drain more current from the battery that has the highest voltage.
  • Third: as the output voltage is regulated, your circuit will reduce its current need and therefore operate for a longer period than it would if it was directly connected to the batteries.
  • Fourth: Some LDO have extremely low dropout (lower than 10 mV at current of 100 uA) and low quiescent current, therefore it will not impact significantly you life time.


simulate this circuit – Schematic created using CircuitLab

Good luck !

  • \$\begingroup\$ By the way, you can also find dual input LDO from various suppliers that will do the same in a single package. \$\endgroup\$
    – MAC
    Commented Jan 27, 2015 at 22:11

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.