Skip to content

analogRead() breaks WiFi connection on AI-Thinker ESP-12K (ESP32-S2) #4844

Closed
@ltungv

Description

@ltungv

Hardware:

Board: AI-Thinker ESP-12K (ESP32-S2)
Core Installation version: idf-release/v4.2
IDE name: Platform.io (via VSCode)
Flash Frequency: no idea
PSRAM enabled: yes
Upload Speed: 921600
Computer OS: Linux 5.10.15-1-MANJARO

Reference:

Description:

I'm trying to get some analog inputs while using WiFi with the ESP32S2, but the WiFi keeps disconnect and could not reconnect in a few iterations after an analogRead is performed. Without the analogRead WiFi works fine after a long period.

Other threads about WiFi issues with ADCs do not seem related.

The following configuration is used for PlatformIO:

  1. The platform packages is a fork of idf-release/v4.2 that applies fixes to i2c initialization as specified here
[env:nodemcu-esp32s2-aithinker-esp12k]
platform = espressif32
platform_packages = framework-arduinoespressif32 @ git@github.com:letung3105/arduino-esp32.git#idf-release/v4.2
framework = arduino
board = nodemcu-32s
board_build.mcu = esp32s2
upload_speed = 921600
monitor_speed = 115200

Sketch:

#include <Arduino.h>
#include <WiFi.h>

const int TEST_GPIO = 10;

void setup()
{
  pinMode(TEST_GPIO, INPUT);
  Serial.begin(115200);
  while (!Serial)
    ;

  WiFi.begin("ssid", "password");
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    delay(500);
  }
  Serial.println("connected!");
}

void loop()
{
  Serial.printf("analogRead(%d) = %d\n", TEST_GPIO, analogRead(TEST_GPIO));
  Serial.println("LOOP");
  delay(5000);
}

Debug Messages:

ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:2
load:0x3ffe6100,len:0x8
load:0x3ffe6108,len:0x620
load:0x4004c000,len:0xa40
load:0x40050000,len:0x284c
entry 0x4004c190
[   936][V][WiFiGeneric.cpp:273] _arduino_event_cb(): STA Started
[   937][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 2 - STA_START
[   945][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
......[  3691][V][WiFiGeneric.cpp:285] _arduino_event_cb(): STA Connected: SSID: ssid, BSSID: 18:d0:71:6d:73:f3, Channel: 11, Auth: WPA2_PSK
[  3692][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 4 - STA_CONNECTED
[  3711][V][WiFiGeneric.cpp:295] _arduino_event_cb(): STA Got New IP:192.168.1.131
[  3711][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 7 - STA_GOT_IP
[  3714][D][WiFiGeneric.cpp:844] _eventCallback(): STA IP: 192.168.1.131, MASK: 255.255.255.0, GW: 192.168.1.100
connected!
analogRead(10) = 1.778904
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
analogRead(10) = -0.000000
LOOP
[102181][V][WiFiGeneric.cpp:290] _arduino_event_cb(): STA Disconnected: SSID: ssid, BSSID: 18:d0:71:6d:73:f3, Reason: 200
[102184][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[102191][W][WiFiGeneric.cpp:816] _eventCallback(): Reason: 200 - BEACON_TIMEOUT
[102199][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
analogRead(10) = -0.000000
LOOP
[104299][V][WiFiGeneric.cpp:290] _arduino_event_cb(): STA Disconnected: SSID: ssid, BSSID: 00:00:00:00:00:00, Reason: 201
[104299][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[104307][W][WiFiGeneric.cpp:816] _eventCallback(): Reason: 201 - NO_AP_FOUND
[104314][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
[106383][V][WiFiGeneric.cpp:290] _arduino_event_cb(): STA Disconnected: SSID: ssid, BSSID: 00:00:00:00:00:00, Reason: 201
[106384][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[106391][W][WiFiGeneric.cpp:816] _eventCallback(): Reason: 201 - NO_AP_FOUND
[106398][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
[108465][V][WiFiGeneric.cpp:290] _arduino_event_cb(): STA Disconnected: SSID: ssid, BSSID: 00:00:00:00:00:00, Reason: 201
[108466][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[108473][W][WiFiGeneric.cpp:816] _eventCallback(): Reason: 201 - NO_AP_FOUND
[108480][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
analogRead(10) = -0.000000
LOOP
[110547][V][WiFiGeneric.cpp:290] _arduino_event_cb(): STA Disconnected: SSID: ssid, BSSID: 00:00:00:00:00:00, Reason: 201
[110548][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[110555][W][WiFiGeneric.cpp:816] _eventCallback(): Reason: 201 - NO_AP_FOUND
[110562][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
[112629][V][WiFiGeneric.cpp:290] _arduino_event_cb(): STA Disconnected: SSID: ssid, BSSID: 00:00:00:00:00:00, Reason: 201
[112630][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[112637][W][WiFiGeneric.cpp:816] _eventCallback(): Reason: 201 - NO_AP_FOUND
[112644][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
analogRead(10) = -0.000000
LOOP
[114711][V][WiFiGeneric.cpp:290] _arduino_event_cb(): STA Disconnected: SSID: ssid, BSSID: 00:00:00:00:00:00, Reason: 201
[114712][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[114719][W][WiFiGeneric.cpp:816] _eventCallback(): Reason: 201 - NO_AP_FOUND
[114726][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
[116793][V][WiFiGeneric.cpp:290] _arduino_event_cb(): STA Disconnected: SSID: ssid, BSSID: 00:00:00:00:00:00, Reason: 201
[116794][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[116801][W][WiFiGeneric.cpp:816] _eventCallback(): Reason: 201 - NO_AP_FOUND
[116808][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
[118875][V][WiFiGeneric.cpp:290] _arduino_event_cb(): STA Disconnected: SSID: ssid, BSSID: 00:00:00:00:00:00, Reason: 201
[118876][D][WiFiGeneric.cpp:795] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[118883][W][WiFiGeneric.cpp:816] _eventCallback(): Reason: 201 - NO_AP_FOUND
[118890][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
analogRead(10) = -0.000000
LOOP

[......]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Status: StaleIssue is stale stage (outdated/stuck)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions