FAQ
TL;DR: OTA lives at 0x132000, and you should "choose rbl and just flash it"; this FAQ maps pins and fixes OTA/web‑UI issues for BK7231N SBDV‑00050 with ESPHome. For DIY tinkerers needing reliable flashing and recovery. [Elektroda, insmod, post #21284776]
Why it matters: It reduces brick risk and speeds up first‑boot success.
Quick Facts
- 14 pins mapped: P9 (RELAY), P26 (LED), P16 (Button), P8 (Switch), TX1/RX1, VD0 3.3 V, GND. [Elektroda, tehb13, post #21278069]
- OTA RBL offset is 0x132000; ltchiptool auto-detects the Beken OTA image. [Elektroda, insmod, post #21284776]
- ESPHome build needs bkcrypt_coeffs, bkota.key, bkota.iv, and board_flash.download 0x132000+0xCC000. [Elektroda, kuba2k2, post #21278408]
- Erasing without a backup loses the bootloader and RF partition (brick risk). [Elektroda, insmod, post #21279490]
- BKFIL can erase/flash specific flash address ranges for targeted recovery. [Elektroda, divadiow, post #21279537]
What are the pin assignments for the SBDV-00050 (BK7231N)?
Fourteen pads are documented on the board. Relay: P9. LED: P26. Button: P16. Switch: P8. UART1 is available via TX1 and RX1. Power rails: VD0 3.3 V and GND. Other exposed pads include ADC3, EN, P6, P7, P14, and P24. These mappings come from a teardown with photos. [Elektroda, tehb13, post #21278069]
Which pins drive the relay and the status LED?
The relay coil is controlled by GPIO P9. The status LED is on GPIO P26. These roles are silkscreen-mapped in the teardown photos and tables. [Elektroda, tehb13, post #21278069]
How do I flash the ESPHome OTA RBL with ltchiptool?
Use ltchiptool with the OTA package. 1) Choose the .rbl and the tool should auto-detect the Beken OTA image at 0x132000. 2) Flash the RBL. 3) Enable ESPHome logging to aid any troubleshooting after first boot. “Choose rbl and just flash it.” [Elektroda, insmod, post #21284776]
ltchiptool errors when flashing the RBL—can I use BKFIL instead?
Yes. One user reported ltchiptool errors when flashing sbdv-00050-ota.rbl over factory firmware, while BKFIL flashed it without errors. Use BKFIL as a fallback to write the OTA image when the GUI tool fails. [Elektroda, tehb13, post #21284811]
Do I need to flash a full image, or just the OTA package?
Flash only the OTA package. “There is no need to flash a full image, just flashing ota package is enough.” The bootloader will then update the firmware. Writing the RBL at the OTA address enabled subsequent ESPHome updates. [Elektroda, insmod, post #21279490]
What happens if I erase the flash without a backup?
You lose the original bootloader, which guarantees a brick. The RF partition is also lost. Recovery then requires restoring the bootloader from a proper backup or extracting it from a known image before proceeding. [Elektroda, insmod, post #21279490]
Where do the encryption keys go in ESPHome for this device?
Set platformio_options with bkcrypt_coeffs, bkota.key, and bkota.iv. Also define board_flash.download as 0x132000+0xCC000. These parameters are required for building and delivering encrypted OTA for this model. [Elektroda, kuba2k2, post #21278408]
Device pings but no web UI after OTA—how do I fix it?
Connect UART1 and read the bootloader log. A bootloader like 1.0.13 prints reasons for OTA rejection, such as wrong encryption keys. After flashing the OTA image, erase 0x10000–0x12000 to clear the main firmware region and force a fresh start. [Elektroda, insmod, post #21280204]
What’s the correct board_flash.download format in ESPHome?
Use 0x132000+0xCC000 with a plus sign. Omitting the “+” prevents correct OTA placement. Add logging to your ESPHome configuration to make troubleshooting easier during first boot. [Elektroda, insmod, post #21284776]
Which ESPHome OTA schema should I use right now?
Recent ESPHome uses the multi-platform OTA format. Define ota with platform: esphome and your password. Also enable logs, and consider API encryption for debugging and security. This matches current recommendations in the thread. [Elektroda, insmod, post #21284776]
My .uf2 flashed fine but the device stayed dead—why?
A report shows .uf2 flashed without errors, yet the device didn’t run. The build lacked platformio_options for bkcrypt_coeffs, bkota.key, bkota.iv, and the download range. Add those options before generating and flashing your images. [Elektroda, tehb13, post #21279522]
How can I view boot logs to verify the bootloader is running?
Open a UART session and reboot the device. You should see lines like “BK7231n_1.0.8,” FAL init success, OTA init success, and “go os_addr(0x10000).” These confirm the bootloader hands off to the main firmware. [Elektroda, tehb13, post #21284726]
Is the SBDV-00050 sold outside Russia/Kazakhstan?
A user noted these modules do not appear to be for sale outside Russia and Kazakhstan. Availability is limited, so sourcing may require regional sellers. [Elektroda, divadiow, post #21278547]
Which ESPHome board target should I select for BK7231N here?
Use the BK72xx platform with the generic BK7231N QFN32 Tuya target. Example: bk72xx: board: generic-bk7231n-qfn32-tuya in your ESPHome config. [Elektroda, tehb13, post #21284726]
OTA flashed but no logs—what recovery sequence should I try?
Restore your known-good backup image first. Then flash the new OTA RBL again with logging enabled in ESPHome. This approach confirms baseline function and gives visibility into what happens during the bootloader handoff. [Elektroda, insmod, post #21284826]