Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By PmoshBR
#54401 Hi,

I have a ESP-12 with 4 relay outputs (GPIO 3,4,5,15), all outputs with a BSS138 transistor to convert 3,3V to 5,0V to relays.
The software works fine, and boot Ok.
But the problem is with gpio's (all of them) goes HIGH for miliseconds when the ESP boots up. even with 1k a pulldown resistor at every gpio.
How can I fix that problem?? My relays can't click every time I restart the esp..

Circuit: (The switch SW doen't exist, I only draw to simulate the ESP gpio)
Image
User avatar
By michaeltandy
#54460 See here for a list of the different pins' behaviours during reset and startup.

TLDR: Only GPIO4 and GPIO5 go through the reset procedure without being set high or pulled up.

If you need more than two pins, GPIOs 12, 13 and 14 only get set to weak high - roughly a 40-45k pull up on the module I tested - so if you use a 1k pull down resistor on those pins, the voltage shouldn't rise above ~0.2v. Hopefully that's enough to keep your relays from turning on.
User avatar
By PmoshBR
#54464 Owww!! Great test you did with ESP... Thanks a lot, this help me to fix my project !!!

michaeltandy wrote:See here for a list of the different pins' behaviours during reset and startup.

TLDR: Only GPIO4 and GPIO5 go through the reset procedure without being set high or pulled up.

If you need more than two pins, GPIOs 12, 13 and 14 only get set to weak high - roughly a 40-45k pull up on the module I tested - so if you use a 1k pull down resistor on those pins, the voltage shouldn't rise above ~0.2v. Hopefully that's enough to keep your relays from turning on.