0
\$\begingroup\$

I have been having issues with my integrated MCU (ESP32 ) not powering on when power is applied to it. I need to press a boot button after its first failed start-up and then everything is fine.

I think that voltage supply is not stable when EN on the MCU is enabled and so I am getting a bad/frozen startup. I have several other ICs on this board that require 100uF or 47uF capacitors on the voltage supply line which is in parallel with my MCU's voltage supply line. All are fed from a common 5v source. So it doesn't surprise me that the supply voltage is taking longer than say a stock dev esp32 board.

So currently I am using the below configuration. This results in a bad startup, but I had replaced C303 with a 4uF capacitor and was seeing good initial powerups, but I chose this value at random as I did the 51k resistor. So my question: is their any harm with making R301 very large say 200k and C303 4uF? I guess powerup will be slow, but is there any other drawback I should consider?

current config

From the datasheet

datasheet excerpt

Is it true that based on the RC delay circuit the time constant for the voltage rise of this circuit will be linearly proportional to capacitance and voltage so I could adjust either with the same effect?

RC equation

\$\endgroup\$
2
  • \$\begingroup\$ The "power-on reset" peripheral of any modern MCU should be able to deal with too low voltage at start-up. Big bulk caps on the supply net is just a good thing. So the recommendations with external RC filters on some EN pin are just fishy, I wouldn't even consider such a part for professional use. The last thing you want is a MCU which only starts sometimes, at a whim. Back in the days until some 20 years ago, MCUs didn't have low voltage detection so one provided an external supervisor IC. You shouldn't have to mess around with such things in the year 2022. \$\endgroup\$
    – Lundin
    Commented Jul 11, 2022 at 7:35
  • 1
    \$\begingroup\$ A typical fix for this is a supervisor chip. They come in all different styles and flavors. In your case, a simple three-pin device would likely suffice. Something like a MIC1810 or TLV803. \$\endgroup\$
    – Smith
    Commented Jul 11, 2022 at 16:43

1 Answer 1

1
\$\begingroup\$

Power-on sequencing can be a fun and challenging part of electronics design. Power issues can cause weird behavior, and so checking the power supply is always step #1 in debugging.

The first step in figuring this out is to find out what you are dealing with, namely with an oscilloscope shot of your 5V rail as it powers up. Does it come up smoothly and smartly? Or does it have pulses or a very long "drift" upwards? Addressing these issues may fix your issues and improve overall reliability.

Assuming that is done, in your case a typical fix is a supervisor chip. Supervisor chips are very common and there are a lot of specs to choose from. In your case, a 3-pin device will likely be all that is needed. Generally, two pins are for power and ground, and the third pin is usually an open drain reset output (in which case you need to add a pull-up on it). The up-shot of using an open-drain chip is that you can add a button in parallel to it for manual reset.

Typical examples of simpler supervisors are "800" series of supervisors, made by a variety of manufacturers (Microchip has MIC1800 line, TI has TLV800, etc).

As you look at supervisor candidates, you'll want to pick your specs carefully. This includes:

  • The threshold voltage for when the supervisor chip will consider the power supply to be valid. Is 4.6 V ok? 4.75 V? You'll need to find something that is valid for your ESP32.

  • How long it will hold a reset pulse? This will need to be compatible with your ESP32. Does it need 1 msec? More, less?

  • Does the supervisor wait for some amount of time after the voltage is valid before letting the ESP32 run? If so, how long? Is a couple hundred milliseconds ok? More, less?

The supervisor chip will let the ESP32 run when it considers the power to be in a good state. The supervisor chip will take this job literally. Meaning, if your power supply is noisy and has a pulse that violates the supervisor's voltage threshold, then it will hold your ESP32 in reset until it is satisfied with the power again. This can cause frustrating behavior, but remember that the supervisor is just doing its job and that your core problem is a dodgy power supply.

\$\endgroup\$
2
  • \$\begingroup\$ This is very enlightening to someone relatively new to the field. Was looking at TLV803EA30DCKR which has a threshold voltage of 3.08V and ESP32 min operating voltage is suggested to be 3.0V and my LDO outputs 3.3V. So I think this is a good place to start for threshold voltage. For the delay I see 200ms seems to be more than enough. If the manufacture's recommended RC delay was tau = (0.1E-6 uF)*(10E3 ohm) = 0.1ms so seems like I am providing more than enough time with a 200ms delay \$\endgroup\$
    – Feynman137
    Commented Jul 11, 2022 at 17:13
  • 1
    \$\begingroup\$ @Feynman137 Sure. I'm not familiar with ESP32 and its voltage levels. Some micros will have different rated speeds depending on voltage supply, so beware of that. The RC network may work, and might not, depending on how the ESP32 feels about power supply rise and sequencing, EN pin thresholds and so on. I wouldn't take that route with a product on the market. A supervisor chip would be more reliable, especially if this went into mass production. \$\endgroup\$
    – Smith
    Commented Jul 11, 2022 at 20:05

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.