
Espressif only provide the AT-command firmware and documentation, and leaves the users to develop the library to handle the parsing of AT-command acknowledgements. This problem can be solved with a well-written library, however, Ai-Thinker is a hardware company, it probably expecting that Espressif – the maker of ESP8266EX will take care the software. To extend the AT Commands for handling today’s internet protocols such as TCP, UDP, HTTP and even SSL is just seems to be far stretching. It is painful dealing with AT Command set because it was designed for human-computer interface in the early 80′, where user type in various AT commands on the terminal console, the computer echos a human readable string on the screen, the return data from your AT commands are not well structured and has various length, sometime you received “Send Ok”, sometime it is just “Ok”, if you asked for IP address, it comes back with a string like “+CIPAP_DEF: 192.168.0.100”, as the results, the host has to write a lot of codes to parse different message structures for various situations. I started my project by trying to communicate with ESP-01 using AT Commands with an STM32 Blue Pill as my host. Even the nRF24L01 module (from Nordic Semiconductor) which has the same form factor and number of pinouts as ESP-01 utilised SPI interface.
#Software serial esp8266 at commands serial#
Although SPI is a serial interface itself, however, it allows very high speed data exchange simultaneously. Use ESP-01 as a WiFi shieldīy default ESP-01 shipped with the firmware that accept AT-Command via a low-speed serial interface, this is quite different from other WiFi SoC’s approach, such as uBlox or TI SoC, where SPI is used for interfacing between the host and the WiFi module, allow tighter integration with the host.

When you using an ESP8266 as an Arduino, you flash the ESP-01 with Arduino sketch, which overrides the AT-Command firmware and upload it with Arduino core firmware, and allow the ESP-01 to be like a stand-alone Arduino. When using it as a WiFi shield, you communicate with it using AT-command, and by default the ESP-01 shipped with At-command firmware.


Over the past a couple of months, out of necessity for one of my project, I was forced to spent some time to figure out a better way to use ESP-01 as a WiFi shield. I like the low price of ESP-01, but I don’t quite like to use it in my project because its design always make me feel like that I’m dealing with an unfinished product.
