AT Binary Lists
This document covers the following sections:
Brief Introduction to AT Firmware: What binary files the AT firmware contains and their functions
Which Type of Firmware Shall I Choose?: Types of AT firmware, ways to access them, their application scenarios, pros, cons, etc.
To download AT firmware for other chip series, please go to the drop-down list on the upper left corner of this page and select a chip series to navigate to the documentation of that chip for downloading.
Brief Introduction to AT Firmware
ESP-AT firmware contains several binaries, and each of them is dedicated to a specific function:
factory/factory_xxx.binis the combination of all binaries. So, you can either download the
factory/factory_xxx.binto address 0, or several binaries to different addresses according to
at_customize.binprovides a user partition table, which lists the starting address and partition size for the
fatfs. You can read and write the contents of the partition listed in this file with the command AT+FS and AT+SYSFLASH.
mfg_nvs.binindicates the hardware configurations for different ESP32-C3 modules (see the table below). Please make sure the correct bin is used for your module. For more information on this parameter file, please refer to Firmware with Updated Parameters.
UART Pins (TX, RX, CTS, RTS)
Which Type of Firmware Shall I Choose?
ESP-AT firmware has the following types. Among them, the workload of downloading or preparing firmware increases from top to bottom, and so does the number of supported module types.
Officially released firmware, also known as “released firmware”, “official firmware” or “default firmware”, is tested and periodically released by Espressif’s official team according to the internal development plan. It can be upgraded directly based on the Espressif OTA server. If it fully matches your project needs, it is recommended to choose it over the other types of firmware. If it does not support your module, you can select a firmware that has a similar hardware configuration to your module according to Hardware Differences for testing and verification.
How to obtain firmware: ESP32-C3 AT firmware
Small workload of obtaining firmware
Long update cycle
A limited number of supported modules
GitHub temporary firmware is compiled by GitHub whenever code is pushed to GitHub and yet does not reach the firmware release cycle. In other words, it is the firmware in development, including the temporary versions of officially released firmware and supported firmware that is not planned for release. The former can be upgraded directly based on the Espressif OTA server.
How to obtain firmware: Please refer to How to Download the Latest Temporary Version of AT Firmware from GitHub.
Real-time integration of new features and bug fixes.
Covering some unofficially released firmware, such as firmware based on SDIO communication and firmware based on SPI communication.
Small workload of obtaining firmware.
Cons: As the firmware compiled based on commits that are not for official release has not been thoroughly tested, there may be some risks. You need to do a complete test by yourself.
The firmware with updated parameters is generated by updating the parameter area and you do not need to compile the firmware. It is suitable for the case where the firmware function meets the project requirements, but only some parameters do not, such as the factory baud rate and UART IO pins. This type of firmware can be directly upgraded based on the Espressif OTA server.
For how to modify those parameters, please refer to at.py Tool.
No need to recompile the firmware.
The firmware is stable and reliable.
Cons: Requiring modification to released firmware, long update cycle, and a limited number of supported modules.
When you need to conduct secondary development, you can compile the firmware by yourself. To support the OTA function, you need to deploy your own OTA server.
For how to compile the firmware by yourself, please refer to Compile ESP-AT Project Locally.
Pros: You can control functions and cycles.
Cons: You need to set up the compilation environment.