AI ESP-12F ESP8266 Firmware Flash

Hi,

I am a bit lost about firmware flashing, which version etc.

I have an "AI ESP-12F ESP8266" chip here and like to flash to the newest firmware, main reason for it being WiFi Instability issues which I thought might get better with a new firmware.

I found this resources: GitHub - flav1972/esp8266_ressources: Various ressources for esp8266
Also this: ESP-AT | Espressif Systems
And this instructions: https://www.instructables.com/ESP-12F-Flashing-AT-Firmware/

But I am totally lost on which firmware I should use, it seems there are several vendors, sources, firmware types and versions, and and and...

What is an IDF, AT firmware?
Which one should I use?
Is it required at all to flash (and how do I know which firmware is currently on the chip)?

Can someone please help me figure out that?

This is the first time I get into the topic of firmware flashing on ESP chips.

In other threads I also read that when I upload a sketch with Arduino IDE, the whole flash memory is overwritten, including the firmware? So the firmware is automatically up-to-date when I use Arduino IDE to upload a sketch, or do I understand that wrong? Confusion..

  • Michael

When you program the esp8266 directly your code is only a small part of the total. There are Espressif Systems libraries that provide most of the function. These are part of the board files for the esp8266 and are updated periodically, so if you keep the board files up to date you should have the current version.

If you are running in AT mode the code is provided as part of the AT load and is whatever the provider had at the time of the load. You can find various versions and load them yourself (or so I have been told).

I have never used AT mode. To me it seems a waste of time to write code on the UNO, which is less powerful, and then send commends over a limited function interface to the esp8266 and then to the WiFi. The one time I used an AVR chip talking to an esp8266 I wrote all the web interface code on the esp8266 and then communicated between the AVR and esp8266 via serial.

Ok thank you.

So if I understand you right, there is no need for me to care for the device firmware if I use up-to-date libraries and Arduino IDE?

Just to know - what is AT mode? The AT commands I found do not result in responses from the board, so I assume I have a "non-AT" firmware on it.

If you are uploading your code directly to the ESP from the Arduino IDE, all the necessary firmware is packaged up with your code as part of the upload. The upload completely overwrites any firmware that was on the ESP when you purchased it.

If the firmware can be updated, the IDE will inform you that an updated ESP board package is available and you can update it from the boards manager option in the IDE menus.

AT command mode is another way to use ESP chips, generally considered inferior these days. In this mode, the ESP is used only as a WiFi adapter. Your own code runs on an Arduino like an Uno and the Uno communicates with the ESP WiFi adapter using serial commands like "ATxyz". In this mode, the ESP must have the AT command firmware installed.

1 Like

There may be some applications that you want to have AT-commands firmware on your chip (though none spring to mind) This is the github page that can help you out. (though here the voltage divider on the ESP-rx pin is omitted)

It is also possible that you don't have the connections correct. If it is an ESP-12F then that is a barebones chip and some things may be easily forgotten, like the pulldown on GPIO 15, which will cause the ESP not to work at all.

So please post an image of the ESP you have, including it's connections and a schematic of how you have connected it.

AT-mode or AT-commands firmware is the firmware that Espressif loads onto the chips before they are shipped out of the factory. It allows a user to do most actions using simple command line AT commands.

For simple things it is fairly useable, though the ESP is a rather powerful MCU which is capable of doing many things and with the cores provides by espressif for Arduino IDE, many more things can be done, like controlling other devices and serving complex webpages. AT-firmware is still a practical way of testing connections though.

Thanks for your answer!

Thanks, the final product uses a custom made board with the ESP-12F ESP8266.

As development board I use NodeMCU with ESP8266.

So that's with an ESP-12E. Anyway that has the puldown on GPIO 15, but those do normally come shipped with AT-command firmware.

And how do you intend to program that ?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.