logo elektroda
logo elektroda
X
logo elektroda

Flashing Beca BAC-002 Thermostat with OpenBK and Adding Sensor

shakin89  25 3483 Cool? (0)
📢 Listen (AI):

TL;DR

  • Plans to flash a Beca BAC-002 thermostat with OpenBK and modify it with a directly soldered temperature/humidity sensor.
  • The thermostat exists in two hardware versions, using either a WB3S or CB3S Wi-Fi chipset, and the mod aims to read relay state too.
  • Local-Tuya mapping already identifies dPID 1, 2, 3, 4, 5, 6, 102, and 103 for power, temperatures, modes, lock, HVAC, and fan control.
  • The main open questions are whether OpenBK flashing works on both chip versions and whether the relay state can be exposed through the added sensor mod.
Generated by the language model.
Hi all, i would like to flash my thermostat with openbk.
There are several version of this thermostat.
The oldest has a WB3S chipset inside.
The newest has a CB3S chipset.
I would also like to add a temperature/humidity sensor to the wifi chip soldering it directly on the board and i'd like to know the state of the relay (on or off) with this little mod (Link)
Control panel of a Beca Smart thermostat with LCD screen and touch buttons. Thermostat circuit board with CB3S chip. Thermostat circuit board with visible CB3S chipset.
Close-up of CB3S module on a circuit board. View of an open thermostat with visible electronic components on a circuit board. Close-up of the inside of a thermostat with visible relays and other electronic components. Close-up of the internal components of a thermostat with three HUI KE relays mounted on a circuit board. Close-up of the internal electronic circuit of a thermostat with visible components on a green board.

I've already the thermostat working with local-tuya, an integration for home assistant that doesn't rely on tuya cloud but thermostats aren't disconnected from the cloud.
So these are dpID the thermostat is using.

Spoiler:
name: BAC-002 Thermostat (C) - WB3S chip
primary_entity:
entity: climate
dps:
- id: 1
type: boolean
name: power
mapping:
- dps_val: false
value: "off"
hidden: true
- id: 2
type: integer
name: temperature
unit: C
range:
min: 10
max: 70
mapping:
- scale: 2
- id: 3
type: integer
name: current_temperature
unit: C
mapping:
- scale: 2
- id: 4
type: string
name: operation_mode
mapping:
- dps_val: "0"
value: program
icon: mdi:calendar
- dps_val: "1"
value: manual
icon: mdi:hand-pointing-up
hidden: true
- id: 5
type: boolean
name: preset_mode
mapping:
- dps_val: true
value: eco
- dps_val: false
value: comfort
- id: 102
type: string
name: hvac_mode
mapping:
- dps_val: "0"
value: cool
icon: mdi:snowflake
- dps_val: "1"
value: heat
icon: mdi:wheather-sunny
- dps_val: "2"
value: fan_only
icon: mdi:fan
- id: 103
type: string
name: fan_mode
mapping:
- dps_val: "0"
value: auto
icon: mdi:fan-auto
- dps_val: "1"
value: high
icon: mdi:fan-speed-3
- dps_val: "2"
value: medium
icon: mdi:fan-speed-2
- dps_val: "3"
value: low
icon: mdi:fan-speed-1
secondary_entities:
- entity: light
name: Display
category: config
deprecated: climate hvac_mode
dps:
- id: 1
type: boolean
name: switch
mapping:
- dps_val: true
icon: "mdi:led-on"
- dps_val: false
icon: "mdi:led-off"
- entity: lock
name: Child Lock
category: config
dps:
- id: 6
type: boolean
name: lock
mapping:
- dps_val: true
icon: "mdi:hand-back-right-off"
- dps_val: false
icon: "mdi:hand-back-right"
- entity: select
name: Operation Mode
dps:
- id: 4
type: string
name: option
mapping:
- dps_val: "0"
value: Program
- dps_val: "1"
value: Manual

About Author
shakin89 wrote 6 posts with . Been with us since 2024 year.

Comments

p.kaczmarek2 07 Jan 2024 16:20

Hello, this should be easily doable, we actually already had a similiar topic here: https://www.elektroda.com/rtvforum/topic4003974.html Have you seen that? The topic above even includes the relay... [Read more]

shakin89 08 Jan 2024 08:23

First of all, thank you for all your effort on this project and thank you for your reply. I'm aware of the other thread, I've already studied it. I will try to backup the device and to flash the new firmware.... [Read more]

p.kaczmarek2 08 Jan 2024 08:27

Let's start with flashing and configuring one device, we need to test the whole setup first. I am not sure if just having pogo pins solves all problems, because you still may need to cut the connection... [Read more]

shakin89 14 Jan 2024 10:49

Sorry for late reply, very busy week. Yesterday i had some spare time. I've desoldered two resistor which communicate with MCU. No luck with pogo pins, so i've soldered four wires to wifi chip. At... [Read more]

p.kaczmarek2 14 Jan 2024 13:34

OBK config will not help for TuyaMCU device. What does the TX2 log output say? [Read more]

shakin89 14 Jan 2024 16:06

Well, i don't see any output connecting on tx2. I'm using putty in serial mode to see if there is an output, am i doing wrong? i'm using this as usb-uart adapter. Hope it is good. p.s. sorry for... [Read more]

p.kaczmarek2 14 Jan 2024 16:24

how do you power your device, can you make a photo of connections?" [Read more]

shakin89 14 Jan 2024 16:44

https://obrazki.elektroda.pl/2431763200_1705246683_thumb.jpg This is how i am powering the device. Now i'm trying to use a usb-esp01 adapter, to see if it helps. Now the led screen of the thermostat... [Read more]

