ESP-12 update to SDK v0.9.5 and AT v0.21.0.0? noobs tutorial
January 23th Espressif published new ESP IOT SDK on their forum
v0.9.5. My ESP-12 came with
with pretty old version so I decide to update it to latest one:
1
2
3
4
5
6
7
8
9
10
AT+RST
OK
y_RSöfJ[úndor:www.ai-thinker.com Version:0.9.2.4]
ready
AT+GMR
0018000902-AI03
OK
ESP-12 firmware update pin configuration
As picture presents in addition to normal operation we have to pull down GPIO0
and pull up GPIO2.
Upgrade using binaries from Espressif
To upgrade you can use binaries that where delivered in zip packaged and python esptool. Run following commands:
First we clone esptool repository, then we get latest SDK release directly
from forum and finally we ran esptool.
If you will get something like this:
1
2
3
4
5
6
7
Connecting...
Traceback (most recent call last):
File "../../esptool/esptool.py", line 408, in <module>
esp.connect()
File "../../esptool/esptool.py", line 143, in connect
raise Exception('Failed to connect')
Exception: Failed to connect
You can work around this by toggling power to the module right before executing
esptool command. It works on my side.
esp-open-sdk at the moment of writing this post didn’t support v0.9.5 SDK,
but adding this support was pretty straight forward and can be found on my
github for of the repo.
There is also pending PR that hopefully will be merged.
Procedure is straight forward to follow:
1
2
3
4
5
git clone git@github.com:pietrushnic/esp-open-sdk.git #or use https with https://github.com/pietrushnic/esp-open-sdk.git
cd esp-open-sdk
git co v0.9.5-support
sed -i -e '/\s0.9.4/s/^/#/g' -e '/\s0.9.5/s/^#//g' Makefile
make
sed command will cause using 0.9.5 string as VENDOR_SDK for default build.
On my i7-4700 single threaded compilation takes ~20min. BTW I’m trying to
figure out why I cannot use multiple jobs
here.
Just execute this command in your shell. If you missed that message run make
again it should skip all already compiled parts and display final message
again.
Toolchain usage
To use toolchain with example code from v0.9.5 SDK you can simply:
1
cd esp_iot_sdk_v0.9.5
Use package like it was presented in “Upgrade using binaries from Espressif” section. Trying to compile exmaples in esp-open-sdk will give you error like this:
1
2
3
4
5
6
7
8
../../Makefile:154: warning: overriding recipe for target 'clean'
../Makefile:258: warning: ignoring old recipe for target 'clean'
You cloned without --recursive, fetching submodules for you.
git submodule update --init --recursive
make -C crosstool-NG -f ../Makefile _ct-ng
make[1]: *** crosstool-NG: No such file or directory. Stop.
../../Makefile:140: recipe for target 'crosstool-NG/ct-ng' failed
make: *** [crosstool-NG/ct-ng] Error 2
When inside esp_iot_sdk_v0.9.5:
1
2
cp -r examples/at .
make COMPILE=gcc
Ommiting COMPILE=gcc will result in error caused by using differen compiler name:
Thanks for reading. Hope that this post fill the gap that some of beginner can
experience when goolging through straight forward tutorial about playing with
ESP. If you like this post please share. If you see some bias or you just want
to share some facts, ask question then please leave a comment.
Founder and Embedded Systems Consultant at 3mdeb as well as freelance CTO of Vitro Technology and CEO of LPN Plant. Passionate about building firmware that enables advanced hardware features in modern products. Dedicated to customers that treat embedded software security and upgradeability as forethought. Open source firmware evangelist interested in platform security and trusted computing. In favor of fixed price projects with a clear definition of success.