Chat freely about anything...

User avatar
By Hexor
#32568 Hi,

I had a lot of problem with ESP-01 and espressif firmware (freeze at random time, esp01 don't want to flash sometime etc).
So I have bough an ESP-07, after booting and sending "AT+GMR" I have seen that the firmware is not from espressif but AI Thinker.

Do you know who is AI Thinker ?(and who is Espressif?) I have found a website, but all the site is in Chinese or similar.
For the moment the esp-07 seem to work fine, so I want to test to flash my esp-01 with AI Thinker firmware, but where I can find this firmware ?

If you have more info on AI Thinker, I'm happy that you share this to me.
Thanks a lot for your help :)
User avatar
By flagtrax
#32656
Hexor wrote:Hi,

I had a lot of problem with ESP-01 and espressif firmware (freeze at random time, esp01 don't want to flash sometime etc).
So I have bough an ESP-07, after booting and sending "AT+GMR" I have seen that the firmware is not from espressif but AI Thinker.

Do you know who is AI Thinker ?(and who is Espressif?) I have found a website, but all the site is in Chinese or similar.
For the moment the esp-07 seem to work fine, so I want to test to flash my esp-01 with AI Thinker firmware, but where I can find this firmware ?

If you have more info on AI Thinker, I'm happy that you share this to me.
Thanks a lot for your help :)


Espressif is the maker of the chip used in the ESP-XX modules. AIThinker is one manufacturer of many of those modules. The chip is THE 8266. The ESP is the module. I think Espressif has updated AT command firmware on their website, as well as Electro-dragon. Which is better is a matter of choice. Each has their own loaders and as I understand it, they're not interchangeable, so you need to download the flasher as well as the firmware. More are going toward using the Arduino IDE which now also supports the modules, as well as another platform called Nodemcu that is a confusing name for a development board, and IDE based on lua. I personally have been working with the Nodemcu IDE, with ESP-7 and 12. The beauty is that you can better take advantage of the 4MB flash mem on these modules, as well as the fact that there are more GPIO pins available for usage. Several of my smaller projects have migrated from an ESP/Arduino configuration to simply an ESP, saving lots of components. BTW if you go to one of those Chinese websites using Chrome you can have it interpret it. Hope that helps.
User avatar
By Osiris
#32808 I've been having problems myself, and I think I finally got it resolved. From what I understand, and what flagtrax said, Espressif makes the chip and AI-Thinker seems to make modules and boards for it. Perhaps not a perfect simile but I think of it as Atmel and Arduino. I don't know how different the companies are, or if AI-Thinker is under some sort of (manufacturing?) contract with Espressif, or the nature of the exact relationship between the two companies. The companies seem to use the same AT command sets (and "Espressif" and "AI" almost seems to be used interchangeably on firmware files), but the SDK and AT versions seem to be differently numbered. I believe both companies have their own cloud and IoT portal and services, which I'm guessing is the reason for the different versions. This along with the additional NodeMCU and Arduino-based firmwares makes things confusing at first and frustrating later when you are trying to troubleshoot similar problems on different firmwares.

Here's my story - I received my ESP-01 (the 8 pin, breadboard unfriendly) version module. It looks slightly different than others, notable a few more components, black masking and gold traces with "AI-Cloud Inside" printed on. Retrieving the firmware version I got something quite different than what's been reported. It's a bit more descriptive, with AT version 0.25.0 and SDK version 1.1.1 clearly labeled, and vendor marked as AI-Thinker Technology Co.,Ltd. Compare this to responses of just "0020950" and "AI-Technology" or whatever. Perhaps, I'm running old firmware so after connecting to my network, I try firmware over-the-air (FOTA) upgrade. I give it a good amount of time (~30 minutes) and I recheck the firmware version to see it's been upgraded to AT v0.30 and SDK v1.2! OK, awesome. A little while later I try FOTA again to see what happens and because the module's access point also won't show up now, and then I'm getting issues (which could also be due to power) and I think I've bricked the device. I downloaded every firmware version and flasher I could find, but no sign of the AI-Thnker version I originally had, even though Espressif's "official" firmware has "AI" included. Even in the firmware and downloads section on AI-Thinker's forum at bbs.ai-thinker.com information isn't matching. After attempting multiple firmware flash versions, with and without .bin files, different flashers I can get responses, but nothing seems to be stable. Setting +CWMODE resets the device and won't take, which means I can't even get a list of available WiFi networks.

Finally, I come across Electrodragon's ESP8266 Firmware and SDK Wiki page (http://www.electrodragon.com/w/Category ... re_and_SDK) which has a link for "Release page" under AT commands AT-Thinker Mod (http://bbs.ai-thinker.com/forum.php?mod ... a=page%3D1). This brings you to AI-Thinker's forum and a post on a SDK/Firmware release. There is a link for it (here, which should download a flasher and firmware versions: http://bbs.ai-thinker.com/forum.php?mod ... MHw5ODQ%3D). This looks promising! Please also read that post: there is a warning on their SDK v1.0 being incompatible with certain flash sizes. Since I had v1.1.1 and upgraded to v1.2, I took the chance.

Another confusing thing is the number of flash tools available. Previous attempts with AI's included ESP Download Tool v2.4 (vs Espressif's Flash Download Tool 1.2, with AI's being almost the same except a different name/version number, an extra option in the GUI, and different responses in the Windows shell) seemed to not work or have some type of error when flashing any firmware.

So here's what I did:
Using the ESP Simple Flasher, I flash firmware "ESP_8266_BIN0.92.bin" (v00170901_00_Cloud Update Ready); I was having stability issues and this seemed to make it stable. However, FOTA still seemed to be unsupported. The first attempt seemed to return "OK" and reset the device, but checking the firmware version using AT+GMR showed no change and additional attempts seemed to return errors.
Still using the ESP Simple flasher, I flash firmware "AI-v0.9.5.0 AT Firmware.bin". I had tried this version before, with issues. I don't even think I attempted using again at this point and just skipped ahead.
Using Espressif's Flash Download Tool v1.2, instead of AI's ESP Download Tool v2.4 as stated above, I flashed firmware "v1.1.1.1 AT Firmware.bin" with success. I retrieve the firmware info
Code: Select allAT+GMR

AT version:0.25.0.0(Jun  5 2015 16:27:16)
SDK version:1.1.1
Ai-Thinker Technology Co. Ltd.
Jun 23 2015 23:23:50

OK

YES! That's the first thing I saw with this module! At least if I interpret some garbled text from my initial firmware version test, a possible complication from using the Arduino's SoftwareSerial at 115200 baud. I try retrieving available WiFi networks, an issue I had with other firmware versions. I get a list! I try connecting to my network... "WIFI CONNECTED"... "WIFI GOT IP" I check my IP address and it's within range. Deep breath as I send over "AT+CIUPDATE". I get the normally reply and "OK" and "WIFI DISCONNECT", the module resets and sends it's reset text. I see at the end the text "invalid" but followed by "WIFI CONNECTED"... "WIFI GOT IP". so what is AT+GMR?
Code: Select allAT+GMR

AT version:0.30.0.0(Jul  3 2015 19:35:49)
SDK version:1.2.0
Ai-Thinker Technology Co.,Ltd.
Build:1.2.0.A Aug  7 2015 17:21:44
OK

SUCCESS! I'm back to where I started!

However, now I see the same problem that lead me down this hole, even though I'm in AP+STA mode, the ESP's AP network isn't showing up as a network (on my other devices). My home's SSID is hidden, which I think I read may cause the ESP's AP network to become hidden.