Протокол ESP-NOW работает на всех esp. Но есть нюанс, одновременно ESP-NOW и обычный wifi не работает тк радиомодуль то один, а не два. Те предавать данные по ESP-NOW и одновременно работать с STA или Soft AP не получится.
А вот это категорически не верно.
Может при соблюдении некоторых "тонкостей":
1. ОБЯЗАТЕЛЬНО установить на роутере принудительно канал 1.
2. Установить режим WiFi - WIFI_AP_STA.
3. Подключиться к сети.
4. Запустить ESP-NOW в режиме ESP_NOW_ROLE_COMBO.
5. ОБЯЗАТЕЛЬНО запустить точку доступа.
Это работает и работает безотказно (только не следует перегружать кодом функции обработки событий ESP-NOW).
Чтобы не быть голословным полностью рабочий код ниже. Работает уже долго. Попробуйте.
WiFi.disconnect();
WiFi.mode(WIFI_AP_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
esp_now_init();
WiFi.softAP("ESP-NOW GATEWAY");
esp_now_set_self_role(ESP_NOW_ROLE_COMBO);
esp_now_register_send_cb(onDataSent);
esp_now_register_recv_cb(onDataReceive);