Elektroda.com
Elektroda.com
X
  • This is a short teardown of the E27 A60-Bulb LED RGBCCT which is based on BK7231T

    Basic Informations:

    Brand: Tuya
    Model: E27 A60-Bulb LED RGBCCT
    Chip: BK7231T (WB2L)
    Vendor: https://shopee.com.my/product/68463208/6454092983?smtt=0.5847450-1663473183.9
    Got it discounted from a local marketplace, but I'm pretty sure the same bulb is available in aliexpress provided it's in the same packaging as below.
    My unit was sold as defect bulb, apparently there's a defect with the power supply that causes the board to restart and flicker for 1 sec that happens randomly but not frequent.
    Is there a way to have to turn it back on from previous state/color/brightness when the random restart occurs?
    On stock firmware, it does resume when that happens but it just turns off on openbk.

    [BK7231T] E27 A60-Bulb LED RGBCCT [BK7231T] E27 A60-Bulb LED RGBCCT

    The pcb is sealed with silicone which makes it difficult to tear down this bulb without destroying the case.
    [BK7231T] E27 A60-Bulb LED RGBCCT

    It's recommended to flash using cloudcutter, you can flash it via ota by selecting Generic Profile - E27 A60 RGBCWW

    Pinout:
    Pin 26: PWM 1
    Pin 24: PWM 2
    Pin 6: PWM 3
    Pin 8: PWM 4
    Pin 7: PWM 5

    Cool? Ranking DIY
    About Author
    ferbulous
    Level 16  
    Offline 
    ferbulous wrote 312 posts with rating 37, helped 5 times. Been with us since 2022 year.
  • #2
    p.kaczmarek2
    Moderator Smart Home
    Thank you for the article. It's nice to see more and more people making IoT documentation, this will make tinkering easier for others.

    ferbulous wrote:

    It's recommended to flash using cloudcutter, you can flash it via ota by selecting Generic Profile - E27 A60 RGBCWW

    This is a very good news, there are many hobbyists who can't solder well and also opening bulb cases is somewhat difficult. Especially when the inside is sealed with silicone...

    By the way, I am also actively making Tuya bulb dumps (2MB flash backups) for Tuya-cloudcutter as well, see my recent topics:
    LED Kanlux S A60 11.5W E27 RGBCW [CB3L/BK7231N] Similiar one but with no silicone inside? But my one is a "S" version and your seems to be just A60? Also yours is BK7231T and this one is BK7231N, hmm
    Nous Smart WiFi Bulb P3 RGBCW - CB2L + BP5758 - change firmware
    (2MB firmware dump is required for Tuya-cloudcutter to add support for a given device, that's why someone has to read the flash with cables first at least once from the given device model, then others can program given model via WiFi only without soldering)
    They are at the moment not translated to English, but firmware dumps were already submitted to Tuya-cloudcutter.

    I am also working on next Youtube flashing guide, so I might be sometimes slow to reply, sorry in advance, but we're still making good progress. Also, I still have 2 bulbs for tearing down left:
    [BK7231T] E27 A60-Bulb LED RGBCCT

    If anyone also has any IoT devices, please post teardowns as well.

    Extra request: you can also add device information to our online devices database, so people can use it's template in the firmware automatically, just by selecting device name from dropdown list:
    https://github.com/OpenBekenIOT/webapp/blob/gh-pages/devices.json


    Regarding your question...
    ferbulous wrote:

    Is there a way to have to turn it back on from previous state/color/brightness when the random restart occurs?

    I think the state saving is currently added only for raw channels and not for LED driver (although you can script it easily by startup commands/autoexec), but since you're requesting I will add a RGBCW state saving in the following days, with a simple flag or something required to check in order to enable it
  • #3
    ferbulous
    Level 16  
    p.kaczmarek2 wrote:
    This is a very good news, there are many hobbyists who can't solder well and also opening bulb cases is somewhat difficult. Especially when the inside is sealed with silicone...

    This seems to be the only smart bulb that I've bought with the pcb sealed in

    p.kaczmarek2 wrote:
    I think the state saving is currently added only for raw channels and not for LED driver (although you can script it easily by startup commands/autoexec), but since you're requesting I will add a RGBCW state saving in the following days, with a simple flag or something required to check in order to enable it

    Thanks! Until that feature is added, is there an example for a script that would save any changes anytime I toggle the lights color/brightness/state?

    p.kaczmarek2 wrote:
    Similiar one but with no silicone inside? But my one is a "S" version and your seems to be just A60? Also yours is BK7231T and this one is BK7231N, hmm

    I believe mine is different since it doesn't have LED driver

    p.kaczmarek2 wrote:
    They are at the moment not translated to English, but firmware dumps were already submitted to Tuya-cloudcutter.

    I noticed cloudcutter hasn't been updated for the past few months but new dumps are still added. Is it possible for any user with limited coding skills to just manually add the profile?
  • #4
    p.kaczmarek2
    Moderator Smart Home
    ferbulous wrote:

    This seems to be the only smart bulb that I've bought with the pcb sealed in

    Reminds me of YLDP02YL
    https://www.elektroda.pl/rtvforum/topic3899403.html

    ferbulous wrote:

    Thanks! Until that feature is added, is there an example for a script that would save any changes anytime I toggle the lights color/brightness/state?

    No need for hackery, development version 1.12.57 is up. It should save RGB, temperature, brightness and mode (RGB or CW). I've tested it only on RGBCW bulb and it seems to be working so far.
    [BK7231T] E27 A60-Bulb LED RGBCCT

    ferbulous wrote:

    I noticed cloudcutter hasn't been updated for the past few months but new dumps are still added. Is it possible for any user with limited coding skills to just manually add the profile?

    It depends. There is an automatic tool for that, but it still requires some steps and not always works in most cases. Would you like me to write a tutorial for that tool? The basic process (using that tool) is relatively easy to do, but mostly works on T platform.
  • #5
    ferbulous
    Level 16  
    p.kaczmarek2 wrote:

    I do have another xiaomi bulbs, it does feel heavier than tuya bulbs probably due to silicon seal

    p.kaczmarek2 wrote:
    No need for hackery, development version 1.12.57 is up. It should save RGB, temperature, brightness and mode (RGB or CW). I've tested it only on RGBCW bulb and it seems to be working so far.

    Thanks for the new update! Will update later today

    p.kaczmarek2 wrote:
    It depends. There is an automatic tool for that, but it still requires some steps and not always works in most cases. Would you like me to write a tutorial for that tool? The basic process (using that tool) is relatively easy to do, but mostly works on T platform.

    That would be great. When you mentioned it doesn't work in most cases, is it because the device stock firmware has already been patched that prevents cloudcutter from working?
    And what of N devices?
  • #6
    ferbulous
    Level 16  
    p.kaczmarek2 wrote:
    No need for hackery, development version 1.12.57 is up. It should save RGB, temperature, brightness and mode (RGB or CW). I've tested it only on RGBCW bulb and it seems to be working so far.

    Just tested it and it restored back the last light state, thanks! Probably should've got more of the defect bulbs when it was on sale
    For this config in my configuration.yml, do I still need to check anything else the openbk settings?
    Also, how do I prevent openbkt reset if the light switch gets toggled too quickly, similar to tasmota's SetOption65

    
    #light
      light:
        name: "A60"
        rgb_command_template: "{{ '%02x%02x%02x' | format(red, green, blue)}}"
        rgb_state_topic: "a60_bulb/led_basecolor_rgb/get"
        rgb_command_topic: "cmnd/a60_bulb/led_basecolor_rgb"
        rgb_value_template: "{{ value[0:2]|int(base=16) }},{{ value[2:4]|int(base=16) }},{{ value[4:6]|int(base=16) }}"
        command_topic: "cmnd/a60_bulb/led_enableAll"
        state_topic: "a60_bulb/led_enableAll/get"
        availability_topic: "a60_bulb/connected"
        payload_on: 1
        payload_off: 0
        brightness_command_topic: "cmnd/a60_bulb/led_dimmer"
        brightness_scale: 100
        brightness_state_topic: "a60_bulb/led_dimmer/get"
        brightness_value_template: "{{value}}"
        color_temp_command_topic: "cmnd/a60_bulb/led_temperature"
        color_temp_state_topic: "a60_bulb/led_temperature/get"
        retain: true


    [BK7231T] E27 A60-Bulb LED RGBCCT
  • #7
    p.kaczmarek2
    Moderator Smart Home
    I'm glad it helped!
    Ok, regarding the resets, there is already a setting for that:
    [BK7231T] E27 A60-Bulb LED RGBCCT
    (also notice the uptime!)
    The setting is called "Uptime seconds required to mark boot as ok:". Use with caution, but you can set it to 15 seconds or less, and it will treat all power ons with more than 15 seconds elapsed as proper boots. Or maybe even you could set it to lower value, but remember, if you encounter a bug in future updates, and that bug is crashing the device, for example, 10 seconds after reboot (on wifi connect) and you set that fields to 5 seconds, then you will never reach safe mode again unless you deliberately do a five quick power on/off cycles.


    Regarding tuya-cloudcutter.... no, this is not related to Tuya updating the firmware. Basically, the automatic tool tries to find offsets automatically (instead of requiring us to do it manually in Ghidra) but it's not finished, so there are firmware dumps where this tool fails but, for example, @kmnh still can prepare the hack.