Does that "AT" system support D32 model or is it unsupported legacy now ?
according to manual [ESP32-AT][v2.4.0.0]User-Guide.pdf:
ESP32 AT uses two UART ports: UART0 is used to download firmware and log output; UART1 is used to send
AT commands and receive AT responses. Both UART0 and UART1 use 115200 baud rate for communication by
default.
All ESP32 modules use GPIO1 and GPIO3 as UART0, but they use different GPIOs as UART1. The following
sections illustrate which GPIOs you should connect for each ESP32 series of modules.
update :
the example esp-idf example\blink I could build, flash and it works and also the actual esp-at (which contains it's own esp-idf incidentally)
since (as mentioned) it defaults to uart1 :
"I (1094) at-uart: AT cmd port:uart1 tx:17 rx:16 cts:15 rts:14 baudrate:115200"
which would be ok (for that particular cleaning robot), in case I wanted to set the cmd port to uart 0, in order to try out commands interactively from the usb port, what should I change ? from make menuconfig of esp-at from
https://github.com/espressif/esp-at : Platform name:ESP32 Module name:WROOM-32
that I can't seem to find the option :
Component config > AT > AT uart settings
Component config > ESP system settings > uart is uart0
from these instructions :
https://docs.espressif.com/projects/esp ... t_pin.html
I changed \esp-at\components\customized_partitions\raw_data\factory_param\factory_param_data.csv
to have the cmd uart as 0 :
PLATFORM_ESP32,WROOM-32,"4MB, Wi-Fi + BLE, OTA, TX:17 RX:16",4,78,0,1,13,CN,115200,1,3,15,14,1
there appears what would appear to be an interactive prompt "ready" with same tx 1 rx 3 pins of cmd uart0 as log uart
"I (1074) at-uart: AT cmd port:uart0 tx:1 rx:3 cts:15 rts:14 baudrate:115200"
but it doesn't seem to be interactive, typing in "AT" it didn't respond neither with putty or the esp-idf monitor idf.py -p COM3 monitor
I got it to work using arduino ide, selecting esp32 wroom board, 115200 baud, and most crucial it seems NL & CR (both) :
AT+GMR
AT version:4.2.0.0-dev(b0fe7e5 - ESP32 - Aug 22 2025 09:44:03)
SDK version:v5.4.1-643-g8ad0d3d8f2-dirty
compile time(529d9d08):Aug 30 2025 02:00:45
Bin version:v4.2.0.0-dev(WROOM-32)
OK
update :
I managed to read the flash memory from the original ESP32 module (by activating boot mode), it turned out to be a custom mongoose os app, on uart 2, not the ESP-AT let's say default, in case anyone else a similar situation, my particular module from aliexpress allowed me to change the wifi MAC which is one shot I think, in order to clone the device :
C:\Espressif>python C:\Espressif\frameworks\esp-idf-v5.5\components\esptool_py\esptool\espefuse.py --port COM3 burn_custom_mac 40:F5:20:70:6F:24
espefuse.py v4.10.dev2
Connecting....
Detecting chip type... ESP32
=== Run "burn_custom_mac" command ===
- 'MAC_VERSION' (Version of the MAC field) 0x00 -> 0x1
- 'CUSTOM_MAC' (Custom MAC address) 0x000000000000 -> 0x246f7020f540
- 'CUSTOM_MAC_CRC' (CRC8 for custom MAC address) 0x00 -> 0x9e
Check all blocks for burn...
idx, BLOCK_NAME, Conclusion
[03] BLOCK3 is empty, will burn the new value
.
This is an irreversible operation!
Type 'BURN' (all capitals) to continue.
BURN
BURN BLOCK3 - OK (write block == read block)
Reading updated efuses...
Custom MAC Address version 1: 40:f5:20:70:6f:24 (CRC 0x9e OK)
Successful