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.gitcd 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 examples 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
Omitting COMPILE=gcc will result in error caused by using different 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 of 3mdeb, a passionate advocate for open-source firmware solutions, driven by a belief in transparency, innovation, and trustworthiness. Every day is a new opportunity to embody the company's vision, emphasizing user liberty, simplicity, and privacy. Beyond business, a casual chess and bridge player, finding peace in nature and nourishment in theology, philosophy, and psychology. A person striving to foster a healthy community, grounded in collaboration and shared growth, while nurturing a lifelong curiosity and a desire to deeply understand the world.