An alternative solution to MP2617

i’m a hardware engineer at a start up in banglore, i’m working on a gps tracker similar to valtrack and i have been stuck in powering the module. it would be helpful if you can give me few pointers regarding powering of GSM module, right now i’m using tp4056 to charge a li-ion battery and using a p-channel mosfet to disconnect battery when external 12 volt is applied, thereby charging the battery and also powering up the device and when external supply is removed, the module is powered through battery. will this be an equivalent alternative to using mp2617 as suggested in your videos.
i hope you can help me out in this issue

Hello and welcome!

I’ve used a circuit with a p-fet like the following with great success, is yours similar?


When you are powering directly with the 12v power supply, how are you converting the voltage for the GSM module? You didn’t specify which module, but I imagine it would work with 4.2v to 3.7v

Hello Viedana,
yes, i have designed a circuit similar to yours.
i’m using lm317 to convert 12V to 4.4V (Since diode drops around 0.4V), i’m using this method since the total cost of all these components is less than half the cost of MP2617, i know that my method takes up lot more space but since i’m doing prototype, i’m not too concerned on board space.
hope you can give me some advice on the circuit and suggestions / corrections.

Thank you

Ok, your schematic is similar, but has some problems. For reference, check this thread on the arduino forums: They discuss what I consider a better solution to your problem.

The main concern I have with your design is two-fold:

  1. You have your p-fet “backwards” compared to my suggestion. Remember that because of the intrinsic parasitic diode in the mosfet, you cannot block current in the forward direction of this diode, no matter if you are pulling the gate high or low. Think what would happen if you have a discharged battery and the mains current returns. In your setup, you’ll be providing a higher voltage on the “+4v” lane with respect to “+BATT” lane; this would “forward bias” the parasitic diode, charging the battery at a worrisome current, to say the least. I again recommend you to read the forum thread I mention to carefully read on the details of their design.

  2. The regulator you are using is designed for a maximum current of 1.5A. You didn’t specify which module you are using, but the almost ubiquitous SIM800 for example requires at least 2A (for brief peaks during communications). There are common linear regulators that can provide 3A maximum, which in my experience gives a more stable circuit. Also, check that your power supply is able to provide at least 2A for the GSM module, plus an extra for the battery charging section of your circuit (for example, if you are charging the battery at 1A, you’ll need a 3A power supply).

  1. if i connect the p-fet as per you schematic wont it feed to main supply even when the main is connected?
  2. as per data sheet of lm317, if Vin-Vout is <15V, it is capable of supplying upto 2.2A. the module i’m using has 2A rating at the peak communication, i tested it out on a dot board and it is working fine, though the LM317 gets a bit hot, but that can be solved by adding a heat sink.

the main concern was the p-fet switching, i have already ordered for PCB now, is there anyway i can prevent the battery being charged through mosfet?

  1. No, because in my schematic a) when the “mains” is connected, 12v is greater than 8.4v which is the maximum voltage expected from the battery/charger (thus reverse-biasing the parasitic diode); and b) when mains is disconnected, you still have the schottky diode blocking the battery from feeding back into the charger/“mains” input.

  2. Yes, “upto” is the keyword. Minimum “guaranteed” is 1.5A. That’s basically the manufacturer’s engineers safe margin/manufacturing tolerance, not yours. But it is up to you to decide if that’s an acceptable compromise. Not only that, but with 2A and 4.2V you are definitively over the 125ºC for Tj without a heat sink; so again, stability is not “guaranteed”.

You can include a diode between the +4v network and the pin 3 of your p-fet, in a way that only allows current to flow from the mosfet to the +4v network. Probably a Schottky one would be better, to minimize the voltage (and therefore power) loss. That would diminish your battery life a bit, but at least would be safer. Protecting the battery is always top priority; when working with lithium cells, even more.

Thank you,
i have found a way to solder mosfet by rotating it such a way that drain and source is interchanged.
regarding the regulator, i’m still running tests by running a evaluation board with regulator, so far i have not seen failures, i have added a heat sink to it

Ok, good strategy! In that case, keep in mind that you must ensure that the output of your LM317 must be higher than the voltage of the battery and the tp4056 output while you are plugged to mains. That’s to ensure that the parasitic diode of the p-fet is kept in reverse bias, otherwise you’ll be draining some of the tp4056/battery charge into your circuit while you have mains power.

That’s good to hear. I just didn’t have the same luck a while ago, also with everything setup on a perfboard. In the end, I choose a small switching regulator module that costs pretty much the same as the LM317, while also being more efficient and only a slightly bigger footprint. There are a couple of models, based on the mp2307 IC.

yea, the Vout from LM317 is around 4.4V, the reason i chose lm317 was because it required less number of components, and main reason was almost all other buck converters i checked required an inductor in circuit,
i have designed another board which does not have battery charging circuit, it uses LM2596-ADJ, since there was no constraint on PCB size, i’m using this and so far its been working fine.
thank you for your help Viedana.
i will update my progress once the PCB arrives and i run few tests on it\

1 Like

LM317 was a poor choice of regulator for GSM module, even with heat sinks its getting pretty hot. after working for a while there is significant voltage drop which sometimes causes the GSM module to restart and there is also a chance of rebooting my MC, because the input to 3.3v regulator is dropping the output of regulator is also dropping and causing the MC to restart. other aspects of design is working as expected,