Светодиодиком на ESP8266 лучше мигать плавно, через аппаратный ШИМ стробируемый мегагерцами. Для этого есть специальные регистры у любого GPIO в ESP8266. Но имеет пару ошибок в кремнии – биения выходного уровня, что для светодиода не совсем важно. И второю, относящуюся к любому выводу GPIO – выход развивает дикий фронт менее 1 нс с большим током (может за 100 мА). Это создает помехи на входную приемную часть и чип глохнет. Требуется припаять резистор на Омы непосредственно к любому используемому как выходу пину чипа, чтобы проводник не звенел и не создавал сам себе помех. Дополнительно этот резистор ограничит прохождения фронтов внешних помех от которых ESP8266 обычно виснет, т.к. реальной сертификации на ESD и прочие помехи у него нет. В бытовых условиях проверить, всё ли спаяли правильно, можно мелкой пьезозажигалкой – при работе пощелкайте десяток раз в нескольких см от чипа и если перезагрузится или глюкнет – перепаивайте...
Так же не забудьте о фронтах и качестве питания чипа ESP8266. BOR у чипа не работает (очередной баг кристалла), а вывод RESET не сбрасывает RF часть. Плавные провалы питания (особенно в момент передачи) приводят чип в режим глушения окружающего WiFi, т.к. передатчик не затыкается. При этом чип может выгореть, т.к. не предназначен для постоянной передачи (тупо перегреется и кристалл выгорит, может с эффектами и возгоранием, если питание мощное) - при работе WiFi используется программный тротлинг. Аналогично необходимо следить, что при работе не возникло зависания в моменты работы RF или ограничить ток питания на чип.
Замыкание одного GPIO в режиме выхода добавляет потребление чипом от 50 мА. Это так-же может привести к выгоранию чипа, если замкнули несколько выводов и чип много передает по WiFi… т.е. ставьте токоограничивающие резисторы на выводы, на которых возможны КЗ.
А дальше уже AT и прочее ПО...