Voltage spike in ESP32 output?

Thread Starter

Schiwi

Joined Jul 17, 2018
6
I recently created a home wi-fi automation using ESP32 in which it include lots of Relays (coiled and SSRs). And due to power consumption and heating of power adapters, I added a main switch that would turn on the Power adapter then the esp32. As such, whenever I power on the switch, the output pins connected to data pins of SSR would instantaneously turn on for about a sec and therefore turn on the connected devices/appliances but oddly enough those traditional coiled relays is not affected by it only SSRs. How can I prevent such false data output rather than letting the ESP32 turned on forever.

(BTW those SSRs are either low level trigger and one is high level trigger yet a spike at data output occurs.)
 

geekoftheweek

Joined Oct 6, 2013
1,216
I may be wrong having never dealt with SSRs, but this sounds something along the lines of a FET without a pull down resistor. When you first turn on the ESP32 the pins will be set as inputs and if measured will show between 0 and VCC. With a FET it can actually cause them to turn on until you switch the pins to output and set them low. A simple resistor between your pin and ground may solve your problem.
 

ErnieM

Joined Apr 24, 2011
8,377
Agreed. The ESP like many other processors start with I/O pins assigned as inputs as this is generally the safest way to power up to prevent an output being driven by another output.

I have an ESP strip LED controller project that does the same thing flashing on all the LEDs at power on. <shrug> I knew this could happen but it doesn't bother me. I might fix this in a future iteration (at least leave pads for resistors I may or may not install).

Besides the resistor you could reverse the power on sequencing.
 

geekoftheweek

Joined Oct 6, 2013
1,216
Thanks for the thumbs up all. I know I've burned up a few semi expensive FETs learning this the hard way trying to turn an alternator into a motor. I kind of though maybe SSRs would have internal pull downs or some other internal means of preventing such a situation, but also figured if my suggestion was wrong I would be corrected and could at least learn from it.
 
Top