What is the Simplest Way to Update the Firmware of this 5v ESP8266 Module?

Hi all

The ESP8266 works on 3.3v,
but there is a creator who manufactures an ESP8266 module that is 5v,
both in Power and Data.

Here is the module:

The module has only 4 Legs:
Vcc (5v)
Gnd
TX
RX

The module contains an LDO from 5v to 3.3v,
and Transistors for Level Converting the 2 Data lines.

My question:
I connected my Arduino Nano (ATmega328 5v 16MHz) to this ESP8266 module,
and when running the AT+GMR command on the module,
I get this:

What is the simplest way to Update the Firmware of that ESP8266 module?

Can it all be done via the 4 Legs that are exposed by the module,
without having to connect to the sub-module's SMD legs?

Thank you

switch to “program”, reset and it will be in flashing mode.
use Espressif Flash Download Tool.
flash AT 1.7 (SDK 3)

Hi Juraj

Thank you very much for your reply.

I went to Espressif's website, and found the Tools page:
https://www.espressif.com/en/support/download/other-tools

So the first item there ("Flash Download Tools (ESP8266 & ESP32)") is the what I need?

Then,
regarding the Firmware to flash, I found this page:

SDKs & Demos:
https://www.espressif.com/en/support/download/sdks-demos

Is this the correct place?

There is 1 option there for ESP32 (not relevant for me),
and 14 options for ESP8266..

Half are with "RTOS", and half with "NON-OS",
so I assume the correct one for me is "ESP8266 NONOS SDK V3.0.0".

When I click the Download icon on the right, I get to a Github page.
The page lets you download the Source Code, but I don't see any compiled binaries..

Does Espressif let you download compiled binaries?
If not, how can I compile it myself?

you missed https://www.espressif.com/en/support/download/at
use ESP8266 NonOS AT Bin V1.7.1

yes Flash Download Tools

chapter 1.2 Downloading AT Firmware into the Flash

Juraj:
you missed https://www.espressif.com/en/support/download/at

Great, thank you very much.
So I choose "ESP8266 NonOS AT Bin V1.7.1" there.

Is it both SDK+AT, or just AT and I need additional thing for the SDK?

Juraj:
https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf
chapter 1.2 Downloading AT Firmware into the Flash

Thank you, going to read it.

card5:
Great, thank you very much.
So I choose “ESP8266 NonOS AT Bin V1.7.1” there.

Is it both SDK+AT, or just AT and I need additional thing for the SDK?

it is the binary of AT configuration to flash plus other binaries that should be flashed with it into different regions of the flash memory. the instructions are in the reference.

the Flash Download Tool will set the parameters, but you will need to know the flash size to set the addresses. you can use the big green button without files configured for ‘download’. it will only detect the settings then

Great.

Is it OK that I chose the newer v1.7.1 instead of v1.7.0?
Or is there a good reason to stay with v1.7.0 and not take the new one?

card5:
Great.

Is it OK that I chose the newer v1.7.1 instead of v1.7.0?
Or is there a good reason to stay with v1.7.0 and not take the new one?

1.7.1 should be OK

2.0 is not good. it is the esp32 AT firmware build for esp8266

Terrific.

So now that I have both the Flashing tool, and the Binary that I need,
allow me please to verify the steps from here..

  1. Connect the computer to an FTDI Adapter, and connect the FTDI Adapter to the ESP8266 module that I have.
    (this means connecting only 4 wires in total: 5v,Gnd, TX,RX - exactly how it is connected now,
    when I run AT Commands on it)
  2. Change the Switch from "UART" to "Program".

and now the important steps that I never done yet:

  1. Run the Flash tool
  2. Verify the COM Port #, and BaudRate on the bottom part of the window
  3. Click the big green button, to have the Flash tool auto-set the parameters, according to my module
  4. In the Download section of the Flash tool, enter 4 Filenames, and 4 Addresses
  5. Click "Start".

and if all went well, change the Switch back from "Program" to "UART".

That's it, or did I miss something?

Will the big green button in Step 5 set all the parameters that I need, except the 4 Binaries and 4 Addresses?

looks good.
the advantage of the 5V adapter PCB is that it can be powered from USB 5 V through the FTDI or Nano. the 3.3 V pin of the FTDI/Nano is week for esp8266.
I have a similar adapter board with 12F, but my doesn't have the program switch and reset button.

Juraj:
looks good.

OK, going to try it now, hopefully it'll succeed..

Juraj:
The advantage of the 5V adapter PCB is that it can be powered from USB 5v through the FTDI or Nano.
The 3.3v pin of the FTDI/Nano is week for esp8266.

Yeah, that's why I bought it.
I am an ATmega328 person, not happy to leave it for other Microcontrollers,
so this module takes care of the conversion of both the Power and the Logics.

Juraj:
I have a similar adapter board with 12F, but my doesn't have the program switch and reset button.

Cool, it looks amazingly similar in terms of layout and even printing on the PCB.. :slight_smile:

