Skip to content

ESP32-S2: gpio_pullup_en(GPIO_NUM_xx) does not work correctly #11591

@purehunter1

Description

@purehunter1

Board

LOLIN S2-mini

Device Description

A bare LOLIN S2-mini board: [S2 mini — WEMOS documentation]

Hardware Configuration

No additional HW.

Version

v3.2.0

IDE Name

Arduino IDE 2.3.6

Operating System

Win10

Flash frequency

40MHz

PSRAM enabled

yes

Upload speed

921600

Description

The command

gpio_pullup_en(GPIO_NUM_xx); // no effect

has generally no effect on the chosen GPIO, except for GPIO18 (very strange...)

It was tested with different boards of the same type.
GPIO voltage was measured with a multimeter.

(It was also tested with ESP board manager 3.1.3)
Seems this issue is related to the closed but unhandeled issue #5951

Sketch

(stripped) code to reproduce the issue:


#include <driver/rtc_io.h>

void setup() {
  esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
  // sample pins
  gpio_pullup_en(GPIO_NUM_16);  // no effect
  gpio_pullup_en(GPIO_NUM_18);  // OK -> GPIO18 = 3V3
  gpio_pullup_en(GPIO_NUM_8);   // no effect
  gpio_pullup_en(GPIO_NUM_10);  // no effect

  delay(10);
  esp_deep_sleep_start();

}

void loop() {
}

Debug Message

No error message.
the command gpio_pullup_en(...) always returns 0 

Other Steps to Reproduce

No response

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions