The Grove - UART WiFi is a UART transceiver module from Seed Studio featuring the ubiquitous ESP8266 IoT SoC. With integrated TCP/IP protocol stack, this module lets your micro-controller interact with WiFi networks with a dedicated set of AT commands.
Unfortunately, these modules come from Seed Studio with a quite outdated version of the ESP-AT command set. The module I bought through Digikey was delivered with the ESP-AT 1.6 release, that lacks of several interesting features available in the more recent versions.
Moreover, the instructions and binary files available in the Seed Studio documentation are completely broken, for two reasons:
- First the instructions refer to the first version of the Grove - UART WiFi, which was based on the ESP8266 SoC, and not the ESP8285. While the two SoC can be considered almost the same in terms of features, MCU core, peripherals, etc., they differ for one relevant thing: the ESP8285 integrates a 1MB SPI flash memory (instead of being "stateless" like the original ESP8266), with a different SPI mode (DOUT instead of QIO).
- Second, the binary images provided refer to an early "stage" of the ESP-AT framework (release 0.24), and it's not the version shipped with the module.
The latest release of the ESP-AT command set for the ESP8266 is the 2.2.1.0. This is not the latest release ever, but it's the latest release that supports the ESP8266 SoC. I could not find any binary file already ready for the Grove - UART WiFi module, and so I decided to setup the whole toolchain to compile the ESP-AT. But - trust me - this was not a trivial task, and this took me two days to get rid of the whole process. And this for a very simple reason: the ESP8266 is no longer the most relevant SoC in the Espressif product lineup, and the whole ESP8266-RTOS-SDK is quite outdated and it lacks of some relevant tools (cmake, for example) that are no longer available in the MSYS2 repositories. For this reason, I won't detail here the whole procedure to setup the toolchain.
To update the Grove - UART WiFi V2 module to the ESP-AT 2.2.1 release you need to download:
- The pre-built binary images.
- A recent release of the Flash Download Tools (here I assume the v3.9.3).
Moreover, as described in the original Seed Studio documentation, you need a USB-Serial adapter:
Once you are ready with the hardware setup, unzip the Flash Download Tool and launch the flash_download_tool_3.9.3.exe
file. In the DOWNLOAD TOOL MODE dialog select the ESP8285 chip, as shown below.
In the next window, ensure to load all the binary images in the exact order as shown below:
The complete list of binary files to load and the corresponding flash address is reported in the table below:
BINARY IMAGE | FLASH ADDRESS |
---|---|
bootloader.bin | 0x0000 |
partition-table.bin | 0x8000 |
ota_data_initial.bin | 0x9000 |
esp-at.bin | 0x20000 |
at_customize.bin | 0x18000 |
client_ca.bin | 0x1c000 |
mqtt_key.bin | 0x1e000 |
mqtt_cert.bin | 0x1d000 |
mqtt_ca.bin | 0x1f000 |
factory_param.bin | 0x19000 |
client_cert.bin | 0x1a000 |
client_key.bin | 0x1b000 |
Once all files are configured, select the COM port corresponding to the USB-Serial converter and select the baudrate (higher baudrates require a well done connection). Click on the START button and wait for the process completion.
Enjoy your updated Grove-UART WiFi.
4 comments