Here I will present a multiplatform IoT flashing solution – an early prototype of
EasyGUIFlashTool. The goal of this project is to provide a simple, consistent, and user-friendly flashing experience across multiple platforms, without the need for vendor-specific tools or complex setup procedures. The same workflow and GUI concept are shared between Web, Android, and Windows builds. The current version of the tool is able to flash Beken chips and has built-in firmware downloader and command line working mode.
Previous version
For generic information, see previous (Windows) project repository:
https://github.com/openshwprojects/BK7231GUIFlashTool
Web Presentation (GitHub Pages & Locally Deployed)
The
web version is based on modern browser APIs (Web Serial / WebUSB) and can be hosted either on GitHub Pages or run locally without any backend services.
It allows selecting firmware files, configuring flashing parameters, and monitoring flashing progress directly from the browser.
Tested communication speed up to
1 500 000 baud on supported devices.
There is a single
known issue with web version - DTR/RTS pins used for automatic RESET may not work in some cases, it seems to be caused by Chrome limitation. For best experience, run the flasher locally, on localhost.
Android Presentation
The Android version is intended mainly for field work and quick device recovery.
It requires connecting the target device using either:
- USB-C to USB-C cable, or
- USB OTG adapter
The application provides the same flashing logic as the web version, adapted to mobile UI constraints, and does not require root access.
All flashing operations are performed locally on the device.
Windows Presentation
The Windows version runs as stand-alone application, it supports also a command line mode, same as main flasher.
Still, currently it should be used only for testing, because on Windows we have a main mature version of our flasher:
https://github.com/openshwprojects/BK7231GUIFlashTool
How to get binaries
Get Android .apk and Windows .exe (and soon probably Linux and Mac builds, if possible) here, in releases tab:
https://github.com/openshwprojects/EasyGUIFlashTool/releases
Source code:
https://github.com/openshwprojects/EasyGUIFlashTool
Online Web version:
https://openshwprojects.github.io/EasyGUIFlashTool/
Summary
This is an early prototype intended to validate the core idea and cross-platform feasibility.
The UI provides only basic functionality, flashing backend supports only Beken, more is to come soon.
Please check how good it works for you and let me know!
With enough positive feedback, more chips will be ported soon!
Comments
this is exciting. I spent 5 mins on a quick Ubuntu test last night but BK7231N kept failing CRC after write. I see some newer builds have appeared since my attempt though, so will check again htt... [Read more]
I tested only BK7238 so it's possible that we have logical error on BK7231N, if CRC check fails. You'd need to compare with old flasher. [Read more]
BK7231T [14:28:30] Firmware selected: (none) [14:28:53] Port opened at 1500000 baud. [14:28:57] === Thursday, February 19, 2026 === [14:28:57]... [Read more]
Wow, 1500000 worked? Well, maybe indeed it's a promising tool! I had a hard time getting it to work stable. At first I was afraid, it's too unstable for any release. I didn't test on anything other... [Read more]
BK7238 on 1500000 baud without manual CEN reset started reading just fine, but halted at something like 0x1A0000. Stop didn't do anything, i've had to wait until it stopped by itself. Second try at 1500000... [Read more]
Not intended, and any hints like that are welcome, thanks. It's early prototype, I weren't sure about usability so I didn't focus on UI. Question: is autoreset working for you guys here: https://openshwprojects.github.io/EasyGUIFlashTool/ I... [Read more]
Autoreset worked for both 7238 at 921600/1500000 and N at 1500000. Didn't test for T, i manually reset it. 7238 - NiceMCU, N - T2 board. [Read more]
On Ubuntu 22.04 start fails due to missing glib symbol ~/Downloads/EasyGUIFlashTool-Linux/bundle$ ./easy_gui_flash_tool ./easy_gui_flash_tool: symbol lookup error: ./easy_gui_flash_tool: undefined... [Read more]
@max4elektroda fixed, downgraded to older ubuntu @insmod fixed combobox strangeness I have BL602 at hand, so BL602 port attempt next. [Read more]
Hi, i try testing tool online with chrome browser... some questions : 3,3 v from usb-UART is it sufficient for wifi board ? is this the only solution to put CEN on ground, ? because i read that we must... [Read more]
From which USB to UART board? Usually not, unless there is AMS1117-3.3V on your board. I've pushed experimental BL602 port, seems buggy, sometimes works, sometimes not. [Read more]
erase function on T tries from 0x0 https://obrazki.elektroda.pl/1420620500_1771535512_thumb.jpg T read OK @921600 https://obrazki.elektroda.pl/6272606200_1771535756_thumb.jpg backup and flash... [Read more]
Thx. I added BK7231T and read and save fixes. [Read more]
Hello, i've a cp2104 usb to uart TTL https://obrazki.elektroda.pl/8292716900_1771581729_thumb.jpg [Read more]
There is no AMS1117-3.3 on board, and I can't see any other LDO. This probably won't be enough. I mean, this requirement is general - it does not depend on used flash software. You just need a good... [Read more]
thanks a lot... i 'm going to try others tests... regards Added after 7 [hours] 51 [minutes]: evening, so i apply 3,3v to wifi board with a external voltage and know i can enter read process,... [Read more]
Interesting, are you saying that Web Tool fails for you while in the same scenario C# Windows flasher works? [Read more]
Exactly, flasher exe on windows works fine Web tool on chrome browser give always the same error "Failed to set baud rate!" [Read more]
Interesting, what about new flasher on windows? New flasher also has exe for Windows to run. [Read more]