Magic Home Flasher is an Android application designed to flash LED controllers over Wi-Fi OTA. It started as a BL602 Magic Home flasher for installing OpenBeken, and now also covers more vendor firmware variants, including Zengge/ZJ and CozyLife devices, by supporting multiple OTA trigger methods.
Recent versions also include experimental restore flows: upgrading an existing OpenBeken installation, replacing OpenBeken with selected vendor firmware images, and initial OTA support for CozyLife devices based on LN882H.
- Simple Device Updating: Select and flash devices with new firmware directly over the air. No soldering required.
- Broader Device Support: Supports the classic Magic Home/Zengge UDP AT command OTA path and an additional CozyLife TCP/5555 OTA trigger.
- Standard and Small Firmware Images: Includes a full OpenBeken image and a smaller minimal image for devices that report only 1MB flash.
- OpenBeken OTA Upgrade and Restore: Can trigger OTA from devices already running OpenBeken, either to upgrade OpenBeken or to restore selected vendor firmware images.
- Experimental Vendor OTA Catalog: Can download selected BL602 vendor OTA files generated from public flash dumps, including images based on the FlashDumps IoT/BL602 collection.
- Experimental LN882H Support: Includes an early OTA path for CozyLife/LN882H devices.
- Open Source: Leverage and contribute to the open-source community.
These instructions will guide you through the setup and operation of Magic Home Flasher.
- An Android device running Android 29 or higher.
- A BL602-based device in pairing/AP mode, for example Magic Home, Zengge/ZJ, or CozyLife.
- Download the latest release of Magic Home Flasher from the Releases section on GitHub.
- Install the APK on your Android device. You may need to enable installation from unknown sources in your device settings.
- Open the Magic Home Flasher app.
- Tap Scan for WiFi devices to discover nearby device access points.
- Select the network corresponding to the device you want to flash. Magic Home/Zengge devices commonly use names like
LEDnetXXXXXX; CozyLife devices commonly use names likeCozyLife_XXXX; OpenBeken access points commonly use names likeOpenBLXXXXXX. - After connection, review the detected device details and the suggested flash plan.
- Choose the OTA trigger method if the default is not correct:
- AT commands over UDP for Magic Home and Zengge/ZJ firmware.
- CozyLife TCP/5555 for CozyLife firmware.
- OpenBeken REST upload for devices already running OpenBeken.
- Choose the firmware image:
- Standard OpenBeken for normal flash sizes.
- Small OpenBeken (1MB-safe) for devices that report a 1MB flash. CozyLife devices often fall into this category, and the full OpenBeken image may not fit.
- Vendor restore for experimental flashing of selected vendor OTA images onto devices currently running OpenBeken.
- Optionally preconfigure the target Wi-Fi SSID, password, and OpenBeken hostname before flashing.
- Start flashing. The app patches the firmware, builds an OTA image, serves it from the phone, and triggers the device to download it.
- After the upload finishes, wait 15-30 seconds for the device to reboot and join the configured network. If it does not appear, power-cycle it manually.
The firmware used by Magic Home Flasher is provided by the OpenBK7231T_App project. You can find more information and contribute to the firmware development at OpenBeken_App GitHub Repository.
The app currently bundles two BL602 OTA payload variants:
- Standard OpenBeken: the normal full-featured build.
- Small OpenBeken: a minimal build intended for devices with only 1MB flash, especially CozyLife devices where the standard image may be too large.
Both variants are patched before flashing so Wi-Fi configuration can be injected and the BL602 OTA header contains the fields required by newer Zengge/ZJ firmware.
Magic Home Flasher can also flash selected vendor OTA images onto devices that are already running OpenBeken. This is useful when testing recovery paths or returning a device to a vendor firmware family without opening the device.
The app can use:
- OTA files downloaded from the experimental vendor catalog.
- Local OTA files selected from Android storage.
- BL602 OTA files generated from public flash dumps, for example dumps from the FlashDumps IoT/BL602 collection.
This flow is experimental. Vendor images are device-specific, so choose a matching image for the original hardware, flash size, and firmware family. A successful upload does not guarantee that a mismatched vendor image will boot correctly.
Some CozyLife devices use LN882H instead of BL602. The app includes an early TCP/5555 OTA path for this family and can flash an LN882H OpenBeken OTA image. This support is still experimental and depends on the exact vendor firmware behavior.
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Thanks to the OpenBK7231T_App project for providing the firmware.
- Community contributions that help improve this tool.
For support, open an issue in the GitHub repository.
Warning
Flashing non-original firmware on your device carries inherent risks. By proceeding with the installation of any non-original firmware, you acknowledge and accept that such actions may potentially brick or permanently damage your device. Please be aware that installing firmware that has not been officially released or endorsed by the manufacturer voids any warranties and releases the manufacturer from any liabilities related to device performance or failure.
Proceed at your own risk. It is highly recommended that you thoroughly review the firmware documentation and understand the flashing process before attempting any modifications. The authors of this tool or firmware are not responsible for any damages or losses that may occur from the use of this software.
For more information on how to use Magic Home Flasher, please refer to the wiki or contact support.

