Programando con el ESP8266 , puede ser habitual que compile correctamente nuestra aplicación e incluso luego empiece a funcionar transmitiendo datos a un servidor distante , para luego ,al reiniciar el ESp8266 ya no responda .
Si conectamos al salida del puerto serie del IDE de Arduino entonces veremos con asombro el origen del problema : el error pll_cal exceeds 2ms.
¿Como resolver el problema ?
Este problema se puede resolver reemplazando el archivo libphy.a en el SDK que viene en las bibliotecas de Arduino para ESP8266.
A partir de ahora, las bibliotecas Arduino ESP8266 vienen con SDK versión 1.5.3_16_04_18 y por lo que sea en determinados ESP8266 da problemas de la índole comentada.
La documentación de la versión del SDK 2.0.0_16_08_10 del sitio web de Espressif lo explica mejor y se puede ver aquí: http://bbs.espressif.com/viewtopic.php?f=46&t=2451.
Descargue todo el repositorio que ocupa unos 4.94MB del siguinte l link : https://bbs.espressif.com/download/file.php?id=1690
Descomprima el fichero ESP8266_NONOS_SDK_V2.0.0_16_08_10.zip
Solo nos interesa el archivo libphy.a
Reemplacé el archivo situado en C:\Users\xxxxxxxs\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.3.0\tools\sdk\lib\libphy.a (152kb) al nuevo descargado .Por ejemplo si lo ha descargado en descargas estara en C:\Users\xxxxxxs\Downloads\ESP8266_NONOS_SDK_V2.0.0_16_08_10\ESP8266_NONOS_SDK\lib\libphy.a (149kb)
Recompilé y cargué el código arduino nuevamente y el problema quedara resuelto!
Nota: Si el IDE Arduino vuelve a detectar librerías obsoletas para el ESP8266 ignórelo , pues si se decide actualizar justo esta libreria se expone a repetir el problema nuevamente