logo elektroda
logo elektroda
X
logo elektroda

[W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light

ShadowLight30 2007 11
ADVERTISEMENT
  • Hello!

    I recently came across this board while looking to convert an Aubess/Tuya relay to OpenBeken... And I was wondering what was making my smart lights tchuutchuu! So please join me in this teardown and modding journey :)

    I bought these lights back in 2019 from Amazon France. They are not available anymore, this link is only for reference. The build quality is good, the body is made of plastic and aluminum. It is compatible with Google Home and Alexa but you need the Smart Life app... Which I'm not a fan of.

    The white dome is held secured to the housing with 2 or 3 dots of glue. Simply twist the dome to break the joints, and unclip it from the housing when it starts rotating. The electronics are made of 3 pieces: the LED board, power supply, and driver board. The LED board is held secured to the housing with 3 small screws and a bit of glue: unscrew the screws then use a dental pick or a small flat screwdriver to pry the board up to break the glue joints. Upon reassembly, I would add some thermal paste where the board meets the housing to help dissipate the heat. The driver board sticks through the LED board... Push against it with your thumb while pulling the LED board to keep the power supply + driver boards inside.
    [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light

    The driver board is soldered to the power supply. By the way, the power supply looks to be a real switching power supply, which is way better than what you can find in an Aubess/Tuya relay! There might be high voltage in there so be careful, but you could connect a USB-TTL converter to the driver board without fearing of frying your USB-TTL or computer. Back to the driver board, it is identified as "AJ-05" on the back, where you can also see the pinout! That's so convenient :)
    (left to right)
    - GND
    - PB8/WW
    - PB18/R
    - PB16/G
    - PB15/B
    - PB13/CW
    - VCC (3.3v)
    The board hosts a Winnermicro W600-A800 microcontroller datasheet here.
    [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light

    We can see 3 test pads on the driver board next to the W600 chip, this is where it gets interesting :)
    - TX1 = PA4 - UART0_TX
    - TX2 = PA5 - UART0_RX
    - TX3 = TEST (useless for us)
    In other words... Would you want to connect this lamp to a USB-TTL converter this is what you would want to do:
    [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light

    Ok... and now what? Well now we can flash our favorite OpenBeken app on the chip, and unleash the potential of the light bulb! Well... kind of... more on that later.

    I started using vshymanskyy's w600tool software. Since the reset pin is not readily available on the driver board, we can briefly disconnect then reconnect the ground pin to reset the device when w600tool asks for a reset. Let's say your USB-TTL is known on your computer as COM8, first let's check if we talk the same language as the chip by reading its MAC address:
    Code: Powershell
    Log in, to see the code


    If the output looks decent, let's continue and flash the chip! At this point, I realized there was another tool from OpenBK team that could be used to flash the chip and I think that's the one I used... The OpenW600_xxxxx.fls file was downloaded OpenBK2731T_App releases page on Github, look for the W600 UART flash file.
    Code: Powershell
    Log in, to see the code


    Reboot the device, and you should see a new Wifi popping up around you called OpenW600something. Connect to it, browse to http://192.168.4.1 and configure the device to match your wills (wifi, mqtt...). Then, configure the pins:
    [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light

    With these settings, each color has its own channel. However, there is an issue: they are not dimmable. They are either on or off. I tried playing with the settings to get some PWM working but I couldn't get any working results. OpenW600 does not even support PWM on all pins... I'm pretty sure the hardware is capable of outputting PWM on those pins because there is no driver down the line toward the LEDs, only humble transistors. So I guess some modifications would be required on the firmware, I'll look into that later.
    Anyways! Now the light bulb can be reassembled and updated using the OTA feature of the OpenBK/OpenW600 firmware.

    Cool? Ranking DIY
    About Author
    ShadowLight30
    Level 5  
    Offline 
    ShadowLight30 wrote 8 posts with rating 1. Been with us since 2023 year.
  • ADVERTISEMENT
  • #2 20424976
    p.kaczmarek2
    Moderator Smart Home
    Thanks for very detailed description. I am suprised that there is a PWM issue, please look into it if you can, you can build obk online, no need to setup compiler on your PC. Otherwise I'll try to look into it myself later.
    I also have W600 bulb, not flashed yet:
    [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #3 20425109
    ShadowLight30
    Level 5  
    Thank you. I may have misconfigured the pins tho... In such a case, I guess setting the pin to PWM should work, correct?
    I already have the code and the compiler on my computer because I also highly modified the Aubess relay I have to add a SHT3x temp/humidity sensor and an IR receiver... The value for the temperature is multiplied by 10 upon measure to allow for float result, however the channel's value is sent "as is" over MQTT. I use Domoticz, and it would display a temperature of 235 celsius degrees instead of 23.5. Setting channelType to temperature_div10 would not change the value sent over MQTT so I changed that... Where the code calls for sprintf, I added a switch case to take the channel type into account, and divide the channel value by 10, 100 or 1000 depending on the type. I can send a merge request if you want.
  • Helpful post
    #4 20425136
    p.kaczmarek2
    Moderator Smart Home
    I've been thinking about that temperature issue and I assumed the simplest way to handle it without codebase changes would be to do addChangeHandler with publishFloat command and multiple there value by 0.1 before publishing.
    Another solution would be to add a generic pre-publish multiplier for channels.
    Still, please do a pull request, at least so I can review your ideas.

    Your solution seems good but it would break current setups. For example, my TH06 has already *0.1 multiplier on HA side. What about adding a flag for your feature? Do a pull request but encase your behaviour into a flag, something like, CFG_HasFlag(OBK_FLAG_PUBLISH_MULTIPLIED_VALUES) ? That way I could merge your changes right away.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #5 20438743
    ShadowLight30
    Level 5  
    Follow-up:
    OTA was broken, even when compiling the firmware locally. It was partially working since I could not even start another OTA from the web app after trying and failing one first time. Something was wrong with the image header. The only way of updating the firmware was via serial...
    Version 1.15.446 fixes the issue, probably since the SDKs update in v1.15.437. I was able to do an OTA through the "old" menu in the config section (it would not work with the previous versions just like in the web app). However, I'm not sure an https link would work from there so here is what I did, assuming these commands are run from a Linux machine with the private IP 192.168.1.250 with Python 3 installed:
    Code: Bash
    Log in, to see the code


    So now we have a web server ready to serve the firmware image to the light bulb. Go to the device's config menu and navigate to the old OTA sub-menu, enter the URL "http://192.168.1.250:9000/OpenW600_1.15.446_gz.img" (set the IP address to your Linux machine) in the text field, click Submit and confirm... Wait for the OTA to finish.
    [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light

    PWM is still broken on my devices tho... I tried to watch for a signal on the oscilloscope on the driver board outputs (off-grid testing) but they stayed flat low whatever the value set on the channel. I wonder if it would have to do with internal pullup or pulldown?
  • #6 20438892
    p.kaczmarek2
    Moderator Smart Home
    We've really tried to reduce the OTA image size so it works again. Problem should be solved, at least for the time being.

    HTTPS support would take too much memory, we can't afford that on W600 platform, W600 has very little memory available, as far as I know.

    @iprak, do you know anything about that PWM issue?

    I am finalizing BL602 bulb flashing video:
    [W600 / AJ-05] Bakibo TB95 9W 1000lm RGBCWW Light
    please keep an eye on our YT channel:
    https://www.youtube.com/@elektrodacom
    the next bulb I have is the one with WinnerMicro chip, so maybe I will know more soon.
    Helpful post? Buy me a coffee.
  • #7 20615095
    TheFatz
    Level 5  
    ShadowLight30 wrote:
    PWM is still broken on my devices tho... I tried to watch for a signal on the oscilloscope on the driver board outputs (off-grid testing) but they stayed flat low whatever the value set on the channel. I wonder if it would have to do with internal pullup or pulldown?


    I have a TW-03 based device (MLB7-1025-WHT, https://monsterilluminessence.com/product/smart-led-light-strip/ ) with PWM configures on PB15/PB16/PB18 and I'm also having the issue where PWM doesn't work. LED/Relay does but no PWM function working at all.
  • #8 20615253
    p.kaczmarek2
    Moderator Smart Home
    The link you have posted is giving me "403 Forbidden", even with extra brace character removed from the end. Maybe it's not available from EU?

    I can try to look into that PWM issue soon, in a meantime, please post a teardown and share full device config if possible.
    Helpful post? Buy me a coffee.
  • #9 20788092
    aquinora
    Level 2  
    >>20615095
    I have a similar issue with the same setup. RGB LED on pins 15, 16, 18 on the TW-03 chip. Running version 1.17.291. if I set pins to relay I can turn LEDs on and off, but if set to PWM the LEDs stay dimly illuminated when toggled off. Not sure what it is about the PWM setting that doesn't take the pin all the way to 0.
  • ADVERTISEMENT
  • #10 20788146
    p.kaczmarek2
    Moderator Smart Home
    I haven't seen this issue yet, but maybe we should turn off totally PWM in HAL when a 0 duty is passed:
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/src/hal/w800/hal_pins_w800.c
    Helpful post? Buy me a coffee.
  • #11 20788165
    aquinora
    Level 2  
    I think that may work. I'm willing to give it a test, but am not well versed in compiling binaries.
  • #12 20788192
    p.kaczmarek2
    Moderator Smart Home
    If you open a pull request, you get automatic online builds for all supported platforms.
    Helpful post? Buy me a coffee.

Topic summary

The discussion revolves around the Bakibo TB95 9W 1000lm RGBCWW light and its compatibility with OpenBeken firmware. Users share experiences regarding PWM issues with the W600 bulb, including problems with dimming and relay functionality. The author details a teardown process and modifications to the light, expressing dissatisfaction with the Smart Life app. Solutions proposed include adjusting pin configurations and using a pre-publish multiplier for temperature readings. Users also discuss firmware update challenges, particularly with OTA (Over-The-Air) updates, and share methods for local firmware installation. The conversation highlights the need for community collaboration in troubleshooting and improving device functionality.
Summary generated by the language model.
ADVERTISEMENT