0
\$\begingroup\$

I have an ESP32-S3 that is driving a LED from a GPIO, however when there is no firmware flashed yet it seems like the GPIO is floating, thus the LED is not completely on or off. When there is no firmware yet, I want to keep the LED off.

So my question is how can I calculate a suitable pulldown resistor value for this application? I'm guessing it is quite simple, but I don't know the theory behind selecting a suitable value.

EDIT

MPN: LTST-C190KGKT

Added relevant schematic section enter image description here

EDIT2

Added layout enter image description here

\$\endgroup\$
6
  • \$\begingroup\$ What powers the ESP? A battery or something else? Also, how is your LED connected to the GPIO? GPIO sink or GPIO source? \$\endgroup\$ Commented Aug 28, 2024 at 9:09
  • \$\begingroup\$ A switch mode regulator is generating 5V, and then a AMS1117 is generating 3.3V. It is connected in source configuration. \$\endgroup\$ Commented Aug 28, 2024 at 10:24
  • 1
    \$\begingroup\$ @eidetech to which pin it is connected, and through what resistance? Please also note that the GPIO can't be floating if the LED is on. Otherwise every LED not being connected to anywhere would glow dimly. The ESP bootloader must have configured it for input with internal pull-up. \$\endgroup\$ Commented Aug 28, 2024 at 10:28
  • \$\begingroup\$ It is connected to GPIO39, but I have many unused GPIO's, so maybe I should look for one that is configured as pull-down if any of them are. The LED is glowing dimly, so that is why I assumed it was floating. \$\endgroup\$ Commented Aug 28, 2024 at 10:38
  • \$\begingroup\$ @eidetech thanks for the edits. Could you please now measure the pin's voltage whilst the LEDs is barely glowing? DVM's internal resistance should decrease the effective resistance across the pin and the GND, so the LED's glowing should either decrease further or disappear. Also, is it possible to try with other unused pins to see if there's any glowing? \$\endgroup\$ Commented Aug 28, 2024 at 12:20

1 Answer 1

1
\$\begingroup\$

That pin is a MTCK pin for JTAG clock.

It has a weak pull-up enabled which can be controlled by EFUSE_DIS_PAD_JTAG, as normally you really don't want to have floating JTAG pins.

You might not want to disable it unless you disable JTAG, but then you can't access via JTAG if you ever need to.

The weak pull-up is in the order of 45 kohm. Assuming it is a true switched resistance to 3.3V supply with no tolerance, and there being 1.77V over the LED, there is 34 microamps flowing through the LED. Not much but certainly enough to light up a modern LED.

What you can try is a reasonaly sized resistor like 10kohms or 4k7 to GND so that the voltage divider output is less than what it takes to light up the LED. So below 1.77V definitely. Only one problem is that typically the internal pull resistor may have huge tolerances, if they even are true resistors, so worst case is you may have a 20k pull-up.

\$\endgroup\$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.