logo elektroda
logo elektroda
X
logo elektroda

Novadigital 2 Channel Dimmer with CB3S Module: OpenBeken Firmware Integration Issues

victorzwk 423 7
ADVERTISEMENT
  • #1 21847556
    victorzwk
    Level 2  
    I have a Novadigital 2-channel dimmer that I want to operate on alternative firmware.

    Close-up of a green PCB with surface-mount components on a blue background Circuit board with CB3S module, screw terminal block, and a yellow relay Close-up of a PCB with a green screw terminal block, an IC, and electrolytic capacitors on a blue background Close-up of a green PCB with an IC chip and SMD components on a blue work mat

    I confirmed that the device uses the CB3S module, but here comes the difference from all other dimmers I have seen here: The CB3S module only talks to the onboard MCU (HK32F03MF4P6). Only the TX line from the CB3S to the MCU exists.

    The S1 and S2 switches are connected directly to the CB3S module. Here is the wiring from the CB3S module (I had to desolder it to be able to track the circuit):
    MCU <- TX1 (CB3S)
    MCU -> RST (CB3S)
    S1 -> P9 (CB3S)
    S2 -> P8 (CB3S)
    LED <- P6 (CB3S)
    Reset button -> P24 (CB3S)

    So, for now, I was able to dump the firmware and also upload OpenBeken, but I cannot configure it because of the said differences.
    readResult...-16-31.bin (2 MB)You must be logged in to download this attachment.

    Any ideas from the community?
  • ADVERTISEMENT
  • #2 21847568
    p.kaczmarek2
    Moderator Smart Home
    Hey, thank you for posting. We'll try to help to get this running for you.
    I think it;s either TuyaMCU or "girier MCU".

    TuyaMCU resource:
    https://www.elektroda.com/rtvforum/topic3898502.html

    Girier:
    https://www.elektroda.com/rtvforum/topic3985978.html
    newer driver:
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/src/driver/drv_girierMCU.c

    Judging from the fact that switches are connected to the WiFi module, and not to the MCU, I'd say it's the latter. So I would try with:
    
    uartInit 9600
    uartSendHex 0A FF 55 02 00 9F 00 00 0A
    
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #3 21848038
    divadiow
    Level 38  
    I have managed to get your dump to pair with Tuya app with a cheap quick Python GrierMCU simulator. I see values changing as I adjust dimmers.
    Terminal screenshot with RX/TX logs and dimmer channel values in hex plus approximate percentages.

    Tuya app screen “2CH Wi‑Fi Dimmer” with brightness slider and two dimmer controls
  • #4 21848056
    p.kaczmarek2
    Moderator Smart Home
    Great! That confirms, it's a Girirer. Can you share your script @divadiow ?
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #5 21848060
    divadiow
    Level 38  
    sure. it's probably doing too much or not enough. not refined. stopped development when device became visible to pair. pid may not be required but script mandates it at the moment

    Code: Text
    Log in, to see the code
    Attachments:
    • girier_mcu_emulator.zip (3.76 KB) You must be logged in to download this attachment.
  • ADVERTISEMENT
  • #6 21848771
    divadiow
    Level 38  
    Code: Text
    Log in, to see the code


    Code: Text
    Log in, to see the code
    Attachments:
    • girier_mcu_sniffer_passive.zip (1.98 KB) You must be logged in to download this attachment.
  • #7 21849015
    divadiow
    Level 38  
    factory boot log for the record
    Code: Text
    Log in, to see the code
  • #8 21849653
    victorzwk
    Level 2  
    Awesome, thank you all for the contributions!

    With the information gathered here I was able to modify this dimmer and add a bunch of features. I did this on ESPHome, because I'm more familiar with it, and because my final objective was to integrate the dimmer in HomeAssistant. I believe this mods can also be implemented on OpenBeken, but I don't know how to to it.

    What I have achieved on this device:
    - Two‑speed dimming with adjustable intervals and trigger time
    - Fully adjustable parameters for the dimmer: steps, speed, timings, etc.
    - Direction reversal on every long press
    - Persistent brightness and direction across reboots
    - Automatic Home Assistant integration with a brightness slider using the ESPHome API.

    I share the code I'm using bellow if someone is interested.
    Code: YAML
    Log in, to see the code

    I share also a picture of the microcontroller board with it desoldered:
    Two small PCB modules side by side on a blue surface, showing solder pads and pin labels

    The dimmer is now under testing. I will come back with more information soon.

Topic summary

✨ A Novadigital 2-channel dimmer equipped with a CB3S module was analyzed for alternative firmware integration using OpenBeken. The CB3S module communicates solely via a TX line to the onboard MCU (HK32F03MF4P6), with no RX line present. Switches S1 and S2 are wired directly to the CB3S module pins P9 and P8, respectively, while the LED and reset button connect to P6 and P24. Firmware dumping and OpenBeken upload were successful, but configuration issues persist due to the unique wiring. It is suggested that the CB3S module may use a "girier MCU" protocol rather than TuyaMCU, supported by the fact that switches connect to the WiFi module instead of the MCU. A recommended approach includes initializing UART at 9600 baud and sending a specific hex command sequence to communicate with the module.
Generated by the language model.
ADVERTISEMENT