logo elektroda
logo elektroda
X
logo elektroda

[CB2S/BK7231N] Double relay module with additional buzzer Woox R7279

p.kaczmarek2 2043 2

TL;DR

  • Woox R7279 is a double relay module with an onboard buzzer, built around a CB2S Wi‑Fi module using BK7231N.
  • Inside are two relays, a non-isolated BP2525 power supply, and a buzzer; the PCB also has a 3.3 V LDO and a possible BL0942 footprint.
  • The module costs PLN 70, and the CB2S pin map places relay 1 on P24, relay 2 on P10, and the buzzer on P26.
  • OpenBeken was flashed through bk7231tool after desoldering the CB2S, using RX, TX, GND, and 3.3 V from a good LDO.
  • The Tuya decoder still needs manual buzzer_io and buzzer_pwm keys, but the result is a cloud-free device for local Home Assistant control.
AI summary based on the discussion. May contain errors.
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI voice):
  • Packaging of the Woox R7279 relay module with WiFi.
    Here I will present a double relay module, which is distinguished by the fact that it also has a buzzer on board, which can be used for various types of automation requiring sound signaling of a given device status. I will show its interior, describe the process of changing the firmware and describe its GPIO role.

    Purchase Woox R7279
    The product can be purchased in our country for PLN 70:
    Woox R7279 dual relay module with smartphone app
    Already in the offer description we can read that R7279 is an improved version of R4967:
    Packaging and description of the Woox R7279, a dual in-wall WiFi relay module.
    Specification:
    Woox R7279 module with technical specifications.
    R7279 works with the Woox application, but here I will show you how to change its firmware.
    This is what we get in practice:
    Packaging of the Woox R7279 dual relay module Side of the Woox R7279 module packaging with Google Play and App Store apps. Woox R7279 module packaging with information about no subscription required. Side of the Woox R7279 module box with technical data. Woox R7279 relay module with instruction and packaging
    Interestingly, there is a code on the packaging: 2972791.
    Instruction:
    User manual for Woox R7279 product with technical information. Page from Woox module manual with FAQ section and app illustration. Woox R7279 module manual with QR code and connection diagram Installation manual for Woox R7279 relay module with wiring diagram. Open installation instructions for the Woox R7279 module. Setup instructions for the Woox Home module in English and Dutch
    The instructions include a QR code with a link to the Woox application.

    ADVERTISEMENT


    R7279 interior
    Normally, you just need to pry the casing off. There are no screws.
    Interior of the Woox R7279 relay module with buzzer White Woox R7279 module with markings on the casing. Back of Woox R7279 module with manufacturer labels and certifications.
    At first everything looks standard:
    Interior of Woox R7279 relay module with buzzer
    The input has a fuse resistor and a filter with two electrolytic capacitors and a choke:
    Interior of the Woox R7279 relay module with a buzzer.
    The power supply is non-isolated and based on BP2525 as usual:
    Close-up of internal components of Woox R7279 relay module Section of the Woox R7279 relay module interior with visible electronic components.
    But inside, apart from two relays and a WiFi module, there is also a buzzer:
    View of the interior of relay module R7279 with electronic components.
    The WiFi module itself is CB2S, i.e. BK7231N:
    Interior of Woox R7279 relay module with visible CB2S module. Interior of the Woox R7279 dual relay module with a buzzer.
    At the bottom of the PCB there is a 3.3V LDO and a place that I suspect is intended for an energy measurement system (BL0942, maybe?):
    Close-up view of the PCB board of the Woox R7279 relay module.

    Firmware change
    I loaded OpenBeken:
    https://github.com/openshwprojects/OpenBK7231T_App
    via bk7231tool flasher:
    https://github.com/openshwprojects/BK7231GUIFlashTool
    I desoldered the entire CB2S:
    Close-up of the internal part of the Woox R7279 relay module on a blue PCB with visible soldered pins. PCB of the Woox R7279 relay module with a buzzer on a wooden table. Close-up of the bottom part of the Woox R7279 module PCB with visible tracks and electronic components.
    According to the flasher instructions, RX, TX and GND and 3.3V from a good 3.3V LDO were enough. I rebooted by cutting off the power.
    Flasher imported the device configuration:
    Screenshot showing the configuration of the Woox R7279 device.
    Here is Tuya's JSON:
    Code: JSON
    Log in, to see the code

    You can see information about what is on which pin, e.g.:
    
    	"buzzer_io":"26",
    

    Verbal description:
    
    Device seems to be using CB2S module, which is BK7231N chip.
    - Relay (channel 1) on P24
    - Relay (channel 2) on P10
    - TglChannelToggle (channel 1) on P8
    - TglChannelToggle (channel 2) on P6
    - Pair/Toggle All Pin on P23
    

    Additionally, the buzzer is on P26.

    OBK template:
    Code: JSON
    Log in, to see the code


    Summary
    The module is quite expensive, although it is distinguished by the presence of the already mentioned buzzer. At the moment, the Tuya configuration decoder does not even automatically detect this buzzer, you have to manually look for the keys buzzer_io and buzzer_pwm but this will probably change soon, I will just update the flasher and importer.
    Apart from that - no problems.
    It is also possible that the whole thing could be flashed into the system, but I preferred to desolder the CB2S, it's not a problem, a little flux and a good braid are enough, you can easily remove the old binder and then the module slides out of the board by itself.
    This way we can enjoy another device free from the cloud and operating in a 100% private and local way with Home Assistant.

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 14747 posts with rating 12846, helped 659 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • #2 20875647
    morgan_flint
    Level 14  
    Posts: 251
    Help: 4
    Rate: 63
    p.kaczmarek2 wrote:
    At the bottom of the PCB there is a 3.3V LDO and a place that I suspect is intended for an energy measurement system (BL0942, maybe?)

    Hello, @p.kaczmarek2

    I think that IC is for a RF receiver version of the device as it's very similar to the one you can see in the 6th and 7th photos of this post.

    It's a good thing as it allows to connect an extra sensor to P23/ADC3 port easily
  • #3 20875692
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14747
    Help: 659
    Rate: 12846
    It seems you may be right. At first I suspected it may be BL0937 but it seems that the GND position, etc, does not match and I can see no place for current measurement resistor. So it's may be an RF IC,after all
    Helpful post? Buy me a coffee.
