SIM800L не работает с Wemos d1 mini

Добрый день! Первый раз использую esp8266, развел плату, уже все спаял, но SIM800 в монитор порта в ответ шлет мусор, не могу никак настроить связь, на обычной arduino nano все работало. Возможно дело в используемых пинах ESP, там читал есть нюансы у некоторых, но не до конца разобрался. Может кто нибудь подскажет что может быть… (питание SIM800 через понижающий преобразователь 4.2в, земля общая)

#include <SoftwareSerial.h>

#define TX 14 // D0 GPIO16
#define RX 16 // D5 GPIO14

SoftwareSerial SIM800(RX, TX);

void setup() 
{
  Serial.begin(115200);
  SIM800.begin(115200);

  SIM800.print("AT");
}

void loop() 
{
   if (SIM800.available())           // Ожидаем прихода данных (ответа) от модема...
    Serial.println(SIM800.read());    // ...и выводим их в Serial
  if (Serial.available())           // Ожидаем команды по Serial...
    SIM800.write(Serial.read());    // ...и отправляем полученную команду модему
}

А оно разве работает на есп?

// On ESP8266:
// At 80MHz runs up 57600ps, and at 160MHz CPU frequency up to 115200bps with only negligible errors.
// Connect pin 13 to 15.
// For verification and as a example for how to use SW serial on the USB to PC connection,
// which allows the use of HW Serial on GPIO13 and GPIO15 instead, #define SWAPSERIAL below.
// Notice how the bitrates are also swapped then between RX/TX and GPIO13/GPIO15.
// Builtin debug output etc. must be stopped on HW Serial in this case, as it would interfere with the
// external communication on GPIO13/GPIO15.

И откуда это взялось? В официальной документации нет.

в примере из библиотеки, ядро 3.1.1

И в примере нет. У тебя какая-то левая библиотека.

ну да, неправильные пчёлы и неправильный мёд

/*
SoftwareSerial.h

SoftwareSerial.cpp - Implementation of the Arduino software serial for ESP8266/ESP32.
Copyright (c) 2015-2016 Peter Lerup. All rights reserved.
Copyright (c) 2018-2019 Dirk O. Kaar. All rights reserved.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

*/

а мне это на глаза попалось

Ну да

не поленился, открыл ядро 2.7.4, эта библиотека уже там была из коробки, что не так?

А если такой скетч, заодно поправив пины по примеру:

#include <SoftwareSerial.h>

#if defined(ESP8266)
#define D5 (14)
#define D6 (12)
#define BAUD_RATE 57600
#endif

SoftwareSerial SIM800;


void setup()
{
  Serial.begin(115200);
  SIM800.begin(BAUD_RATE, SWSERIAL_8N1, D5, D6, false, 95, 11);
  SIM800.print("AT");
}


void loop()
{
  while (SIM800.available() > 0) {   // Ожидаем прихода данных (ответа) от модема...
    Serial.write(SIM800.read());     // ...и выводим их в Serial
    yield();
  }
  while (Serial.available() > 0) {   // Ожидаем команды по Serial...
    SIM800.write(Serial.read());     // ...и выводим их в Serial
    yield();
  }
}

Получилось что-то? Я никак не могу получить ответ на любую АТ команду… Связка та же (только sim900)