Espressif Systems released nonOS SDK version 2.0.0 on July 20, 2016. If you have been working with the ESP8266 and programming your own native applications (not based on AT command firmware and external MCU!), then you have probably noticed that the SDK has been seeing some significant changes in features and also many new additions in the recent releases.
For those who have not been following every version closely, the long story short is this: The SDK has changed a LOT since non-OS SDK version 1.5.0 was released. For all those people who are still using v.1.5.0, the best strategy would be to stay put and keep using the v.1.5.0 for your consumer or end-user firmware. However, it is important to note that the v.2.0.0 seems like it is a consolidated versions of everything that has been covered since SDK v.1.5.0.
So if you have been having a bad time struggling with your application stuck at v.1.5.4 and patches seem to fail or that certain functions are not working, it is highly recommended to use a stable release such as the v.1.5.0 and also develop for the latest “stable” release v.2.0.0.
The major changes introduced in SDK v.2.0.0 are outlined in the release notes for the SDK here on Espressif’s official forum for ESP8266 developers.
Note that the fundamental features have changed in v.2.0.0 compared to v.1.5.0. There are some new functions introduced that has to be coded in by the user (RF calibration sector set function).
Here is a quick list to outline the major changes that affect your programs that are still powered by an older SDK (v.1.5.0 or older):
- Issue of high current consumption during light and deep sleep is resolved
- There is a new SDIO AT demo in examples directory
- Updated boot loader to 1.6
- New features and improvements in secure connection related APIs
- user_rf_cal_sector_set ()
is a new function that has been added, must be defined in user_main.c
- SDIO support added
- The RF calibration data bin must be initialized as blank before use by new firmware!
If your application updates via FOTA, you need to make sure that the sector for RF_CAL parameters is initialized by erasing the sector before proceeding with upgrading to new userx.bin