Easy to use, GUI, BK7231T, BK7231N, RTL, etc flash tool and GPIO config extractor for beginners. Dedicated for Windows platform, but works on Linux with Mono. This tool can automatically download latest firmware (on user request) and then do a full BK backup and then write new flash cycle. This tool replaces old bkWriter 1.60 and hid_download_py.
429
stars
729
commits
C#
primary language
Aug 10, 2026
updated
BK7231 GUI Flash Tool is a simple Windows application that allows you to back up and flash OpenBK/OpenBeken and related Open* firmware projects to supported IoT chips without extensive programming knowledge. The tool originally focused on Beken BK7231T/BK7231N devices, but the current version supports a wider set of chip and platform modes.
Supported GUI-selectable chip/platform modes:
Furthermore, it can automatically create an original firmware backup before flashing, attempt Tuya GPIO/config extraction from backups, and read/write OBK configuration where the selected platform supports it.
Other built-in tools include:
❗ NOTE: The flash dump may contain your SSID and password if the device was paired at the time of the backup.
See also Russian guide for this tool and BK7231N.
See also the secondary example: WB3S flashing.
Per device flashing guides (NOTE: they may use obsolete flash tools, so always prefer to use the new tool from this repo):
See also our youtube channel and forum
It should be possible to compile and run this tool on Linux by using Mono. Mono is an open-source implementation of the .NET Framework which is also sponsored by Microsoft.
Once it's installed, you can compile this software by executing msbuild on the project directory. To execute the program, you can simply execute the following command:
mono BK7231Flasher/bin/debug/BK7231Flasher.exe
Alternatively, you can use prebuilt release binary.
No command line and no strange arguments required.
Download and unpack executable from Releases tab on the right
Prepare flashing circuit for BK72xx
Open our flasher:

firmwares directory
Close download window
Click "Backup and flash new"
When the log window is waiting for "Getting bus", do a device reboot/reset. You can do this in two ways, choose one:





CRC/key checks are chip-type dependent. If you get a CRC mismatch, you are most likely selecting a wrong chip type or trying to use firmware intended for another platform.

See this tutorial: https://www.elektroda.com/rtvforum/viewtopic.php?p=20733610#20733610
Firmware download will not work on systems without newer TLS version required by GitHub. You can always manually download release from here:
https://github.com/openshwprojects/OpenBK7231T_App
and put the matching file into the firmwares dir, then restart flasher.
This tool supports automatic reboot command, just like bkWriter 1.60, but you have to enable UART command line in OBK for it first:
With this option enabled, OBK will receive the "reboot" string sent by flasher on UART before any read/write operation is started and will automatically get bus.
You can also try changing the baudrate for flashing. Remember - sometimes higher baud rate might work better than lower one!
If you still need help, you can ask on our forums: https://www.elektroda.com/
C#
99.3%
Easy to use, GUI, BK7231T, BK7231N, RTL, etc flash tool and GPIO config extractor for beginners. Dedicated for Windows platform, but works on Linux with Mono. This tool can automatically download latest firmware (on user request) and then do a full BK backup and then write new flash cycle. This tool replaces old bkWriter 1.60 and hid_download_py.
429
stars
729
commits
C#
primary language
Aug 10, 2026
updated
BK7231 GUI Flash Tool is a simple Windows application that allows you to back up and flash OpenBK/OpenBeken and related Open* firmware projects to supported IoT chips without extensive programming knowledge. The tool originally focused on Beken BK7231T/BK7231N devices, but the current version supports a wider set of chip and platform modes.
Supported GUI-selectable chip/platform modes:
Furthermore, it can automatically create an original firmware backup before flashing, attempt Tuya GPIO/config extraction from backups, and read/write OBK configuration where the selected platform supports it.
Other built-in tools include:
❗ NOTE: The flash dump may contain your SSID and password if the device was paired at the time of the backup.
See also Russian guide for this tool and BK7231N.
See also the secondary example: WB3S flashing.
Per device flashing guides (NOTE: they may use obsolete flash tools, so always prefer to use the new tool from this repo):
See also our youtube channel and forum
It should be possible to compile and run this tool on Linux by using Mono. Mono is an open-source implementation of the .NET Framework which is also sponsored by Microsoft.
Once it's installed, you can compile this software by executing msbuild on the project directory. To execute the program, you can simply execute the following command:
mono BK7231Flasher/bin/debug/BK7231Flasher.exe
Alternatively, you can use prebuilt release binary.
No command line and no strange arguments required.
Download and unpack executable from Releases tab on the right
Prepare flashing circuit for BK72xx
Open our flasher:

firmwares directory
Close download window
Click "Backup and flash new"
When the log window is waiting for "Getting bus", do a device reboot/reset. You can do this in two ways, choose one:





CRC/key checks are chip-type dependent. If you get a CRC mismatch, you are most likely selecting a wrong chip type or trying to use firmware intended for another platform.

See this tutorial: https://www.elektroda.com/rtvforum/viewtopic.php?p=20733610#20733610
Firmware download will not work on systems without newer TLS version required by GitHub. You can always manually download release from here:
https://github.com/openshwprojects/OpenBK7231T_App
and put the matching file into the firmwares dir, then restart flasher.
This tool supports automatic reboot command, just like bkWriter 1.60, but you have to enable UART command line in OBK for it first:
With this option enabled, OBK will receive the "reboot" string sent by flasher on UART before any read/write operation is started and will automatically get bus.
You can also try changing the baudrate for flashing. Remember - sometimes higher baud rate might work better than lower one!
If you still need help, you can ask on our forums: https://www.elektroda.com/
C#
99.3%