BK7231 GUI Flash Tool a simple Windows application that allows you to flash the OpenBK firmware to Beken chipset (BK7231T or BK7231N) based devices without having extensive programming knowledge.
Futhermore, it automatically creates an original firmware backup, and uses it to extract GPIO configuration that you can later import in OBK Web Application (Import Tab).
❗ NOTE: The flash dump may contain your SSID and pass 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 new tool from this repo):
- BK7231T/WB3S flashing guide - 2g Tuya wall switch - with SOIC8 chip desoldering - Home Assistant
- Tuya Relay CB2S/BK7231N control without Local Tuya - 100% free from cloud with Home Assistant guide
- How to add IR receiver and extra buttons to any Tuya BK7231T/BK7231N LED strip controller, 100% DIY
- RGBCW Tuya bulb flashing guide - BK7231N (WB2L_M1) - Tasmota/ESPHome multiplatform replacement
- TreatLife Intertek teardown & programming tutorial - WB3S/BK7231 - 100% local Home Assistant control
- Firmware change process for RGB+CCT Tuya ceiling lamp, OpenBeken, WiFi module desoldering, BK7231N
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.
Please note that if you're opting to run this tool under Linux, it is highly recommended for you to install Mono using your distro's package manager.
Once it's installed, you can compile this software by executing xbuild
on the project directory. To execute the program, you can simply execute the following command:
mono BK7231Flasher/bin/debug/BK7231Flasher.exe
- Connect UART to USB converter to Beken TXD1/RXD1
- Start flasher tool
- Select N or T platform
- Click "Download latest from web" to get firmware binary
- Click "Do backup and flash new"
- Reset/repower Beken
- Tool will do both read and flash in one row.
- Done!
No command line and no strange arguments required.
-
Download and unpack executable from Releases tab on the right
-
Prepare flashing circuit for BK7231 (both T and N)
- Get a USB to UART bridge with 3.3V voltage signals
- Connect the Bridge RX to Module TXD1, and Bridge TX to Module RXD1
- If necessary, solder a wire to the CEN pad (if you want to RESET through shorting CEN to ground)
- Power the device from either the bridge or an external power source. All Beken based modules require 3.3v.
⚠️ NEVER try hacking devices while connected to mains power!
-
Open our flasher:
- Select proper platform - BK7231T or BK7231N
- Select your COM port of USB to UART converter
- Click "Download latest from Web" to get proper binary file
- Wait for download to finish
-
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:
- Option A: short CEN to GND for 0.25s (it is tricky to get this right, requires precise timing)
- Option B: power off and on device (of course, it should not be connected to mains, use your own safe 3.3V power supply that can supply enough current)
- It will begin reading (it does first backup, then write)
- After reading, it will start the new firmware erase
- And then, automatically, write:
- Done:
- Firmware access point show appear now. Connect to it and enter 192.168.4.1 configuration page.
- Remember that saved firmware backup is in the "backups" dir
CRCs are calculated correctly for both N and T. If you get CRC mismatch, you are most likely selecting a wrong chip type.
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 into firmwares bin, 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 send 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 worker better than lower one!
If you still need help, you can ask on our forums: https://www.elektroda.com/