logo elektroda
logo elektroda
X
logo elektroda
ADVERTISEMENT
  • #1 20403874
    gangle
    Level 3  
    Hi,
    First time poster so be gentle 🙂
    I've got a pair of wonderwall smart heaters that use tuya. They have a CBU board in them and I have flashed a few of these before using other people's methods.
    How would I go about creating a config for them once they're flashed? How would I work out the pinout?
    Plan B is to just gut the device and use a ZigBee switch and an external temperature sensor to control Klarstein Wonderwall bk7231n them.
    Any help would be really appreciated, this forum has saved me so many times already! Klarstein Wonderwall bk7231n Klarstein Wonderwall bk7231n

    Added after 45 [seconds]:

    Sorry for the terrible photos, can get better ones tomorrow.
  • ADVERTISEMENT
  • #2 20404014
    p.kaczmarek2
    Moderator Smart Home
    Hello, it should be easy to support that device, I can write a custom driver for you if that's needed, but I need your assistance to know the hardware details.

    First of all, do you a have a multimeter? Just a simple one featuring continuity test (beep mode).

    I need to know which CBU pins are connected where.

    Can you do some kind of sketch, or do annotations on the photo?

    Maybe start with relay... or buttons...

    Doing a better quality PCB photos (not blurry!) will also work.

    Here's the CBU pinout:
    Klarstein Wonderwall bk7231n
    Pin numberSymbolI/O typeFunction
    1P14I/OCommon GPIO, which can be reused as SPI_SCK (Correspond to Pin 11 of the IC)
    2P16I/OCommon GPIO, which can be reused as SPI_MOSI (Correspond to Pin 12 of the IC)
    3P20I/OCommon GPIO (Correspond to Pin 20 of the IC)
    4P22I/OCommon GPIO (Correspond to Pin 18 of the IC)
    5ADCI/OADC, which corresponds to P23 on the internal IC (Correspond to Pin 17 of the IC)
    6RX2I/OUART_RX2, which corresponds to P1 on the internal IC. (Correspond to Pin 28 of the IC)
    7TX2I/OUART_TX2, which is used for outputting logs and corresponds to P0 of the internal IC (Correspond to Pin 29 of the IC)
    8P8I/OSupport hardware PWM (Correspond to Pin 24 of the IC)
    9P7I/OSupport hardware PWM (Correspond to Pin 23 of the IC)
    10P6I/OSupport hardware PWM (Correspond to Pin 22 of the IC)
    11P26I/OSupport hardware PWM (Correspond to Pin 15 of the IC)
    12P24I/OSupport hardware PWM (Correspond to Pin 16 of the IC)
    13GNDPPower supply reference ground
    143V3PPower supply 3V3
    15TX1I/OUART_TX1, which is used for transmitting user data and corresponds to Pin 27 of the IC. For the MCU solution, please refer to CBx Module.
    16RX1I/OUART_RX1, which is used for receiving user data and corresponds to Pin 26 of the IC. For the MCU solution, please refer to CBx Module.
    17P28I/OCommon GPIO (Correspond to Pin 10 of the IC)
    18CENI/OReset pin, low active (internally pulled high), compatible with other modules (Correspond to Pin 21 of the IC)
    19P9I/OCommon GPIO (Correspond to Pin 25 of the IC)
    20P17I/OCommon GPIO, which can be reused as SPI_MISO (Correspond to Pin 14 of the IC)
    21P15I/OCommon GPIO, which can be reused as SPI_CS (Correspond to Pin 13 of the IC)
    Test pointCSNI/OMode selection pin. If it is connected to the ground before being powered on, enter the firmware test mode. If it is not connected or connected to VCC before being powered on, enter the firmware application mode. Correspond to Pin 19 on the internal IC.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #3 20404839
    gangle
    Level 3  
    Really struggling, had a quick probe around with the multimeter and can't find anything connected to the CBU at all!

    Klarstein Wonderwall bk7231n Klarstein Wonderwall bk7231n Klarstein Wonderwall bk7231n Klarstein Wonderwall bk7231n Klarstein Wonderwall bk7231n Klarstein Wonderwall bk7231n
  • #4 20404890
    p.kaczmarek2
    Moderator Smart Home
    @gangle well you can always desolder the CBU... but I assume you want easier route?

    Well, okay, then do this: open OpenBK page, and in Configure Device, set few pins to relays, each on different channel, like that:
    Klarstein Wonderwall bk7231n
    then try toggling relay on channel 0 (in this case P0 pin) - check if something happens and write down result.
    Then try toggling relay on channel 1 (in this case P1 pin) - check if something happens, again, write down result..
    Then... do the same for remaining channels.
    Write down result.
    Then, finally, remove Relay roles from P0 to P4, and add those roles to P5, P6, etc... again, set channels, 0, 1, 2, 3.... and try toggling.

    By doing this for each pin, you may determine some of the IO roles. For example, you may be able to determine which pin is buzzer, which is relay (?), which is heater.... it's a brute-force approach, but it works.

    BTW, just to be sure - there is nothing under 7-segment display, right? No hidden MCU?
    Helpful post? Buy me a coffee.
  • #5 20405354
    gangle
    Level 3  
    There does seem to be lots of traces on the PCD running under the 7segment so I assume there is something under there!

    That's a great approach, I'll give that a go! Thanks for helping!
  • ADVERTISEMENT
  • #6 20405436
    p.kaczmarek2
    Moderator Smart Home
    Please report your results here. Futhermore, you could use the same approach for buttons - for example, set each pin role to dInput (or just to Btn) and press and observe for changes in channel (linked channel, channels are used to pair relays and buttons or dInputs ,etc)
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #7 20405471
    gangle
    Level 3  
    So far I have found out the relay is pin 20!
    The only other thing I'd really like is to find the thermistor but I think that might be beyond me!

    Added after 4 [minutes]:

    Is there any way to use the original firmware to find anything out?
  • #8 20405483
    p.kaczmarek2
    Moderator Smart Home
    Maybe... do you have an original firmware backup?

    Wait, isn't thermistor on ADC pin? Just set ADC role and check the readings of ADC pin to linked channel and check if it reacts with temperature?
    Helpful post? Buy me a coffee.
  • #9 20405488
    gangle
    Level 3  
    I do have the firmware and that is probably the way to go I think, it seems that the device turns on and off for short bursts to make sure the heater panel doesn't overheat!
    I've attached the backup.
  • #10 20406541
    p.kaczmarek2
    Moderator Smart Home
    Hmmm after consulting experts I've heard that there is no pin information in this binary as it is a non-standard device.

    So guessing and multimeter is the only way.

    Would you be able to sketch some connections? maybe in paint, on PCB photo?

    is there a MCU under 7segment display?

    Where are the button traces going?
    Helpful post? Buy me a coffee.
  • #11 20406673
    gangle
    Level 3  
    There is an MCU under the display as feared. I'll pop the display off tonight and try and map out the traces.
    Had a go at playing with the config but made no progress!
  • #12 20406695
    p.kaczmarek2
    Moderator Smart Home
    Does MCU connects to TXD1/RXD1 port of WiFi module, is this TuyaMCU?
    Helpful post? Buy me a coffee.
  • #13 20478738
    dew28
    Level 4  
    Hello there,

    'MCU' is TM1650 controller, connects CBU to SDA:P14, SCL:P16

    Others:
    Buzzer -> P8
    Relay -> P20
    Thermistor -> ADC

    4 buttons:
    KEY1 (on/off) -> TM.pin15
    KEY2 (mode) -> TM.pin11
    KEY3 -> TM.pin13
    KEY4 -> TM.pin14
  • #14 20480210
    p.kaczmarek2
    Moderator Smart Home
    TM1650 ? Really? We just have added driver for TM1637 very recently.

    Do you have that device at hand? Would you like to help us with testing/adding/changing the driver to fit that device?

    EDIT: TM1650 chip can be bought on aliexpress, I will order it, but it's just chip, no display..
    Helpful post? Buy me a coffee.
  • #15 20480226
    dew28
    Level 4  
    yeah, but 1650 communicates via i2c, while 1637 is SPI like if I'm not mistaken.
    I've got the device here. I can measure what you want to know, but my programming skills are not the best.. :)
    In this device tm1650 is under a 2x7 segment led display, az shown on pictures above
  • #16 20480437
    p.kaczmarek2
    Moderator Smart Home
    I think both of those displays have communication protocol similar to I2C, but that's not 1:1 the I2C standard. We already have a software I2C code that works on any pins and we already have a 7 digits display frontend code. The frontend code should be shared, while backend should be per display model.

    My TM1650 are on the way from China to me, but it will take some time for them to arrive. I will already try to do some tests. Please check this thread often, i will try to post some update for you to testing later today.

    I am attaching TM1650 datasheet.

    Btw, sadly the protocols while being similar, are not the same:
    Klarstein Wonderwall bk7231n
    Helpful post? Buy me a coffee.
  • #17 20480478
    p.kaczmarek2
    Moderator Smart Home
    UPDATE: Can you update firmware and run:
    
    backlog startDriver TM1637; TM1650_Test
    

    command?
    (yes, the TM1637 driver, don't change anything).

    It assumes:
    Quote:

    'MCU' is TM1650 controller, connects CBU to SDA:P14, SCL:P16


    Please test.
    Helpful post? Buy me a coffee.
  • #18 20481979
    dew28
    Level 4  
    I updated to v1.15.580, entered the complete command, and.. nothing happened (neither in log) except on main page now shows: "1 driver active (TM1637), total 28" what pin settings should I use? SoftSDA/SCL, or TM1637DIO/CLK? (I tried both versions, with no luck)
  • #19 20487951
    dew28
    Level 4  
    Klarstein Wonderwall bk7231n

    EDIT:
    I've found only one working lib for ESP8266, maybe it will help link
  • #20 20489229
    p.kaczmarek2
    Moderator Smart Home
    The test command already has your GPIO programmed, so there is no need to select them.

    This schematic looks very nice, is it your work?

    I don't think that this driver can help now. I just need to get that device myself. I have ordered.

    I have pushed slight different version of communication , you can test if you want, but I would really need to have that device in front of me.
    I really seem to think I follow the datasheet well:
    Klarstein Wonderwall bk7231n

    Their approach seems very similar to mine...
    https://github.com/zhuning239/TM1650/blob/master/main.ts
    Spoiler:
    Code: C / C++
    Log in, to see the code

    Helpful post? Buy me a coffee.
  • #22 20582051
    p.kaczmarek2
    Moderator Smart Home
    My TM1650 arrived few days ago, I will try to look into it this week
    Klarstein Wonderwall bk7231n
    Helpful post? Buy me a coffee.
  • #23 20680813
    gangle
    Level 3  
    Did anyone ever manage to crack this?
  • #24 20684104
    p.kaczmarek2
    Moderator Smart Home
    It's still pending, but we have now drivers for almost whole TM family so it should be easy:
    A table fragment showing drivers for LED displays: TM1637, TM1638, GN6932, and HT16K33.
    Helpful post? Buy me a coffee.
  • #25 20860465
    andreas_riegler
    Level 1  

    Got the same device. Thought it's a normal, just flash and run device but ....
    Is there an update on this?

Topic summary

The discussion revolves around configuring and flashing the Klarstein Wonderwall bk7231n smart heaters, which utilize a Tuya CBU board. The original poster seeks assistance in creating a configuration after flashing the device and determining the pinout. Various users provide troubleshooting advice, including using a multimeter to identify connections, experimenting with relay toggling to map pin functions, and suggestions for using the original firmware to gather information. The TM1650 controller is identified as part of the device's architecture, with users discussing the potential for developing custom drivers and testing communication protocols. The conversation highlights the challenges of working with non-standard devices and the collaborative effort to reverse-engineer the heater's functionality.
Summary generated by the language model.
ADVERTISEMENT