FAQ
TL;DR: “Latest OBK builds extend battery life by up to 60 %” [Elektroda, p.kaczmarek2, post #20588135] “You flash it as usual” [Elektroda, p.kaczmarek2, post #20582789] Flash success rises when RX/TX lines to the Tuya MCU are isolated. Why it matters: you can turn a €6 TH01 into a cloud-free, Home-Assistant-ready sensor in under 10 minutes.
Quick Facts
• MCU type: BK7231N-QFN32 on CB3S module; 2 MB flash [Elektroda, Wen2024, post #20931316]
• Default Tuya baud: 115 200 bps (some boards use 9 600 bps) [Elektroda, BAGZZlash, post #21552797]
• Typical dpIDs: 1 = Temp×10, 2 = RH%, 3/101 = Battery enum [Elektroda, anthonythomas, #20516557; doudouni100, #21441634]
• Max OBK channels per build: 64 [Elektroda, doudouni100, post #21441842]
• Cost of TH01 board: €5–8 retail (2025 AliExpress listings)
1. Which TH01 hardware variants are confirmed?
A. AHT20 + TuyaMCU + BK7231N (earliest batch). B. AHT30 or CHT8310 directly on I²C and no TuyaMCU. C. Shield-less CB3S with 115 200 bps TuyaMCU [Elektroda, divadiow, #20873676; vinibali, #21398650].
2. Do I need to cut anything before flashing?
Yes, if a TuyaMCU is present you must sever its RX1/TX1 to stop it driving the bus. Options: 1) cut two thin traces and later bridge, 2) lift or desolder the CB3S, 3) lift the SOIC-8 MCU [Elektroda, p.kaczmarek2, post #20626343] Boards without TuyaMCU flash directly.
3. What baud rate should I select in BK flasher?
Most TuyaMCU revisions answer only at 115 200 bps; older ones use 9 600 bps. If logs show no “55 AA” packets switch rates accordingly [Elektroda, BAGZZlash, post #21552797]
4. What is the minimal working autoexec.bat for classic TH01?
backlog startDriver TuyaMCU; startDriver tmSensor; tuyaMCU_setBaudRate 115200; setChannelType 1 temperature_div10; linkTuyaMCUOutputToChannel 1 val 1; setChannelType 2 Humidity; linkTuyaMCUOutputToChannel 2 val 2; setChannelType 3 LowMidHigh; linkTuyaMCUOutputToChannel 3 enum 3
This publishes temperature, humidity and battery level [Elektroda, anthonythomas, post #20516646]
5. How do I map battery when the dpID is 101?
Use a lower OBK channel number, e.g. linkTuyaMCUOutputToChannel 101 enum 10 then setChannelType 10 LowMidHigh to stay within the 64-channel limit [Elektroda, doudouni100, post #21442987]
6. MQTT shows duplicates—problem?
OBK broadcasts once at connect and once on value change; disable “Publish self state on connect” to halve traffic [Elektroda, p.kaczmarek2, post #20905032]
7. Can I run without any MQTT broker?
Yes. Leave the MQTT host field blank or add tuyaMcu_defWiFiState 0x04; OBK then skips the MQTT-wait state and still logs locally [Elektroda, p.kaczmarek2, post #20931402]
8. How do I extend battery life?
- Update to OBK ≥1.17.391 (quick connect + static IP gives ~60 % longer runtime) [Elektroda, p.kaczmarek2, post #20588135] 2. Set Wi-Fi quick connect flag 37 and reduce boot-OK timer from 5 s to 3 s [Elektroda, DeDaMrAz, post #20768091] 3. Increase sensor sleep with
AHT2X_Cycle 255 (≈4 min) [OBK docs].
9. Why do I only get zeros on channels?
Causes: a) wrong dpIDs for your PCB; capture UART with TuyaMCUAnalyzer to confirm [Elektroda, Wen2024, post #20922691] b) Baud mismatch—see Q3. c) Device waiting for MQTT—see Q7. A faulty trace gives the same symptom; verify continuity.
10. Flashing stops at 75 % with “buffer contains data”. Fix?
Lower speed to 460 800 bps or swap USB-UART; some hosts drop at 921 600 bps [Elektroda, vinibali, post #21398650] Disconnect MCU lines before retrying.
11. How can I change the reporting interval?
For direct-I²C builds run AHT2X_Cycle <seconds> (1-255 sec). Battery-powered TuyaMCU boards expose dpIDs 17/18 (intervals); link them to TextField channels and set desired value, then send with linkTuyaMCUOutputToChannel 17 val 5 60 [Elektroda, grericht, post #20628188]
12. Edge case: device doesn’t wake after deep discharge.
Below 1.8 V the BK7231 may brown-out and corrupt flash; keep a 2 × AAA pack above 2 V or recharge Li-coin cells promptly. Full 2 MB backup allows recovery with full-erase reflashing [Elektroda, insmod, post #21552919]
13. Quick 3-step flashing guide (TuyaMCU boards)
- Cut RX1/TX1 between MCU and CB3S; solder four wires to 3 V3, GND, RX, TX. 2. Hold CEN low, flash OBK at 115 200 bps, then restore traces. 3. Power CB3S from bench 3 V3, configure Wi-Fi + autoexec, fit batteries, close case [Elektroda, auntlydia, post #20684096]