logo elektroda
logo elektroda
X
logo elektroda
Dostępna jest polska wersja

Czy wolisz polską wersję strony elektroda?

Nie, dziękuję Przekieruj mnie tam

Multiplatform BK7231 BK7238 Beken Flash Tool - Web, Android, Windows - First Prototype

p.kaczmarek2  29 1632 Cool? (+10)
📢 Listen (AI):

TL;DR

  • EasyGUIFlashTool is an early multiplatform IoT flasher for Beken BK7231/BK7238 chips, with shared Web, Android, and Windows workflows.
  • The web build uses Web Serial and WebUSB, runs on GitHub Pages or locally, and lets users choose firmware, set flashing parameters, and watch progress.
  • The tool has tested communication speeds up to 1,500,000 baud and includes a built-in firmware downloader plus command-line working mode.
  • The web version may fail to auto-reset devices because DTR/RTS pins do not always work in Chrome, so localhost deployment is recommended.
Generated by the language model.
Smartphone running EasyGUI Flash Tool connected by USB cable to a breadboard-mounted board
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.
Screenshot of EasyGUI Flash Tool with 100% progress bar and a log showing firmware read operation.
Screenshot of EasyGUI Flash Tool showing flashing progress bar and operation log
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
Close-up of a blue USB cable with a USB-A plug and a small USB-C plug held in a hand.
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.
Smartphone showing EasyGUI Flash Tool next to a breadboard with a module and USB cable
Smartphone with EasyGUI Flash Tool next to a breadboard with a microcontroller, jumper wires, and USB cables
Smartphone running EasyGUI Flash Tool connected via USB to a breadboard with an electronics module.


Windows Presentation
The Windows version runs as stand-alone application, it supports also a command line mode, same as main flasher.
Screenshot of EasyGUI Flash Tool showing BK7238 connected and flash read progress bar.
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!

About Author
p.kaczmarek2
p.kaczmarek2 wrote 14261 posts with rating 12158 , helped 647 times. Been with us since 2014 year.

Comments

divadiow 19 Feb 2026 10:12

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]

p.kaczmarek2 19 Feb 2026 10:48

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]

insmod 19 Feb 2026 12:31

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]

p.kaczmarek2 19 Feb 2026 12:51

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]

insmod 19 Feb 2026 13:18

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]

p.kaczmarek2 19 Feb 2026 14:40

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]

insmod 19 Feb 2026 14:46

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]

max4elektroda 19 Feb 2026 16:59

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]

p.kaczmarek2 19 Feb 2026 17:42

@max4elektroda fixed, downgraded to older ubuntu @insmod fixed combobox strangeness I have BL602 at hand, so BL602 port attempt next. [Read more]

defaliz 19 Feb 2026 19:24

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]

p.kaczmarek2 19 Feb 2026 22:02

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]

divadiow 19 Feb 2026 22:19

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]

p.kaczmarek2 20 Feb 2026 09:16

Thx. I added BK7231T and read and save fixes. [Read more]

defaliz 20 Feb 2026 11:02

Hello, i've a cp2104 usb to uart TTL https://obrazki.elektroda.pl/8292716900_1771581729_thumb.jpg [Read more]

p.kaczmarek2 20 Feb 2026 11:09

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]

defaliz 20 Feb 2026 19:36

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]

p.kaczmarek2 20 Feb 2026 20:53

Interesting, are you saying that Web Tool fails for you while in the same scenario C# Windows flasher works? [Read more]

defaliz 20 Feb 2026 21:01

Exactly, flasher exe on windows works fine Web tool on chrome browser give always the same error "Failed to set baud rate!" [Read more]

p.kaczmarek2 20 Feb 2026 21:50

Interesting, what about new flasher on windows? New flasher also has exe for Windows to run. [Read more]

FAQ

