logo elektroda
logo elektroda
X
logo elektroda

Taobao Tuya BK7252UQN68 Bare A9 Cam PCB (SC-10024 v1.0.0) - UART/SPI Flash Backup - OpenBK7252

divadiow 6009 76
ADVERTISEMENT

Topic summary

LABEL_AI_GENERATED
Discussion centers on an unbranded Taobao A9-style camera PCB using BK7252UQN68 (SC-10024 v1.0.0), with no camera, battery, or case, and initial UART logs showing BK7251/BK7252 boot output. The thread explores SDK availability, OTA behavior, SPI flash backup/restore, and OpenBK7252 compatibility. It is determined that the board is a standard A9 camera, flash is not encrypted, and OTA can work after flashing OpenBK7252, but bootloader handling is critical: UART flashing may work for app images, while bootloader overwrite requires SPI recovery. The discussion also covers reading/writing flash with EF and CH341A-based SPI tools, timing/reset issues with CEN/D2, CRC bytes in flash dumps, partition layout differences between 2 MB and 4 MB variants, and camera bring-up attempts with OpenCam / Beken camera projects. Later messages include pin tracing on BK7252UQN48/QFN48, UART1 location, and uncertainty about camera sensor compatibility and GPIO routing.
AI summary based on the discussion. May contain errors.

FAQ LABEL_AI_GENERATED

TL;DR: OTA wrote 794,045 bytes on first boot; "we see OTA process on first boot". Flash OBK by merging bin+rbl, map pads to CH341A, and back up the 4 MB flash. For hardware hackers needing flash backups, OTA layout, and Tuya pairing notes. [Elektroda, divadiow, post #21570898]

Why it matters: It shows how to safely dump, flash, and OTA‑upgrade BK7252 A9 camera PCBs without bricking, using low‑cost tools.

Quick Facts

What is this Taobao BK7252 A9 camera PCB and its hardware layout?

It’s a bare A9-style camera PCB marked SC-10024 v1.0.0 using a BK7252UQN68. It includes an 18‑pin camera connector, two buttons, and two LEDs (one red and one blue/green two‑tone). No camera module, battery, or case ship with it. [Elektroda, divadiow, post #21557995]

How do I wire the test pads to a CH341A to back up the SPI flash?

Pad map: CE/CEN→D2, SCK→SCK, CSN→CS0, SI→MOSI, SO→MISO, GND→GND. Then use Beken SPI mode with a CH341A and NeoProgrammer. How‑To: 1) Solder flying leads to pads. 2) Enter Beken SPI mode and power the board. 3) Detect XTX XT25F32B and dump the 4 MB image. [Elektroda, divadiow, post #21557995]

What flash chip and capacity does it use?

The board carries an XTX XT25F32B SPI NOR. Capacity is 32 Mbit (4 MB). Reported SPI ID is 0x0B4016. NeoProgrammer recognizes it reliably for dumps. [Elektroda, divadiow, post #21557995]

What UART settings should I use and what indicates a healthy boot?

Use 115200 baud on TX1. A healthy boot shows BK7251_x logs, Tuya initialization, BLE advertising, and AP start as SmartLife‑2640. You’ll also see Wi‑Fi and watchdog initialization entries and LED status changes in logs. [Elektroda, divadiow, post #21557995]

How can I flash OpenBK7252 and trigger the OTA upgrade on first boot?

Merge OpenBK7252_QIO7231u_t_c1b0ac146bf0.bin with OpenBK72527231u_t_c1b0ac146bf0.rbl at 0x132000 and flash from 0x0. On first boot, the OTA engine writes 794,045 bytes to the app partition, then boots OBK. Watch serial logs to confirm erase and write progress. [Elektroda, divadiow, post #21570898]

Does OTA work on this A9 BK7252 board?

Yes. “So, OTA works.” Users report success, though initial SPI flashing may be needed to stage images. Using the default A9 bootloader helped in testing. [Elektroda, insmod, post #21570913]

Why do OTA uploads via the web GUI fail with “malloc failed”?

Logs show OTA attempts via the web and GUI ending with “malloc failed.” A practical workaround is pre‑staging the RBL at 0x132000 and flashing a merged image so the device upgrades itself on first boot. [Elektroda, divadiow, post #21570898]

What OTA layout and addresses are involved on this board?

The boot log shows a ping‑pong scheme erasing the download RBL at 0x132000. Combining the .bin base and .rbl at that offset enabled the on‑boot OTA to rewrite the app partition. [Elektroda, divadiow, post #21570898]

How far can the built‑in UART preset read, and how do I dump the full 4 MB?

The standard BK7252 preset read stops around 2 MB. Use the EF custom read from 0x11000 via TX2/RX2 to reach the end, or use CH341A SPI to dump the full 4 MB directly. [Elektroda, divadiow, post #21557995]

Which OpenBK builds boot correctly on this board?

OpenBK7252_QIO7231u_t_c1b0ac146bf0.bin boots into OBK. The OpenBK7252_Tuya_QIO7231u_t_c1b0ac146bf0.bin shows bootloader output but no app, ending with an ARM anomaly on jump. [Elektroda, divadiow, post #21557995]

Can I pair it with Tuya and view its data model (DPs)?

Yes. It pairs and reports device details (firmware 1.0.4). The model exposes DPs such as basic_indicator, basic_nightvision, sd_status, sd_format, record_switch, device_restart, and others useful for IPC features. [Elektroda, divadiow, post #21557995]

Is an SDK available for this board or Tuya IPC?

The seller did not provide the SDK. However, public TuyaOS IPC demo archives exist (tuyaos_demo_ipc versions 1.0.x through 1.1.50) hosted on Tuya’s Airtake storage. [Elektroda, divadiow, post #21570227]

How do I enter Beken SPI mode and verify flash access?

After wiring the pads, power the board and use the Beken SPI Python tool with CH341A. NeoProgrammer should detect XTX XT25F32B (ID 0x0B4016) and allow read/write operations, confirming SPI access. [Elektroda, divadiow, post #21557995]

What LEDs and buttons exist, and can I control indicators from Tuya?

The PCB has two buttons and two LEDs: a single red and a blue/green bi‑color. The Tuya DP basic_indicator toggles the status LED behavior from the app’s settings page when paired. [Elektroda, divadiow, post #21557995]

Should I remove series resistors when repurposing lines as GPIOs?

Yes. Remove the series resistors to avoid unintended loading and get clean GPIO behavior. As an expert noted, “it’s better to remove those resistors.” [Elektroda, p.kaczmarek2, post #21617875]
AI summary based on the discussion. May contain errors.
ADVERTISEMENT