Page 1 of 1

Standard "AT mode" firmware?

Posted: Tue May 02, 2017 10:06 pm
by vandys
What's the easiest way to lay hands on the "classic" AT mode firmware? It seems like some boards come with it as their default
operation, but the ezsbc version appears to just come with a light blink.

Thanks in advance,
Andy

Re: Standard "AT mode" firmware?

Posted: Wed May 03, 2017 11:21 am
by Daniel
The ESP32 module does not ship with the AT command interpreter from the factory. It seems to just report the free memory and status when it boots up. In fact, till fairly recently their wasn't an AT interpreter available. The official version can be found here: https://github.com/espressif/esp32-at but it is source code. I found this http://iot-bits.com/esp32/esp32-flash-d ... -tutorial/ helpful in downloading firmware to the module, specially if you want to restore the factory code.

I'm not sure if the factory programs anything into the flash on the Wroom-32 module. It seems that the factory is not sure if the program anything into the flash memory . :D See this post github.com/espressif/esp-idf/issues/39 I love the chaos of engineering.

I would appreciate it if you can post a binary somewhere and put a link to it if you manage to get a working AT command interpreter going.

Edit:
Some further searching online found some posts that have links to a binary on the Espressif site but none of the links work.

Re: Standard "AT mode" firmware?

Posted: Wed May 03, 2017 11:29 am
by vandys
I got it built from that github source; you *have* to use their copy of the devtool environment. If you use the latest, Wifi init fails.

With that, it's definitely working, but I can't talk AT to it yet--I suspect it's listening to the wrong UART pins. But I do see the
"soft AP" and can even associate with it, with log messages coming out on the console.

Andy

Re: Standard "AT mode" firmware?

Posted: Wed May 03, 2017 1:07 pm
by vandys
Ok, I've got it all working. Your console comes out the built-in USB UART, but the AT commands go to a UART on pins IO16 (hook to your extern USB-RS232 TX) and
IO17 (your external RX). 115200, and you have to enter each command with \r\n (enter, then control-J) to make it accept the command.

I flashed with:
esptool.py --chip esp32 --port "/dev/ttyUSB0" --baud 115200 --before "default_reset" --after "hard_reset" write_flash -z --flash_mode "dio" --flash_freq "40m" --flash_size detect 0x1000 bootloader.bin 0xf000 phy_init_data.bin 0x10000 esp-at.bin 0x8000 partitions_at.bin

I've pulled my compilation of these files and put it at (hmmm, let's see if the bboard will let me show a URL):
http://vatclip.net/vandys/esp32at.zip

I'd include the source, but it's unchanged from https://github.com/espressif/esp32-at

Enjoy!
Andy