У SDK 1.0.1 беда в LIGHT моде WiFi sleep - теряет соединение по TCP при активной работе с ним. Это ведет к тому, что использовать данную опцию нельзя. При отключенном или в режиме MODEM - всё нормально. Ошибка там сложная, неоднозначная и нестабильная. Выловить и конкретизировать, не имея исходников, практически невозможно.
Размер занимаемой памяти в SDK сильно увеличен включенными в библиотеки никчемными модулями. Например к Lwip там добавлено несколько неиспользуемых модулей - ping, sntp, espconn, несколько вариантов dhcp, неработающий netio, ... Большинство из них есть в оф. примерах для LwIP:
contrib-1.4.0.zip
Все они занимают прошивку и память и не используются в большинстве приложений. И так с каждой библиотекой у Espressif. Как итог - AT на 1 мег и никакой памяти. AT прошивка использует до 10% процедур из библиотек. Остальное - балласт. От такого подхода SDK от Espressif на сегодня умерло и не может использоваться для создания своих приложений.
Если "побрезать" (перепаковать, удалив ненужное) базовые либы SDK от Espressif, то получаем всего ~100k кода в flash + ~20k iram, памяти остается:
Код:
Section| Used space
------------------------------------------------------------------------------
data| Initialized Data (RAM) ~2k
rodata| ReadOnly Data (RAM) ~3k
bss| Uninitialized Data (RAM) ~30k
text| Cached Code (IRAM) ~20k
irom0_text| Uncached Code (SPI) ~100k
------------------------------------------------------------------------------
Free RAM : ~39,5k
Free IRam : ~12k
Free Heap RunTime*: ~35k (AP+ST), ~37k (AP или ST только)
* включенный AP или STATION съедает примерно по 2k каждый
Это базовый набор "остатков" включающий в себя возможность работать со всеми процедурами WiFi и приемом/передачами данных через LwIP. Остальное будет заниматься приложением пользователя. Т.е. с таким подходом простейшей "обрезки" библиотек от Espressif выжить ещё можно.
Писаки NodeMCU на это не способны, по тому Lua на ESP8266 заканчивается и использует старые SDK с множественными ошибками и ограничениями в 4-ре соединения у espconn...
Остается только Arduino-Sming от автора с данного сайта. Он понемногу адаптируется к необходимым "изменениям" SDK.