Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By vonny232
#48201 Hi,

Due to quality and reliability concerns from the most well-known ESP module vendor, my company has decided to design their own WIFI module using the ESP8266 chip.

As we know, most people update the firmware via a bootloader, but bootloaders usually require a small, pre-programmed section of boot-code in the flash memory to facilitate the operation.

Since the flash chips will be new (and empty) upon manufacture, getting our custom firmware into the flash is the challenge.

I have a few ideas here - can someone please advise me which method is the best:
* Create a separate pin header multiplexed with the flash memory pins, to allow the flash memory to be programmed "in situ"?
* Order the flash chips pre-programmed with our custom firmware (perhaps tricky since initial order quantities may not justify this)?
* Perhaps I have totally misunderstood the ESP8266 chip, and the bootloader logic is actually contained in the SOC itself, so we can bootload firmware to an empty flash chip?

Any advice appreciated :)
User avatar
By martinayotte
#48205 I think you misunderstood that the bootloader is NOT a pre-programmed part of the Flash, the bootloader is located in a ROM section of the silicon chip done by Espressif.
Many people, including me, has replaced the Flash chip on some modules to get larger ones, therefore new Flash chips were virgin/empty, and it was as easy as other modules to upload its first firmware, same process as usual.