OK I ran the Flash tool, with the module in Program mode,
and I set the COM Port and Baud Rate.

Apparantly the green rectangle isn't clickable..

So I clicked the "START" button near it,
and after several seconds, there is some info synchronized to the window:

On the "Detected Info" panel,
look how it says there "8Mbit",
is that really bit, or Byte?

Does this affect the type of AT binary that I can install?

card5:
OK I ran the Flash tool, with the module in Program mode,
and I set the COM Port and Baud Rate.

Apparantly the green rectangle isn't clickable..

So I clicked the "START" button near it,
and after several seconds, there is some info synchronized to the window:

On the "Detected Info" panel,
look how it says there "8Mbit",
is that really bit, or Byte?

Does this affect the type of AT binary that I can install?

check the SpiAutoSet box.
8 Mbit would be 1 MB. it is unusual for ESP-12F.
did the tool set the 16 Mbit selection?
the Espressif build of the AT firmware doesn't fit into 1 MB. you would have to use AT 1.6 or an alternative build. for my WiFiEspAT library, which requires AT 1.7 you could use GitHub - loboris/ESP8266_AT_LoBo: New ESP8266 AT-Firmware with many added features, but I don't know the instructions for flashing it from Windows. on Linux it was simple

Juraj:
did the tool set the 16 Mbit selection?

It was the default, when the Flash tool loaded,
it did not change after I clicked Start button,
probably because the SPIAutoSet checkbox was not selected..

Juraj:
check the SpiAutoSet box.

OK,
I now selected the SPIAutoSet checkbox, and then clicked "START",
and now the Flash Size panel was auto selected with "8Mbit"..

By comparing the 2 screenshots above,
it seems that the SPIAutoSet checkbox only affected the "Flash Size" panel,
it chose 8Mbit.
Other panels did not change their value..

Juraj:
8 Mbit would be 1 MB. it is unusual for ESP-12F.

I can contact the creator of this module (called "Open-Smart") and verify the memory size..
I will do it now.

Juraj:
The Espressif build of the AT firmware doesn't fit into 1 MB.
You would have to use AT 1.6 or an alternative build.

So for this size of memory the latest version is v1.6?
Hmm OK
Well it is better than my v0.40 AT.. So it still is a progress.

There are 3 minor-versions for v1.6,

Will all 3 of those be OK with the 8Mbit memory (inc. the latest v1.6.2), or just v1.6?

BTW

Juraj:
8 Mbit would be 1 MB. it is unusual for ESP-12F.

My module is not ESP-12F, it is ESP-07..

If I remember correctly, they look almost the same,
just the ESP-07 is with a Cermaic antenna,
and the ESP-12F is with a PCB antenna..

(I don't know if there's a difference between them in terms of the Flash memory on the module)

card5:
BTW
My module is not ESP-12F, it is ESP-07..

If I remember correctly, they look almost the same,
just the ESP-07 is with a Cermaic antenna,
and the ESP-12F is with a PCB antenna..

(I don't know if there's a difference between them in terms of the Flash memory on the module)

OK. I would recommend the AT Lobo build of the 1.7 firmware. He has a version for 1 MB module. I tested it on my 1 MB modules.

Hmm,
ill it be OK If I start with Espressif's builds?
Later on I will try other makers' builds..

If yes, then should I take v1.6.0 or v1.6.2?

Does Espressif have some webpage that shows what is the latest AT version that can be used for each Flash memory size?

card5:
Hmm,
ill it be OK If I start with Espressif's builds?
Later on I will try other makers' builds..

If yes, then should I take v1.6.0 or v1.6.2?

Does Espressif have some webpage that shows what is the latest AT version that can be used for each Flash memory size?

1.6.2

Great, thank you so much.

I downloaded AT v1.6.2,
and inside I found the readme.md file.

For my Flash size - 8Mb, I see these data as relevant:

So I went to enter 4 lines in the top part of the window (Filenames, and Addresses).
There is only 1 problem:

From the 3 files circled above,
I can find blank.bin in the exracted files from the ZIP,
but I cannot find eagle.flash.bin and eagle.irom0text.bin.

In some tutorial that I found on Youtube,
the files eagle.flash.bin and eagle.irom0text.bin should be inside a folder called bin\at\noboot,
the problem is that when extracting v1.6.2, bin\at\ doesn't have a noboot folder inside it.

I tried searching for these 2 files in all other sub-folders from the extracted ZIP,
but they seem not to exist..

That's despite the fact that the readme.md file clearly mentions them, and mentions 8Mbit, under Non-Boot mode.

I then thought maybe it's not in v1.6.2, but in v1.6,
so I downloaded and checked both v1.6.1, and v1.6,
and in them too, there is no "noboot" folder..

What should I do?

wrong section
see # BOOT MODE section
or "1.2.4. 8 Mbit Flash" in AT reference

did you try OTA update? AT+CIUPDATE could update the AT firmware (if it doesn't try to update to 1.7 or 2.0)