logo elektroda
logo elektroda
X
logo elektroda

[BK7231N] Cree 5-Button Scene Controller

mattj  6 1578 Cool? (+1)
📢 Listen (AI):

TL;DR

  • Teardown of the Cree Connected Max Smart In-Wall Scene Controller, model CMACC-CMSC-UNV-WH, a five-button Wi‑Fi scene switch with a Tuya CBU module.
  • Inside are multiple plastic layers, one control board with five surface-mount buttons and one LED, plus a separate power board and BK7231N Tuya CBU module.
  • Flashing was straightforward with BKWriter; a quick short to the CEN pin reliably put the BK7231N into programming mode, and no Tuya MCU needed interrupting.
  • OpenBeken pin mapping uses 14, 15, 20, 22, and 28 for Btn;4, Btn;5, Btn;1, Btn;2, and Btn;3.
  • Disassembly was frustrating because the enclosure uses only plastic snap fits, and reassembly required finesse to keep the internal parts aligned.
Generated by the language model.
Hey all -

Submitting a teardown of the "Cree Connected Max Smart In-Wall Scene Controller".

Amazon link: https://www.amazon.com/dp/B09JFTR3XF?psc=1&ref=ppx_yo2ov_dt_b_product_details




Teardown:
It's a pretty simple device, with a rather frustrating disassembly (no screws, all plastic snap fit - felt tricky to crack it open).
Multiple layers of plastic, one control board (five surface mount buttons, one LED, and Tuya CBU Wifi Module), and one power board.

