What FW is pre-programmed in ESP32-S2-MINI ?

uTasker
Posts: 19
Joined: Mon Mar 15, 2021 10:15 pm

What FW is pre-programmed in ESP32-S2-MINI ?

Postby uTasker » Wed Mar 30, 2022 6:52 am

Hi All

I have just received my first ESP32-S2-MINI and so I connected it up and applied power and set the EN line to '1'. The ESP32 sent out the following at 115'200 Baud on its TxD line:

Code: Select all

#ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3ffe8100,len:0x4
load:0x3ffe8104,len:0x1988
load:0x40050000,len:0x1894
load:0x40054000,len:0x210c
entry 0x40050314
I (46) boot: ESP-IDF v4.2-dev-2044-gdd3c032 2nd stage bootloader
I (46) boot: compile time 05:00:41
I (46) boot: chip revision: 0
I (49) qio_mode: Enabling default flash chip QIO
I (54) boot.esp32s2: SPI Speed      : 80MHz
I (59) boot.esp32s2: SPI Mode       : QIO
I (64) boot.esp32s2: SPI Flash Size : 4MB
I (68) boot: Enabling RNG early entropy source...
I (74) boot: Partition Table:
I (77) boot: ## Label            Usage          Type ST Offset   Length
I (85) boot:  0 phy_init         RF data          01 01 0000f000 00001000
I (92) boot:  1 otadata          OTA data         01 00 00010000 00002000
I (100) boot:  2 nvs              WiFi data        01 02 00012000 0000e000
I (107) boot:  3 at_customize     unknown          40 00 00020000 000e0000
I (115) boot:  4 ota_0            OTA app          00 10 00100000 00180000
I (122) boot:  5 ota_1            OTA app          00 11 00280000 00180000
I (130) boot: End of partition table
I (134) esp_image: segment 0: paddr=0x00100020 vaddr=0x3f000020 size=0x21338 (135992) map
I (168) esp_image: segment 1: paddr=0x00121360 vaddr=0x3ffc9360 size=0x0310c ( 12556) load
I (171) esp_image: segment 2: paddr=0x00124474 vaddr=0x40024000 size=0x00404 (  1028) load
I (175) esp_image: segment 3: paddr=0x00124880 vaddr=0x40024404 size=0x0b798 ( 47000) load
I (194) esp_image: segment 4: paddr=0x00130020 vaddr=0x40080020 size=0xae3e4 (713700) map
I (324) esp_image: segment 5: paddr=0x001de40c vaddr=0x4002fb9c size=0x097bc ( 38844) load
I (333) esp_image: segment 6: paddr=0x001e7bd0 vaddr=0x40070000 size=0x0001c (    28) load
I (345) boot: Loaded app from partition at offset 0x100000
I (345) boot: Disabling RNG early entropy source...
2.1.0
max tx power=78,ret=0
and for comparison, when I held IO0 at '0' during the process it gave the following output instead:

Code: Select all

#ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x1 (POWERON),boot:0x0 (DOWNLOAD(USB/UART0/1/SPI))
waiting for download
Therefore it seems to be operating well.

My question is however about the firmware that is pre-loaded: ESP-IDF v4.2-dev-2044-gdd3c032

Doing a search I found a post where this version was displayed in response to an AT command:

AT+GMR
AT version:2.1.0.0(0b76313 - ESP32S2 - Aug 20 2020 05:57:43)
SDK version:v4.2-dev-2044-gdd3c032
compile time(b5e1674):Aug 21 2020 04:59:57
Bin version:2.1.0(WROOM)


This gives the impression that this pre-programmed FW supports AT commands on the UART but when I send AT commands there is never a response. Does this mean that the pre-programmed FW doesn't include AT command mode, or is there something special needed for it to respond? (I have tried sending AT commands terminated with line feed and carriage returns, with no response).
Is the post that I found misleading whereby the SDK version is not the FW version?
Could it also be that the AT mode is not on the UART that I am presently connected to? If so, which pins would be used instead?

My goal is to use the AT command mode (I could do that with an ESP32-S2-ROOM development board quite some time ago but don't remember whether I had to build and program it beforehand) in the ESP32-S2-MINI. Does it mean that I can't use the device as delivered and if I need to first program a FW with this support where is it possible to find a binary image of it?

Many thanks in advance - presently I am trying to work out the details (again) after a long break from using these parts.

Regards

Mark

Franco
Posts: 104
Joined: Thu Dec 10, 2015 1:11 pm

Re: What FW is pre-programmed in ESP32-S2-MINI ?

Postby Franco » Wed Mar 30, 2022 6:11 pm

Hi Mark,
The ESP32-S2-MINI-1 is listed on the PCN announcing that some modules families would be shipped without the default AT firmware flashed. You can download the bin from the website here:
https://www.espressif.com/en/support/download/at

You can check the PCN on the website as well, in the Support section, it's the 4th from the top of the list.

https://www.espressif.com/en/support/documents/pcns

Hope this helps.
Ciao.
Franco

uTasker
Posts: 19
Joined: Mon Mar 15, 2021 10:15 pm

Re: What FW is pre-programmed in ESP32-S2-MINI ?

Postby uTasker » Thu Mar 31, 2022 5:20 pm

Hi Franco

Many thanks for the information. I have taken a copy of the AT binary file as reference but I believe that my device was delivered with it programmed.
Slowly things are falling into place:
1. I was connected to the UART interface that is used form programming and so I needed to change to the UART used for the AT application.
I found a list of pins used at https://github.com/espressif/esp-at/blo ... m_data.csv
where it states "Tx on pin 17 and Rx on pin 21"
With some experimenting I found that the pin reference is not a pin on the MINI but instead the IO number (in fact physical pins 21 (IO17 TxD) and 25 (IO21 RxD))

2. The other thing that I found is that after removing the original UART connections the device didn't start any more.
To solve this I found that I needed to put a pull-up resistor on the RXD0 line - with that the "READY" was sent every time after about 0.55s after the EN signal is set to '1'.
Without this (RXD floating) it wouldn't be received or only after a few seconds - I found that if I touched the line it would then start and after adding the pull-up to ensure it is held at '1' it proved be work correctly.

3. When I now send the AT+GMR command I get a response:

AT+GMR
AT version:2.1.0.0(0b76313 - ESP32S2 - Aug 20 2020 05:57:43)
SDK version:v4.2-dev-2044-gdd3c032
compile time(b5e1674):Aug 21 2020 05:00:52
Bin version:2.1.0(MINI)

OK


Which matches with the information on the programming interface.

Therefore I have changed my HW so that I have two UART connections - one in case I do need to program new devices (with IO0 boot connection to force this mode) and the other for the AT command interface.

The next step is to start using the module for an application via its standard AT command interface.

Regards

Mark

Who is online

Users browsing this forum: Baidu [Spider] and 104 guests