Go to file
Jiri Drozd 3253de8792
added scan_method = WIFI_ALL_CHANNEL_SCAN into wifi config in WiFi.begin() to let the scan choose the nearest / strongest AP in case that there are multiple APs with the same SSID (#4947)
In case you have multiple APs with the same SSID/password and WiFi.begin(ssid, pwd) is called, ESP32 defaults to connect to THE FIRST AP FOUND matching ssid - according to:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv418wifi_scan_method_t

This can cause situations that ESP32 is trying to connect to AP which is far away from it (weak signal) even there is AP close to it, just as in my house - I have AP on channel 6 which is in the 1st floor (quite far from room where I do the programming) and AP on channel 13 in the same room I do the programming (which is in the 2nd floor) - result: ESP32 is trying to connect to the AP on channel 6 because it finds it first and never try the AP on channel 13 in the same room, result of this is very unreliable WiFi connection.

When scan_method is set to WIFI_ALL_CHANNEL_SCAN, ESP32 scans all channels and choose the nearest / strongest AP (matching the ssid of course) as expected - result is no connection problems at all.

Therefore I propose adding this parameter into WiFi.begin, connection problems as described above are quite confusing (especially for beginners), I can imagine that for example Schools there are usually using mutliple APs and this can cause intermittent connection problems without obvious reason.
2021-03-15 13:21:43 +02:00
.github Update stale.yml (#4902) 2021-03-06 14:15:46 +02:00
cores/esp32 fix spiTransferBytesNL() writes past end of data_out 2021-03-15 10:40:50 +02:00
docs Add initial support for arm64 toolchain. (#4117) 2020-11-02 20:39:31 +02:00
libraries added scan_method = WIFI_ALL_CHANNEL_SCAN into wifi config in WiFi.begin() to let the scan choose the nearest / strongest AP in case that there are multiple APs with the same SSID (#4947) 2021-03-15 13:21:43 +02:00
package Add arm64 support for mkspiffs 2021-01-21 14:42:31 +02:00
tools IDF release/v3.3 0bfff0b25 (#4895) 2021-03-10 14:48:35 +02:00
variants Board name change (ETBoard -> ET-Board) (#4858) 2021-03-09 00:32:02 +02:00
.gitignore Update .gitignore 2020-12-01 22:20:06 +02:00
.gitmodules Set ESP-IDF to 3.2 (#2662) 2019-04-12 15:43:53 +02:00
.travis.yml Use Github Actions for release (#3309) 2019-10-01 10:44:04 +03:00
boards.txt Board name change (ETBoard -> ET-Board) (#4858) 2021-03-09 00:32:02 +02:00
CMakeLists.txt Added possibility to use ESP32-IDF log insted of redefined one (#4845) 2021-02-23 00:18:15 +02:00
component.mk Fix compilation errors when used as IDF component 2019-01-26 21:37:03 +01:00
Kconfig.projbuild Add loop task stack size config to Kconfig 2020-12-02 11:56:45 +02:00
LICENSE.md Add LGPL 2.1 License 2019-04-16 03:08:50 +02:00
Makefile.projbuild Remove duplicate ota_data flashing under IDF 2018-08-16 13:34:47 +02:00
package.json Initial version of build script for @PlatformIO; CI integration for Linux, macOS and Windows (#153) 2017-01-28 14:19:56 +02:00
platform.txt IDF release/v3.3 0bfff0b25 (#4895) 2021-03-10 14:48:35 +02:00
programmers.txt initial import 2016-10-06 07:09:44 -06:00
README.md Update README.md 2020-11-06 17:21:12 +02:00

Arduino core for the ESP32

Build Status

Need help or have a question? Join the chat at https://gitter.im/espressif/arduino-esp32

Contents

Development Status

Latest Stable Release Release Version Release Date Downloads

Latest Development Release Release Version Release Date Downloads

Installation Instructions

Decoding exceptions

You can use EspExceptionDecoder to get meaningful call trace.

Issue/Bug report template

Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labelled as for reference.

Finally, if you are sure no one else had the issue, follow the ISSUE_TEMPLATE while reporting any issue.

ESP32Dev Board PINMAP

Pin Functions

Tip

Sometimes to program ESP32 via serial you must keep GPIO0 LOW during the programming process