Restoring Original Firmware to Growatt Shine WiFi X Stick
This guide outlines the steps to reinstall the original firmware onto your Growatt Shine WiFi X stick. Follow these instructions carefully.
Prerequisites:
- You have the
original_firmware.bin
file for your specific Growatt Shine WiFi X model. - Python 3 is installed on your system.
Steps:
-
Create a Python Virtual Environment (Recommended): This creates an isolated environment for Python packages, preventing conflicts with other projects.
python3 -m venv venv
Note: After creating the venv, activate it. On Linux/macOS:
source venv/bin/activate
. On Windows:venv\Scripts\activate
. -
Upgrade Standard Python Tools: Ensure you have the latest versions of pip, setuptools, and wheel within your virtual environment.
pip install --upgrade pip setuptools wheel
-
Install ESPTool: This utility is required to communicate with and flash firmware to the ESP chip on the Shine WiFi X stick.
pip install esptool
-
Prepare the Stick for Flashing Mode (CRITICAL): WARNING: Incorrectly shorting pins can potentially damage your device. Proceed with caution and ensure you identify the correct pins. To enable firmware flashing, the ESP8266 chip needs to be put into bootloader mode.
- Carefully identify the GPIO0 pin and a GRND (Ground) pin on the Shine WiFi X stick's PCB.
- Momentarily short (bridge) the GPIO0 pin to the GRND pin using a jumper wire or a small piece of conductive material.
- While these pins are shorted, connect the Shine WiFi X stick to your computer via a USB port.
- Once the stick is connected to the computer, you can remove the short between GPIO0 and GRND. The device should now be in bootloader mode.
-
Write the Original Firmware to the Stick: This command flashes the
original_firmware.bin
file to the device.- Ensure
original_firmware.bin
is located in the same directory where you are running this command, or provide the full path to the file. - Replace
/dev/ttyUSB0
with the correct serial port for your device if it's different (e.g.,COM3
on Windows, or another/dev/ttyUSBx
or/dev/ttyACMx
on Linux/macOS).
esptool.py --port /dev/ttyUSB0 --chip auto write_flash --flash_mode dio --flash_size detect 0x0 original_firmware.bin
- Ensure
-
Example Log of a Successful Flash: The following is an example of the output you should expect if the flashing process is successful. Versions and some details might vary slightly.
esptool.py v4.8.1 Serial port /dev/ttyUSB0 Connecting... Detecting chip type... Unsupported detection protocol, switching and trying again... Connecting... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: b4:xx:xx:xx:xx:xx Stub is already running. No upload is necessary. Configuring flash size... Auto-detected Flash size: 4MB Flash will be erased from 0x00000000 to 0x003fffff... Flash params set to 0x0240 Compressed 4194304 bytes to 309728... Wrote 4194304 bytes (309728 compressed) at 0x00000000 in 41.6 seconds (effective 805.8 kbit/s)... Hash of data verified.
After Flashing: Once the firmware has been successfully written and verified, disconnect the Shine WiFi X stick from your computer and reconnect it to your Growatt inverter. It should now boot with the original firmware.