Linear regulator doesn't keep the right voltage when connected to ESP8266

I am trying to use a MCP1700-3302E LDO to regulate voltage from single-cell LiPo battery to my ESP8266 (Wemos D1 package). I intend to use the LiPo down to 3.5V, and since ESP8266 requires 3.3V, that leaves 0.2V headroom. MCP1700 has a dropout voltage right under that requirement (178mV @ 250mA).

For testing, I hooked it all up on a breadboard, powering from my PSU to monitor voltage and current. This is the exact schematic of how it is all hooked up:

As you can see, I added two 1uF (105) ceramic capacitors to the input and output of the regulator, just like the datasheet suggests. Also, I use two 470uF capacitors (because I don't have larger one at the moment) to handle the current spike during ESP8266 booting. ESP8266 might spike up to 435mA, but the MCP1700 has a current limiter of 250mA, so without these capacitors ESP won't boot. After it boots, it runs a simple onboard LED blink sketch.

Now, the problem is that after booting, the voltage on ESP8266 3V3 pin drops to 3.1V. PSU provides 3.5V, I double checked - no drop there. And ESP8266 consumes around 70mA with this sketch, which is way below the 250mA limit of MCP1700. According to the datasheet, dropout voltage at 70mA draw should be around 45mV, but in reality is more like 400mV (3.5V before LDO, 3.1V after LDO).

I know ESP8266 can function with slightly lower voltage, but I need stable 3.3V supply for it because I'll be making some analog measurements, and ESP needs a stable reference voltage for that.

I cannot figure out why this is happening. I am using proper, self-made jumper cables, not the cheap stuff from China. And I am measuring voltage directly on the MCP1700 legs (like shown in the schematic), so the breadboard shouldn't be at fault either.

I tried replacing all the components, including the regulator and the ESP8266 (I have plenty of both), but all of them show the same results. If I increase supply voltage on my PSU to 3.7, then I get correct 3.3V after LDO, but the whole point of this setup is to use a voltage as low as 3.5V, and according to datasheet, this regulator should be able to provide that easily with such small current.

What am I missing here?

• What package the regulator has? Is the input, output and ground pins double-checked to be correctly connected? – Justme Oct 27 '19 at 13:04
• Regulator is in the TO-92 package. Yes, everything is triple-checked by now. It is all connected exactly as in the schematic I've drawn. – Justinas Rubinovas Oct 27 '19 at 13:08
• Dis you measure this 70 mA? – Huisman Oct 27 '19 at 13:10
• My PSU tells me it is 70mA, it has a display with it. But now that you asked, I measured it with my tester - it is indeed 70mA. – Justinas Rubinovas Oct 27 '19 at 13:19
• Well, I would do that, Chris, but ESP8266 operates at 3.3V, I can't change that... And I need WiFi functionality for this project, which is why I chose this MC. – Justinas Rubinovas Oct 27 '19 at 14:33

The datasheet states a the minimum Vin must meet 2 conditions, one of them being:

$$\V_{in} >(V_r + 3\%) + V_{DROPOUT} \$$

which for a 3.3V regulator becomes $$\V_{in} >(3.3V + 3\%) + V_{DROPOUT} = 3.4V + V_{DROPOUT}\$$

So, that leaves 100 mV to be "used" for dropout.

You cannot use FIGURE 2-12 and FIGURE 2-13 from the datasheet to determine the dropout voltage because for these graphs the following applies:

Note: Unless otherwise indicated: VR = 1.8V, COUT = 1 μF Ceramic (X7R), CIN = 1 μF Ceramic (X7R), IL = 100 μA, TA = +25°C, VIN = VR + 1V.

And you do not apply Vin = 3.3V+1.0V to the regulator.

Moreover, the values shown in the graphs are typical values. You may happen to have an IC that deviates towards the maximum worst case dropout voltage. (For $$\I_L\$$ = 200mA, the worst/maximum value differs a factor 2.3 (!!) from the typical value.

I cannot find (yet) what the dropout voltage applies to this situation, but think an input voltage of 3.5V doesn't satisfy the condition mentioned as first in this answer.

• Damn... Talk about fine print... Then what can I do to solve this? Do I need a different regulator? Is there a regulator that can actually provide such a small dropout at such large a current? – Justinas Rubinovas Oct 27 '19 at 13:56
• The AP2128 can, check Figure 28 in its datasheet. But I guess it has the wrong package (didn't check). I found this by selecting the 3.3V regulator on Diodes Inc's website and next filtered on dropout voltage. So, they seem to exist, but I'll leave searching to you... – Huisman Oct 27 '19 at 14:09
• @JustinasRubinovas Maybe you can use a breakout PCB to wire the IC to the original TO-92 location, like sparkfun.com/products/717 (I picked a random package) – Huisman Oct 27 '19 at 14:20
• @JustinasRubinovas "Read the fine print" unfortunately also applies in EE... – Huisman Oct 27 '19 at 14:36
• Power requirements are as much as ESP consumes - normally 70mA, but might be some peaks up to 400mA. I will look into zener diode, thank you. I also found a AP2112 regulator in a SOT25 package lying around. I rigged it up (took a while to work with such a small package), and it seems to be working perfectly, holds that 3.3V steady up to around 400mA draw. It also seems to handle the ESP boot spike without the need of additional electrolytic capacitors. So you were right. I simply chose the wrong regulator. AP2112 appears to be much better in every regard. – Justinas Rubinovas Oct 27 '19 at 23:02

The ESP is probably drawing spikey current that the regulator has trouble supplying. The max dropout is 350mV at 25 degrees C, but that is provided you stay within the 250mA limit, and it gets worse at high junction temperature.

Measurements made by others have noted almost 300mA typical peak draw during packet operations. The 1000uF cap only goes so far with that kind of draw. The average current may be only 70mA but that doesn’t help here.

Bottom line, your regulator is inadequate, replace it with a 1A type or at least 500mA.

Consider turning the radio off during ADC operations (though the built-in ADC in that chip is very iffy accuracy-wise).

Edit: Also be sure the 1uF capacitors are very close to the regulator. You cannot reliably use a solderless breadboard in many cases for this kind of circuit. Resistance must be in the 1$$\\Omega\$$ range or less and inductance should be minimized.

• Comments are not for extended discussion; this conversation has been moved to chat. Any conclusions reached should be edited back into the question and/or any answer(s). – Dave Tweed Oct 27 '19 at 18:00

I would take the ESP8266 out of the equation and characterize your LDO with a restive load.

Try replacing the ESP8266 with 3 100 Ohm resistors in parallel on the regulated output of the LDO and measure the drop-out voltage. Any single resistor will do as well of course, 100 ohms was chosen only as a convenient junk-box value.

• I tried that, sir. My PSU shows a similar current consumption, but the voltage drop is still there. – Justinas Rubinovas Oct 27 '19 at 17:21
• That is unfortunate, well I would then characterize the drop-out voltage at IL = 100 uA, using 3 100k resistors. Consider FIGURE 2-7, they show the LDO maintaining regulation with Vi=Vo. – sstobbe Oct 27 '19 at 17:34