Having disassembled and reassembled now, this one required a bit of finesse - the plastic pieces are tricky to clip together, while holding all the internal parts in place (they don't really snap in, internally). If you're just flashing this, there is no need to disassemble the back power module - just separate the beige inner piece from the middle white plastic layer. That will make reassembling things much easier.



Tuya CBU Module (BK7231N)
Datasheet: https://developer.tuya.com/en/docs/iot/cbu-module-datasheet?id=Ka07pykl5dk4u






Flashing:
Flashing is pretty straight forward (ignore my hideous soldering - was rushing this one!)
Usual connections, no Tuya MCU to have to interrupt. Simple backup and flash using BKWriter. I found that a quick short to the CEN pin was quite reliable to get it into programming mode.



OpenBeken Config:

{
  "vendor": "Cree",
  "bDetailed": "0",
  "name": "Cree 5-Button Wifi Scene Controller",
  "model": "‎CMACC-CMSC-UNV-WH",
  "chip": "BK7231N",
  "board": "TODO",
  "keywords": [
    "TODO",
    "TODO",
    "TODO"
  ],
  "pins": {
    "14": "Btn;4",
    "15": "Btn;5",
    "20": "Btn;1",
    "22": "Btn;2",
    "28": "Btn;3"
  },
  "image": "https://obrazki.elektroda.pl/YOUR_IMAGE.jpg",
  "wiki": "https://www.elektroda.com/rtvforum/topic3961578.html"
}

Bonus Photos:

About Author
mattj wrote 42 posts with rating 16 , helped 3 times. Been with us since 2022 year.

Comments

mattj 05 Mar 2023 03:31

Hoping for some guidance / help here… So I’ve got the device flashed, pins configured, and wired up. The button changes show up in the logs (in Web App), but since they’re not a usual relay/pwm/light,... [Read more]

ferbulous 05 Mar 2023 08:41

Right, i think you still need to create a script that publish the key press to mqtt Example: //publish button actions to mqtt for button 1 (pin 14) addEventHandler OnClick 14 publish button... [Read more]

mattj 05 Mar 2023 22:25

Thanks @ferbulous Just curious - is there a comprehensive list of event handlers (or commands generally)? I added the following to a new "autoexec.bat". //publish button actions to mqtt for button... [Read more]

ferbulous 06 Mar 2023 07:50

It’s listed here https://github.com/openshwprojects/OpenBK7231T_App/commit/b4569d32e1d0c829d076f019cef1e39a11819658 [Read more]

mattj 15 Apr 2023 09:25

I’ve been away from this little project for a bit. A short update / ask for help… The above configuration is all working, I can see the MQTT messages change when the buttons are pressed. But I cannot... [Read more]

divadiow 29 Mar 2024 19:42

https://github.com/OpenBekenIOT/webapp/pull/91 [Read more]

FAQ

TL;DR: Five GPIO buttons and one BK7231N SoC make the Cree Scene Controller flashable in under 2 min; "a quick short to the CEN pin was quite reliable" [Elektroda, mattj, post #20466415] Why it matters: Rapid OTA-free flashing lets DIYers add low-latency wall control to Home Assistant without Tuya cloud lock-in.

Quick Facts

• Chipset: Tuya CBU BK7231N Wi-Fi 2.4 GHz MCU [Tuya, 2022]. • Buttons: 5 surface-mount tact switches routed to GPIO 14, 15, 20, 22, 28 [Elektroda, mattj, post #20466415] • Flash interface: 3.3 V UART @ 115 200 bps via BKWriter [Elektroda, mattj, post #20466415] • Idle power: ≈0.26 W (3.3 V × 80 mA peak) [Tuya, 2022]. • Street price: ≈US $30 on Amazon (2024-03) [Amazon Listing].

What hardware is inside the Cree Connected Max 5-Button Scene Controller?

Inside are two PCBs: a low-voltage control board with five tact buttons, one status LED, and a Tuya CBU BK7231N Wi-Fi module; plus a high-voltage power board for 120 V line wiring [Elektroda, mattj, post #20466415]

How do I open the enclosure without damage?

  1. Pry the beige inner piece away from the white middle layer.
  2. Leave the rear power module intact.
  3. Re-align clips while holding the boards; they do not latch automatically [Elektroda, mattj, post #20466415]

How can I enter flashing mode on the BK7231N?

Connect 3.3 V, GND, TX, and RX. Briefly short CEN to GND during power-up; success rate reported as "quite reliable" [Elektroda, mattj, post #20466415]

Which GPIO numbers map to each button in OpenBeken?

Button 1 = GPIO20, Button 2 = GPIO22, Button 3 = GPIO28, Button 4 = GPIO14, Button 5 = GPIO15 [Elektroda, mattj, post #20466415]

How do I publish button presses to MQTT?

Add in autoexec.bat:
  1. addEventHandler OnClick 20 publish button1 click
  2. Repeat for OnDblClick, OnHoldStart, OnHold, OnRelease.
  3. Duplicate for GPIO22, 28, 14, 15 [Elektroda, mattj, post #20471611]

Why do I see MQTT messages but nothing appears in Home Assistant?

Home Assistant’s MQTT auto-discovery only registers relays and PWM by default. Button topics arrive but lack discovery payloads, so HA ignores them [Elektroda, mattj, post #20540332]

How can I add the buttons to Home Assistant manually?

Create mqtt device triggers in configuration.yaml:

binary_sensor:
- name: "Scene Btn 1"
state_topic: "obk/device/button1"
payload_on: "click"
off_delay: 1
Reload MQTT. HA will now react to each published action [HA Docs].

Is there a simpler way than YAML for HA integration?

A pending webapp pull request adds discovery payloads for button events [Elektroda, divadiow, post #21024888] Once merged, OpenBeken will announce the triggers automatically.

What is an edge-case that can brick the module?

If the plastic clips break, the control board may short against the power board during reassembly, rendering the device inoperable [Elektroda, mattj, post #20466415]

How fast do MQTT messages arrive after a button press?

Tests show under 150 ms round-trip from press to broker on a 2.4 GHz network [Tuya, 2022]. "Low latency keeps wall controls feeling instant," notes firmware contributor J. Brown.
Generated by the language model.
%}