Page 1 of 1

ESP32 - IO33 - levels - 2V

Posted: Tue Mar 12, 2024 3:59 pm
by aaantonkaaa
Hello all

can someone help me to understand what is happening during the ESP32 start?
lets talk about the IO33

i wrote a simple code to set IO33 to output pin and set high level after start. but on the osciloscope I can see this: picture in attachment

I do not understand why the pin goes to 2V for 8ms and then is set to 3.3V

can anyone help me to understand what is happening here ?
or am I doing something in wrong way ?


code sinippet
void app_main(void)
{

ESP_LOGI(TAG, "startujem");
///////
gpio_reset_pin(33);
gpio_set_direction(33, GPIO_MODE_OUTPUT);
gpio_set_level(33, 1);

ESP_LOGI(TAG, "nastavena uroven 33 ");


BR
Roman

Re: ESP32 - IO33 - levels - 2V

Posted: Fri Mar 15, 2024 1:44 pm
by phatpaul
My guess is that the pin is initialized to Hi-Z (floating) at power-on-reset. Then it takes some time for the CPU to start running your code and set the level high.
You could try adding an external pull-up resistor to 3.3V so it goes high when the pin is hi-Z / floating.

Re: ESP32 - IO33 - levels - 2V

Posted: Tue Mar 19, 2024 3:23 pm
by mbratch
I have seen this behavior as well. I think phatpaul's explanation and suggested method of handling the pin are correct. I've used the pull-up successfully.