TL;DR: Early prototype EasyGUIFlashTool flashes Beken BK723x across Web, Android, and Windows, tested to 1,500,000 baud; “the same workflow and GUI concept are shared between builds.” [Elektroda, p.kaczmarek2, post #21842603]

Why it matters: It gives makers and field technicians one consistent, no-vendor flasher for recovery and updates across devices and platforms.

Quick Facts

What is EasyGUIFlashTool and who is it for?

EasyGUIFlashTool is a cross‑platform IoT flasher with one workflow across Web, Android, and Windows. It targets makers, repair techs, and developers who need simple, vendor‑agnostic flashing and recovery for Beken‑based devices. It is an early prototype focused on validating the UI and core back end. The tool emphasizes minimal setup, built‑in firmware download, and clear progress feedback. The author invites testing and feedback to guide next steps and chip support. [Elektroda, p.kaczmarek2, post #21842603]

Which chips does this prototype support today?

The current build supports Beken chips, including the BK723x family highlighted in the thread title. The author states the flashing back end supports only Beken for now. With enough positive feedback, additional chips will follow. This staged approach keeps the tool stable while expanding hardware coverage. “More is to come soon.” [Elektroda, p.kaczmarek2, post #21842603]

How do I flash a BK7231/BK7238 from my browser?

  1. Open the Web build using a browser that supports Web Serial/WebUSB.
  2. Connect your target device, select firmware, and set flashing parameters.
  3. Start flashing and monitor progress in the UI. If auto reset via DTR/RTS fails in Chrome, run the flasher locally for best results. The web app requires no backend and works from GitHub Pages or local hosting. [Elektroda, p.kaczmarek2, post #21842603]

What cables or adapters do I need on Android?

Use either a USB‑C to USB‑C cable or a USB OTG adapter, depending on your phone and target device. The Android app mirrors the web logic but adapts controls for mobile. It performs all operations locally, so you do not need root or cloud access. This setup is ideal for field recovery and on‑site flashing without a laptop. [Elektroda, p.kaczmarek2, post #21842603]

Does the Android app require root or an internet connection?

No. The Android version does not require root, and all flashing operations happen locally on the device. This supports secure, offline workflows during field service or lab use. You only need the APK, the firmware files, and the correct cable or OTG adapter. The UI matches the desktop and web concepts for quick ramp‑up. [Elektroda, p.kaczmarek2, post #21842603]

Is there a command‑line mode for automation?

Yes. The Windows version supports a command‑line mode, matching the main flasher’s behavior. This helps integrate flashing into scripts or CI steps. It complements the GUI for batch operations or recovery pipelines. As this is a prototype, treat it as a test bed while the mature Windows flasher remains primary. [Elektroda, p.kaczmarek2, post #21842603]

What baud rates does EasyGUIFlashTool handle?

Communication has been tested up to 1,500,000 baud on supported devices. That headroom speeds up flashing and reduces field time. Actual stable rates depend on your adapter, wiring, and device state. Always verify integrity after flashing when pushing high data rates. Fast is good, but reliability is critical in production. [Elektroda, p.kaczmarek2, post #21842603]

Where can I download the binaries and source?

Grab Android APKs and Windows EXEs from the GitHub Releases tab. The source code is on the same repository for audits and contributions. A hosted Web version is available, and you can run it locally without a backend. Linux and macOS builds are planned, subject to feasibility. [Elektroda, p.kaczmarek2, post #21842603]

What’s the known edge case with the Web flasher?

Auto reset using DTR/RTS can fail in some cases due to a Chrome limitation. The author recommends running the flasher locally on localhost for best behavior. If you see inconsistent resets, reconnect and retry after switching to local hosting. This is a prototype caveat, and improvements are expected. [Elektroda, p.kaczmarek2, post #21842603]

Is the Windows build production‑ready?

Use the Windows build for testing today. For production work on Windows, the author points to the mature BK7231GUIFlashTool. The EasyGUIFlashTool Windows app mirrors the cross‑platform UI and supports CLI, but it remains in early stages. Keep critical workflows on the stable Windows flasher for now. [Elektroda, p.kaczmarek2, post #21842603]

Does the tool include a firmware downloader?

Yes. The prototype includes a built‑in firmware downloader to reduce setup friction. This speeds first‑time flashing and helps during device recovery. You still control which file to flash and the parameters. The unified UI keeps the process consistent across platforms. [Elektroda, p.kaczmarek2, post #21842603]

What do Web Serial and WebUSB mean here?

They are modern browser APIs that let the web app talk to connected devices over serial and USB. The tool uses them to list ports, open connections, and stream flashing data within the browser. This removes native drivers and backend servers from the flow. Use a compatible Chromium‑based browser for best results. [Elektroda, p.kaczmarek2, post #21842603]

What are DTR and RTS in this context?

DTR and RTS are control lines often used to trigger automatic reset or boot modes on target MCUs. The web app toggles them to streamline entry into flashing mode. A Chrome limitation can interfere with this automation. Running on localhost improves reliability during the reset sequence. [Elektroda, p.kaczmarek2, post #21842603]

Can I use this tool entirely offline?

Yes. Android performs all operations locally, and the web app can run from a local host without backend services. Windows also runs standalone and supports CLI. Download binaries and firmware ahead of time to keep air‑gapped workflows. This suits lab, factory, and field environments. [Elektroda, p.kaczmarek2, post #21842603]

Will more chips and OS builds be added?

The author plans to port more chips with sufficient positive feedback. Linux and macOS builds are expected if feasible. Today’s focus is Beken with a basic UI, validating cross‑platform feasibility. “With enough positive feedback, more chips will be ported soon.” [Elektroda, p.kaczmarek2, post #21842603]
Generated by the language model.
%}