p.kaczmarek2 14 Jan 2024 19:21

You are using your USB to UART converter incorrectly. You should use jumper to connect 3.3V to VCC on USB to UART converter to select 3.3V voltage levels and power the device externally from a reliable... [Read more]

shakin89 17 Jan 2024 22:46

Hi, sorry for late reply. I haven't been able to flash new firmware. i will try to do it in a few days. During the first attempt, I have been able to backup the original flash. if you want it i can... [Read more]

potl12 14 Jan 2025 08:56

Hi all, i want to "hi-jack" this post to post my first response on the forum. I just finished flashing 11 of these units with a simple pogo-pin set-up so if anyone needs some easy solution to flash these... [Read more]

p.kaczmarek2 14 Jan 2025 09:08

Some Tuya thermostats support connecting external sensor out of the box, is it the case here? Do you have a manual? If not, then we will have to try more DIY approach, but there is one problem - sensor... [Read more]

potl12 14 Jan 2025 09:09

yeah this one does not support an external sensor out of the box so i'll probably have to go for the DIY approach. Please see the manual attached. I'm also posting the firmware backup for the other user... [Read more]

p.kaczmarek2 14 Jan 2025 09:11

Do you have it still paired with App? Does it have a calibration option there? Added after 43 : EDIT: There is calibration mentioned in manual. [Read more]

potl12 14 Jan 2025 09:11

No i never paired it with the app to begin with unfortuantely, but there is a menu setting. It's also visible in the manual [Read more]

p.kaczmarek2 14 Jan 2025 09:26

Hm ok, we have a backup so we also can do dpID extraction, maybe @divadiow can also help. There are also some dpIDs in the first post. [Read more]

divadiow 14 Jan 2025 09:37

柏益加温控器(空调) { "gw_bi": { "uuid": "7066c8c661a88a2e", "psk_key": "cw1ygXBCnRDriFY12daQJPgnSBiuBfu6sincM", "auth_key": "c2kQykz6kTORTKuRSh6rgeHLpZcycGY2", "ap_ssid":... [Read more]

p.kaczmarek2 14 Jan 2025 09:38

No calibration? [Read more]

potl12 14 Jan 2025 09:38

So what are you saying is to try to use the temperature compensation dpID to "mimic" an external sensor by modifying what the internal sensor read? I've not seen this value being exposed by the tuya mcu. See... [Read more]

FAQ

TL;DR: Flashing BAC-002 with OpenBK is "easily doable" [Elektroda, p.kaczmarek2, post #20896307]; community reports 100 % success on 11 units [Elektroda, potl12, post #21391966] Use 3.3 V supply, isolate MCU, and back up the 2 MB flash first.

Why it matters: Local firmware removes cloud ties, lets you log data, and add custom sensors.

Quick Facts

• Two PCB variants: WB3S (BK7231T) and CB3S (BK7231N) [Elektroda, shakin89, post #20895122] • Flash size to back up: 2 MB exact [Elektroda, p.kaczmarek2, post #20896307] • Safe supply during flashing: 3.3 V ± 5 %, ≥300 mA [Elektroda, p.kaczmarek2, post #20909568] • Tuya MCU UART speed: 9600 bps default [divadiow, #21392023]. • Temperature dpID 3 reports 0–100 °C, 0.1 °C scale [divadiow, #21392023].

How do I tell whether my BAC-002 uses WB3S or CB3S?

Open the case: older boards carry the WB3S module labelled BK7231T; newer boards carry CB3S marked BK7231N [Elektroda, shakin89, post #20895122]

Must I disconnect the Tuya MCU while flashing?

Yes. Cut the two MCU-RX/TX resistors or hold the MCU in RESET; this removes bus contention and avoids corrupted reads [Elektroda, p.kaczmarek2, post #20896307]

What is the basic three-step flashing procedure?

  1. Backup full 0x000000–0x1FFFFF (2 MB).
  2. Erase flash and write OpenBK firmware.
  3. Reconnect MCU, power cycle, join the OBK hotspot. [Elektroda, shakin89, post #20908394]

How can I read the relay state after flashing?

Solder a wire from the relay driver output to an unused BK GPIO and configure it as digital input; earlier users mapped it successfully in a similar thermostat [Elektroda, p.kaczmarek2, post #20896307]

Can I attach an external temperature or humidity sensor?

The on-board sensor goes to the Tuya MCU, not Wi-Fi. You can desolder it and run short twisted leads (≤30 cm) to a remote SMD replacement; longer cables raise noise and offset [Elektroda, p.kaczmarek2, post #21392046]

Is firmware recovery possible when the hotspot no longer appears?

Yes. Re-enter bootloader by grounding BOOT pin and reflash the backup. Failure logs such as “CheckRespond_FlashRead4K: ERROR” usually stem from bad power or loose wires, not a dead chip [Elektroda, shakin89, post #20908394]

What dpIDs should I expose to Home Assistant?

1 = Power, 2 = Set Temp, 3 = Current Temp, 4 = Schedule/Manual, 5 = ECO, 6 = Child Lock, 102 = HVAC Mode, 103 = Fan Speed, 104 = Weekly Program [divadiow, #21392023].

How did users flash multiple units quickly?

A pogo-pin fixture let one user complete 11 units in one sitting with 100 % success, cutting per-device time below 3 minutes [Elektroda, potl12, post #21391966]

What should I do after a CRC error during flashing?

Re-erase flash, lower baud to 921600 → 460800, and verify power integrity. CRC errors disappear once connections are solid [Elektroda, shakin89, post #20909148]
Generated by the language model.
%}