📢 Listen (AI voice):

FAQ

TL;DR: For users reflashing the Woox R7279, this 2-relay mains module adds a buzzer and uses a CB2S/BK7231N Wi‑Fi board. “No problems” was the flashing verdict after removing the module, wiring 3.3 V, RX, TX, and GND, and mapping relays to P24 and P10 for local Home Assistant control. [#20844469]

Why it matters: This FAQ turns a teardown thread into a practical map for identifying pins, flashing OpenBeken, and avoiding cloud dependence on a dual-relay relay module.

Option Control model Hardware feature noted Flashing approach in thread
Stock Woox/Tuya firmware App/cloud-based 2 relays + buzzer Not modified
OpenBeken on CB2S/BK7231N 100% local/private Same hardware, custom pin mapping CB2S desoldered, then flashed

Key insight: The crucial reverse-engineering detail is not just that the R7279 has two relays, but that its extra buzzer sits on P26 and may be missed by automatic config import unless you inspect the Tuya JSON manually.

Quick Facts

  • Approx. street price in the thread was PLN 70, positioning the R7279 as relatively expensive for a 2-channel relay module. [#20844469]
  • The board uses a CB2S module with a BK7231N chip and a 3.3 V LDO on the PCB underside. [#20844469]
  • Mains power conversion is non-isolated and based on BP2525, with an input fuse resistor, choke, and two electrolytic capacitors in the filter stage. [#20844469]
  • Tuya JSON exposed key mappings: relay 1 = P24, relay 2 = P10, toggle inputs = P8 and P6, toggle-all/pair = P23, buzzer = P26, and buzzer PWM = 4000. [#20844469]
  • A later reply argued the unpopulated lower PCB area is more likely for an RF receiver than BL0942/BL0937-style energy metering, because the current-sense path does not fit. [#20875692]

How do I open the Woox R7279 double relay module without damaging the case or PCB?

Open it by carefully prying off the snap-fit case, because the enclosure has no screws. Use a thin plastic tool or a small flat tool at the seam and work around the edges gradually. Do not lever against the PCB center, because the board carries mains sections, two relays, and the CB2S module. The teardown explicitly notes that normal opening only required prying and that the casing is screwless. [#20844469]

What GPIO pins are used for the two relays, buttons, and buzzer on the Woox R7279 with the CB2S/BK7231N module?

The mapped pins are relay 1 on P24, relay 2 on P10, channel toggles on P8 and P6, toggle-all/pair on P23, and the buzzer on P26. The Tuya JSON also shows buzzer_pwm set to 4000. That gives you a complete working map for OpenBeken template creation and manual verification after flashing. [#20844469]

What is the CB2S module, and how does it relate to the BK7231N chip in Tuya-based devices?

The CB2S module is the plug-in Wi‑Fi board on this device, and it uses the BK7231N chip. "CB2S" is a Wi‑Fi module that hosts the main control SoC, exposes device GPIOs, and is used in Tuya-style smart hardware. In this R7279 thread, the board photos identify the module as CB2S and the chip family as BK7231N, which is why OpenBeken support matters here. [#20844469]

How can I flash OpenBeken onto a Woox R7279 using bk7231tool or BK7231GUIFlashTool?

You can flash it by wiring the removed CB2S module to a BK7231 flasher and loading OpenBeken. 1. Desolder the CB2S module. 2. Connect RX, TX, GND, and a stable 3.3 V supply from a good LDO. 3. Reboot by cutting power, then flash with BK7231GUIFlashTool after importing the configuration. The thread links OpenBK7231T_App and BK7231GUIFlashTool and states those four wires were sufficient. [#20844469]

Why did the author desolder the CB2S module before flashing the Woox R7279 instead of programming it in-circuit?

The author removed the CB2S because it made flashing straightforward and low-risk for this board layout. He also states in-circuit flashing may be possible, but chose desoldering because “a little flux and a good braid are enough,” and the module then slides out easily. That approach avoids fighting the rest of the mains-powered circuit while programming the BK7231N board. [#20844469]

What do the Tuya JSON fields like buzzer_io, buzzer_pwm, rl1_pin, and rl2_pin mean when reverse-engineering a device?

They describe which GPIO controls which hardware function. buzzer_io identifies the buzzer pin, buzzer_pwm gives its drive frequency value, and rl1_pin and rl2_pin identify the relay control pins. In this device, those entries exposed P26 for the buzzer, PWM 4000, P24 for relay 1, and P10 for relay 2, which is exactly the data needed for pin mapping and template building. [#20844469]

How do I create an OpenBeken template for the Woox R7279 dual relay module with buzzer?

Create the template by assigning the discovered GPIO roles to the R7279 hardware map. The posted OpenBeken template sets pin 6 to TglChanOnTgl;2, pin 8 to TglChanOnTgl;1, pin 10 to Rel;2, pin 23 to Btn_Tgl_All;0, and pin 24 to Rel;1. The thread separately notes the buzzer is on P26, so add that function manually if your importer does not. [#20844469]

What is a non-isolated BP2525 power supply, and what safety precautions should I take when working on this kind of mains-powered relay module?

It is the mains power section on this board, and it is explicitly described as non-isolated and based on BP2525. "Non-isolated BP2525 power supply" is an AC-DC supply stage that converts mains to low voltage without galvanic isolation, so low-voltage areas can still be hazardous relative to line power. Treat the whole PCB as live, disconnect mains before opening, and avoid touching the board while powered. [#20844469]

Why doesn’t the Tuya configuration decoder automatically detect the buzzer on this Woox R7279, and how can I find it manually?

It misses the buzzer because the decoder did not automatically expose that function for this device at the time of the thread. The manual fix is simple: inspect the imported Tuya JSON and search for the keys buzzer_io and buzzer_pwm. On this module, those fields revealed a buzzer pin of P26 and a PWM value of 4000. [#20844469]

OpenBeken vs the stock Woox/Tuya firmware: which is better for local control and Home Assistant integration on the R7279?

OpenBeken is better if you want fully local control and private Home Assistant use. The stock firmware works with the Woox application, while the reflashed setup is described as “100% private and local” and free from the cloud. If your priority is vendor app convenience, keep stock firmware. If your priority is local automation and direct pin control, OpenBeken is the better fit. [#20844469]

What is the purpose of the unpopulated IC area on the bottom of the Woox R7279 PCB: energy metering like BL0942/BL0937 or an RF receiver section?

The later conclusion favors an RF receiver section, not energy metering. The original teardown suspected BL0942 or BL0937, but the follow-up reply pointed to similarity with another RF-receiver variant, and the response agreed because the GND position and lack of a current-measurement resistor did not fit an energy meter layout. That makes the RF option the stronger interpretation from the thread. [#20875692]

How could P23/ADC3 on the Woox R7279 be used to connect an extra sensor after reflashing?

P23/ADC3 could serve as an accessible input for an added external sensor after reflashing. A follow-up reply calls this “a good thing” because the suspected RF-related PCB option leaves that port easier to reuse. The thread does not name a specific sensor type, so the safe conclusion is that P23 becomes a convenient expansion point once you control the device firmware. [#20875647]

What tools and wiring do I need to flash a BK7231N-based CB2S module, including RX, TX, GND, and a stable 3.3V supply?

You need a BK7231-compatible flasher, four signal connections, and a solid 3.3 V source. The thread specifically used BK7231GUIFlashTool, plus RX, TX, GND, and 3.3 V from a good LDO. The module was rebooted by cutting power. The same post also references OpenBK7231T_App as the firmware target for the CB2S/BK7231N board. [#20844469]

Why is the Woox R7279 considered an improved version of the R4967, and what extra functionality does the buzzer add?

It is treated as an improved R4967 because the product description already called it an improved version, and this model adds an onboard buzzer. That buzzer enables audible status signaling for automations, which is the standout feature in this teardown. In practical terms, you get two relays plus sound feedback from one mains module, rather than only switching outputs. [#20844469]

What troubleshooting steps help if a BK7231N/CB2S module does not enter flashing mode or fails to reboot properly during OpenBeken installation?

Start by checking power quality and your reboot method. 1. Verify RX, TX, GND, and 3.3 V are all correctly connected. 2. Use a good 3.3 V LDO, not an unstable supply. 3. Reboot by fully cutting power, because that is the reset method used successfully in the thread. If import still fails, recheck the soldering after desoldering the CB2S and confirm the module is fully free of the main board connections. [#20844469]
AI summary based on the discussion. May contain errors.
ADVERTISEMENT