logo elektroda
logo elektroda
X
logo elektroda

Arlec Grid Connect Smart Desktop Bar Lights - Twin Pack - Teardown

wolfieeewolf 1482 24
ADVERTISEMENT
  • #1 20804796
    wolfieeewolf
    Level 11  
    Device Name: Arlec Grid Connect Smart Desktop Bar Lights - Twin Pack - ALP223HA
    Device Type: Desktop Bar Lights
    Device Chip: CBU - BK7231N
    Device Purchased Bunnings Warehouse - $49AUD

    Close-up of a circuit board with electronic components. A single Arlec Grid Connect Smart Desktop Bar light with a height of 300 mm and a base width of 90 mm. Two vertical LED light bars emitting multicolored light, positioned on black bases. A person holding a phone with a control app for Arlec Grid Connect Smart Desktop Bar Lights in the background.


    Flashing of Main Chip

    CloudCutter Profile - Profile.json

    I created a CloudCutter profile using LightLeak.

    Configuration of Module

    So far I haven't put OBK on device. I think I'll wait until I can see if OBK can do what the mobile app can do.

    The device have two separate addressable RGB strips inside with 10 led per strip. It has a mic for music mode as well.
    Arlec Grid Connect app interface for controlling desktop bar lights. Arlec app interface for controlling RGB desktop lights with various lighting themes. Arlec app interface for desktop lights with music mode. Screenshot of the Arlec app showing music modes for light synchronization. Arlec app interface displaying color options and night mode for RGB light strips.

    As far as I can tell OBK does not have the fuctions that the mobile app has. I could use WLED but to keep all my devices the same I would like to use OBK.

    I'm not sure OBK will ever get all the functions that the mobile app has and I would have to create a custom entity in Home Assistant as well to handle this device.

    For now I am not converting this device. The app has some nice transitions and functions that work well for now. Would be great to not have it cloud based though.

    If OBK should these features in the future I will update this post with configuration settings.
  • ADVERTISEMENT
  • #2 20804874
    p.kaczmarek2
    Moderator Smart Home
    Hello, which GPIOs are used to control the strips?
    Are you sure that they are separate?
    I am asking because we are working on WS2812B driver and on similiar devices and as far as we know at the moment is that due to timing requirements only P16 (MOSI) can be used to drive that kind of LEDs, no other pin will work for that.

    If you want to help with development, you could just make 2MB backup, flash OBK for some testing, and once we're done, restore back to Tuya. What do you think? We could check if current SM16703 driver can handle your device, maybe I could try to help with adding some effects, etc.
    Helpful post? Buy me a coffee.
  • #3 20805149
    wolfieeewolf
    Level 11  

    I will have to tear down the device again and see if I can get a better photo of the LED strip. It is the one thing I forgot to take a photo of.

    I do have the light leak profile that has the bin file. Not sure if that will help.

    BIN and JSON Files
    deskrg..zip Download (1.12 MB)

    If I can revert back to the original firmware again I'll try some testing and see what happens. Will try and dump the firmware tomorrow using BK Flasher.
  • #4 20806233
    wolfieeewolf
    Level 11  
    Managed to get the firmware dumped using BK Flasher

    readResult...-28-10.bin Download (2 MB)

    also took a few photos of the LED strip and IC chip. There are 30 LEDs and depending on what mode you use it will split them up into lots of 3 or if using the custom themes you can set each LED to a different colour

    Circuit board with two USB-C ports and three buttons. Addressable LED strip displaying green-lit diodes. Close-up of an LED on an LED strip with visible soldered wires. Close-up of a single LED on a circuit board. Close-up of an LED strip marked CYTT-279/V1.0 with a date 2022-12-12 and Chinese characters. Close-up of a circuit board with integrated circuits and connectors, marked with VWDG. Close-up of a circuit board showing the CYTT-279 and AMS1117 chip markings on a green PCB.

    I also captured a video of the strip so you can see the addressable LEDs in action





    Still haven't put OBK on the device yet. That will be next.
  • #5 20814177
    wolfieeewolf
    Level 11  

    I have flashed the device with OBK.

    So far no luck in getting this to output anything.

    I used the GPIO finder and I'm getting something on pins 22, 24, and 7.

    Pin 22 is the power on/off button.
    Pin 24 is the color change button.
    Pin 7 is the mode change button.

    I have tried setting Pin 16 to SM16703P_DIN as suggested, but nothing is happening.

    I'm slowly working my way through the list of LED drivers in hope that one of them does something.

    I'm thinking I might have to go back to the stock firmware and see if I can debug it to see if that reveals anything worthwhile.

    I read the Tuya GPIO config from 0x1EE000 and import the BIN file into BKflasher - I get this

    Device configuration, as extracted from Tuya: 
    - Control Pin (TODO) on P26
    Device seems to be using CBU module, which is using BK7231N.
    And the Tuya section starts at UNCOMMON POSITION 0

  • #6 20814302
    p.kaczmarek2
    Moderator Smart Home
    Please include the raw Tuya JSON, which can contain much more information

    No one suggested that:
    
    SM16703P_DIN 
    

    To test SM16703, you do:
    
    //Start driver, CHANGE [[pixelcount]] to number of leds
    startDriver SM16703P
    
    //Init Driver
    SM16703P_Init [[pixelcount]]
    
    //Set Pixel
    SM16703P_SetPixel 1 255 0 0
    SM16703P_SetPixel 2 0 255 0
    SM16703P_SetPixel 3 0 0 255
    
    //Start Output (each call will trigger one
    SM16703P_Start
    

    I will remove that DIN role because it seems to confuse people
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #7 20814361
    wolfieeewolf
    Level 11  
    p.kaczmarek2 wrote:
    No one suggested that:
    Code: text Expand Select all Copy to clipboard
    SM16703P_DIN


    p.kaczmarek2 wrote:
    We could check if current SM16703 driver can handle your device


    Sorry I just assumed that's what you meant by this.

    I tried the code and the led's light up white but the first few leds are green and red and the end led's are green. There are 30 led per strip and both strips are lit up. In the mobile app you can set the colours different on each strip so not sure if I should be using 60 for the pixel count or not. It didn't make a diffenece setting it to 60.

    From my experince working with leds for my christmas light display the mixed up of colours usually means the wrong pixel type. I guess I could try and put wled on the chip and see if i can work out what pixels it has unless you have another suggestion.

    Added after 10 [minutes]:

    This is the JSON from the stock firmware

    {
    	"rgbtows":"700",
    	"Jsonver":"1.1.1",
    	"gmwb":"100",
    	"title20":"0",
    	"cdtime1":"60",
    	"1err":"40",
    	"cdtime2":"120",
    	"totallen":"30",
    	"gmwg":"100",
    	"knum":"3",
    	"k3pin_lv":"0",
    	"leaderr":"30",
    	"rgbtoch":"220",
    	"wfcfg":"spcl_auto",
    	"colormin":"10",
    	"bitseq":"0",
    	"pmemory":"1",
    	"gmkb":"60",
    	"pairt":"606",
    	"cmod":"rgb",
    	"slidemod":"0",
    	"micpin":"23",
    	"rgbtocs":"0",
    	"customcode":"00ef",
    	"rstbr":"50",
    	"ktime":"5",
    	"0err":"70",
    	"colormax":"58",
    	"module":"CBU",
    	"ctrl_lv":"1",
    	"rstmode":"2",
    	"irpin":"20",
    	"sfunc":"1",
    	"key_lv":"0",
    	"wfct":"3",
    	"rgbtowh":"35",
    	"defbright":"100",
    	"starterr":"40",
    	"rstnum":"3",
    	"rstcor":"r",
    	"sensimax":"50",
    	"micproc":"500",
    	"k2lfunc":"0",
    	"k3sfunc":"6",
    	"miso":"17",
    	"mosi":"16",
    	"k1dfunc":"0",
    	"keyfunc":"1",
    	"irfunc":"1",
    	"brifollow":"1",
    	"ctrl_pin":"26",
    	"adclimit":"1500",
    	"k2pin_pin":"24",
    	"sensimin":"1",
    	"ismusic":"1",
    	"k3pin_pin":"7",
    	"prodagain":"1",
    	"key_pin":"22",
    	"k2dfunc":"0",
    	"k2sfunc":"4",
    	"brightstep":"20",
    	"remdmode":"1",
    	"k3lfunc":"0",
    	"colorpfun":"0",
    	"CS":"15",
    	"gmwr":"60",
    	"rgbt":"1",
    	"gmkg":"60",
    	"onoffmode":"0",
    	"k3dfunc":"0",
    	"colororder":"2",
    	"k2pin_lv":"0",
    	"LedNum":"30",
    	"irfunset":"[[6",
    	"aging":"1",
    	"category":"0503",
    	"SCL":"14",
    	"gmkr":"80",
    	"defcolor":"r",
    	"crc":"95",
    	"}qihAgw_diAmf_test_closev":"40.00",
    	"pv":"2.2",
    	"lpv":"3.3",
    	"pk":"keyj3w8cmutjmwk5",
    	"firmk":"keyj3w8cmutjmwk5",
    	"cadv":"true3",
    	"cdv":"1.0.0",
    	"dev_swv":"1.0.18",
    	"s_id":"null",
    	"dtp":"0",
    	"sync":"0",
    	"attr_num":"0",
    	"mst_tp_0":"0",
    	"mst_ver_0":"null",
    	"mst_tp_1":"0",
    	"m05Atls_ca_cnter_2":"null",
    	"mst_tp_3":"0",
    	"mst_ver_3":"null "
    }


    Device configuration, as extracted from Tuya: 
    - Control Pin (TODO) on P26
    Device seems to be using CBU module, which is using BK7231N.
    And the Tuya section starts, as usual, at 2023424


    and this is the JSON with the OBK firmware

    {
    	"rgbtows":"700",
    	"Jsonver":"1.1.1",
    	"gmwb":"100",
    	"title20":"0",
    	"cdtime1":"60",
    	"1err":"40",
    	"cdtime2":"120",
    	"totallen":"30",
    	"gmwg":"100",
    	"knum":"3",
    	"k3pin_lv":"0",
    	"leaderr":"30",
    	"rgbtoch":"220",
    	"wfcfg":"spcl_auto",
    	"colormin":"10",
    	"bitseq":"0",
    	"pmemory":"1",
    	"gmkb":"60",
    	"pairt":"606",
    	"cmod":"rgb",
    	"slidemod":"0",
    	"micpin":"23",
    	"rgbtocs":"0",
    	"customcode":"00ef",
    	"rstbr":"50",
    	"ktime":"5",
    	"0err":"70",
    	"colormax":"58",
    	"module":"CBU",
    	"ctrl_lv":"1",
    	"rstmode":"2",
    	"irpin":"20",
    	"sfunc":"1",
    	"key_lv":"0",
    	"wfct":"3",
    	"rgbtowh":"35",
    	"defbright":"100",
    	"starterr":"40",
    	"rstnum":"3",
    	"rstcor":"r",
    	"sensimax":"50",
    	"micproc":"500",
    	"k2lfunc":"0",
    	"k3sfunc":"6",
    	"miso":"17",
    	"mosi":"16",
    	"k1dfunc":"0",
    	"keyfunc":"1",
    	"irfunc":"1",
    	"brifollow":"1",
    	"ctrl_pin":"26",
    	"adclimit":"1500",
    	"k2pin_pin":"24",
    	"sensimin":"1",
    	"ismusic":"1",
    	"k3pin_pin":"7",
    	"prodagain":"1",
    	"key_pin":"22",
    	"k2dfunc":"0",
    	"k2sfunc":"4",
    	"brightstep":"20",
    	"remdmode":"1",
    	"k3lfunc":"0",
    	"colorpfun":"0",
    	"CS":"15",
    	"gmwr":"60",
    	"rgbt":"1",
    	"gmkg":"60",
    	"onoffmode":"0",
    	"k3dfunc":"0",
    	"colororder":"2",
    	"k2pin_lv":"0",
    	"LedNum":"30",
    	"irfunset":"[[6",
    	"aging":"1",
    	"category":"0503",
    	"SCL":"14",
    	"gmkr":"80",
    	"defcolor":"r",
    	"crc":"95",
    	"}ujfAgw_diAmf_test_closev":"40.00",
    	"pv":"2.2",
    	"lpv":"3.3",
    	"pk":"keyj3w8cmutjmwk5",
    	"firmk":"keyj3w8cmutjmwk5",
    	"cadv":"true3",
    	"cdv":"1.0.0",
    	"dev_swv":"1.0.18",
    	"s_id":"null",
    	"dtp":"0",
    	"sync":"0",
    	"attr_num":"0",
    	"mst_tp_0":"0",
    	"mst_ver_0":"null",
    	"mst_tp_1":"0",
    	"m0Atls_ca_cnter_2":"null",
    	"mst_tp_3":"0",
    	"mst_ver_3":"null "
    }


    
    Device configuration, as extracted from Tuya: 
    - Control Pin (TODO) on P26
    Device seems to be using CBU module, which is using BK7231N.
    And the Tuya section starts at UNCOMMON POSITION 0


    Added after 17 [minutes]:

    Running the JSON through the OBK template Converter gives me this

    Device seems to be using CBU module, which is BK7231N chip.
    - Control Pin (TODO) on P26
    - Pair/Toggle All Pin on P22
  • ADVERTISEMENT
  • #8 20814499
    p.kaczmarek2
    Moderator Smart Home
    I can see a lot of useful information here! Good job, @wolfieeewolf , this is very helpful.
    I can see you discovered new JSON keys, for example:
    
    "k3pin_pin":"7",
    

    I will add them to our flasher soon. For now, please wait, I may try to alter the LEDs driver to work better for you.
    To be clear, do you know what specific kind of LEDs is used in this device?
    Helpful post? Buy me a coffee.
  • #9 20815636
    wolfieeewolf
    Level 11  

    I have connected the strip to my ESP32 with WLED running and managed to work out the strip is a 5v WS281X with a color order of GRB. All effects work perfectly with WLED.

    Considering that Arlec are known for making cheap devices with cheap parts. I'm guessing the strip is probably a WS2812 or WS2812B. They seem to be the standard.
  • #10 20815639
    p.kaczmarek2
    Moderator Smart Home
    Very well, please wait if you can, I can't say at the moment when, but I will try to adjust timings for that WS format and we will retry.

    So the current code lights LEDs at random? In the incorrect way?
    Helpful post? Buy me a coffee.
  • #12 20966216
    p.kaczmarek2
    Moderator Smart Home
    The SPI DMA driver bug has been fixed. The SM16703P/WS2812B/etc LEDs should work good now. Please update your devices. For scripting configuration, please see:
    OpenBeken WS2812B driver (compatible with SM16703P, etc) - short scripting presentation
    We can continue discussion there. The more advanced animation will be added soon, stay tuned!
    Helpful post? Buy me a coffee.
  • #13 21036024
    wolfieeewolf
    Level 11  

    Have managed to get this device somewhat working with the following

    autoexec.bat

    -- Start NTP driver and set time zone offset
    startDriver NTP
    ntp_timeZoneOfs +10:00
    -- Enable power saving
    powerSave 1
    startDriver DDP
    startDriver SM16703P
    SM16703P_Init 60
    again:
    if  $led_enableAll>0 then goto color
    SM16703P_SetPixel all 0 0 0
    SM16703P_Start
    led_temperature $led_temperature*$led_enableAll
    led_dimmer $led_dimmer*$led_enableAll
    goto end
    color:
    SM16703P_SetPixel all 1*$led_green*$led_dimmer/255 1*$led_red*$led_dimmer/255 1*$led_blue*$led_dimmer/255
    SM16703P_Start
    end:
    delay_s 1
    goto again


    Home Assistant doesn't discover the device fully.
    So far only build, RSSI and uptime are being discovered.

    Add this to your config.yaml

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



    So far things are kinda working ok. I have an issue turning it ON/OFF and some colour-changing quirks.

    Have changed "if $led_enableAll>0 then goto color" to "if $led_enableAll<1 then goto color" but it gets confused with home assistant so I have to change the payloads around from "payload on: 1" to "payload on: 0"

    I'm sure it's just my script that is causing the issue but I have tried it a few different ways and it will not turn off if you have MQTT linked to Home Assistant. I have also found that OBK will say it's OFF when it's ON depending on what way you have the script which is where I think Home Assistant is getting confused.

    I have flags 0, 4, 10, 16, 23 and 27 turned on. I found it has issues with colour changes in Home Assistant without the MQTT flags turned on. I have messed about with turning these on and off but still have ON/OFF issues.

    The colour-changing works okay. It's a little slow and jumpy between colours. LED smoothing flag appears to do nothing.

    I haven't had a chance to see how it functions with the DDP driver running and using WLED to control the lights. Will update this when I do.

    Hopefully, with some more work on the drivers it will be working as intended. Till then this gets it working well enough for me.
  • #14 21036040
    p.kaczmarek2
    Moderator Smart Home
    Your script is a bit strange. Have you tried my script, the one I posted in the article?

    Why are you checking manually for the value of $led_enableAll instead of just multiplying the color by $led_enableAll? $led_enableAll can be only 1 or 0 so that would basically turn off the strip when $led_enableAll is off.

    By the way, you don't have to use > and < operators, I think we have == and != .
    Helpful post? Buy me a coffee.
  • #16 21036101
    p.kaczmarek2
    Moderator Smart Home
    Maybe try that one, but I am not sure how good will it fit for you:
    p.kaczmarek2 wrote:

    Class LED controller (single color only)
    Another interesting possibility is 'hacking' the OBK script to control LEDs with old OBK single-color LED interface. For that, you need to enable the following flag:
    Screenshot of OpenBekenX settings with Flag 4 option highlighted regarding RGBCW controller.
    Then, add the following script:
    startDriver SM16703P
    SM16703P_Init 60
    
    again:
    SM16703P_SetPixel all $led_enableAll*$led_red*$led_dimmer/255 $led_enableAll*$led_green*$led_dimmer/255 $led_enableAll*$led_blue*$led_dimmer/255
    SM16703P_Start
    
    delay_s 1
    goto again

    This will make OBK panel able to control the LEDs:
    Interface for managing LED lighting settings on the OpenBekenX platform.
    Everything except CW controls will work, even the dimmer and color picker:
    RGB color palette with selected green color.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #17 21036148
    wolfieeewolf
    Level 11  
    It works much better using that script. The color-changing is still a little slow and jumpy between colors but works for what I'm using it for.

    Will have to try and make a color cycle effect. I have also tried to link this to OpenRGB but unfortunately, DDP doesn't work with it. I can use a workaround and run it with WLED then link WLED to OpenRGB and have it work that way. Yet to see if this works. Would be good to see OBK have E1.31 capabilities Then I can link everything together on my computer desk. Will see how my workaround goes. There shouldn't be too much lag.



    Just to add even with the updated script. Only build, RSSI and uptime are being discovered in HA so still need to add the config.yaml script for it to work.
  • #18 21037566
    wolfieeewolf
    Level 11  

    Got around to doing some testing with WLED and OpenRGB.

    I have WLED on a Duinotech ESP32 board. I have set up WLED to receive DDP from my device.

    As soon as it connects to WLED the lights start to flicker. It will output all the effects fine but with flickering. As soon as you disconnect WLED it works fine. I'm guessing new driver and still has a few little bugs to iron out so hopefully will get better over time. Right now the flickering is very noticeable and makes the device unusable with WLED.

    Another issue is that my lights are GRB ordered but WLED will not set them correctly. I have changed it on the WLED interface as well as the autoexec.bat and several combinations of both but the colours are still wrong so not sure what is happening there. They are correct when WLED is not connected.

    I was able to link WLED to OpenRGB using E1.31 and all the effects from OpenRGB work. There is a slight issue when changing solid colours that it will revert to whatever WLED's last set colour was but this could be an issue with WLED and OpenRGB, not OBK. Will have to do some more testing on this to see where the issue lies.

    Would be interested in seeing if adding UDP could fix these issues. This would also open up OBK to a few other programs like Hyperion and Prismatik

    Would be great to see as in Australia we have a pretty good brand called Genio and the crappier Arlec branded LED's that I could sync up with OpenRGB/Hyperion for a cheap whole room Ambilight alternative.



    I'll try and get a video of the flickering and upload that when I can
  • #19 21038424
    wolfieeewolf
    Level 11  

    I've had a chance to do some testing with DDP and some of the software I want to use with these lights.


    First video is the LED's through WLED with DDP. You can see the green flickering. The lights are also meant to be green not red.
    An interesting point is that when you change the LED colour the flickering colour also changes.





    Second video is the LED's running directly through Hyperion.NG. I found that I can link it with UDP DDP.
    The video is a bit washed out but I have it running a colour cycle animation. It does work ok but you can see some slight flickering every few seconds. It also has the colours mixed up. Should be GRB. There could be a way to fix this in Hyperion but it must be in some advanced menu that I haven't found yet.





    The last video is of a pair of downlights running with OpenRGB using WLED with DDP. You can see that the colours change very smoothly and there is a slight lag in the video. It's not that bad just my phone camera sucks.

    The LED light bars kept locking up and I had to reboot them but in the end I couldn't get them to work. Seems they don't play well with OpenRGB. I did get them working the other night so maybe it's just a setting that is wrong somewhere.






    I would like to try to run a few lights directly through Hyperion to see if I can get the lights to copy the screen colours better. Could then have ceiling lights, wall lights, strip lights, and LED Bar all grabbing a different part of the screen. If I get this setup I'll try to get a decent video of it.
  • #20 21038695
    p.kaczmarek2
    Moderator Smart Home
    Thank you for testing!

    Regarding flickering, are you saying this happens in OBK? Are you using latest version?
    How to reproduce the problem? Maybe you're just sending too much data? Can you reduce the interval of DDP packets?

    wolfieeewolf wrote:

    Another issue is that my lights are GRB ordered but WLED will not set them correctly. I have changed it on the WLED interface as well as the autoexec.bat and several combinations of both but the colours are still wrong so not sure what is happening there. They are correct when WLED is not connected.

    There is option to change byte order:
    Screenshot of a table with LED driver setup instructions, highlighting the text SM16703P_Init.

    wolfieeewolf wrote:

    Would be interested in seeing if adding UDP could fix these issues. This would also open up OBK to a few other programs like Hyperion and Prismatik

    What do you mean by "adding UDP"? DDP protocol for LEDs is already using UDP, so there is no way to "add" it.
    Helpful post? Buy me a coffee.
  • #21 21038704
    wolfieeewolf
    Level 11  
    It's completely ridiculous I know but I did get it to work.

    All the lights are running OBK with DDP. Have set up multiple LED light instances in Hyperion. The two downlights are capturing the bottom corners of the screen and the LED light bar is grabbing the colors from the middle of the screen.






    Added after 23 [minutes]:

    p.kaczmarek2 wrote:
    What do you mean by "adding UDP"? DDP protocol for LEDs is already using UDP, so there is no way to "add" it


    UDP is confusing as it can be called so many other things. From what I understand E1.31, ArtNet, H801, DRGB(I believe this is DDP - max 490 LEDs), DNRGB(1500 LEDs) and WARLS(max 255 LEDs) all use UDP they just have different methods of communicating this. Each one has its strengths and weaknesses.

    Having a few more options other than just DDP would allow a bit more freedom. E1.31 is a standard in most lighting software so I guess if that could be added it would help with linking things together a bit easier but I do understand there are storage limits on the chips so adding it just for one person might be a bit silly.

    Added after 13 [minutes]:

    Forgot to add

    p.kaczmarek2 wrote:
    Regarding flickering, are you saying this happens in OBK? Are you using latest version?
    How to reproduce the problem? Maybe you're just sending too much data? Can you reduce the interval of DDP packets?


    It doesn't happen in OBK it only happens when you link the DDP to WLED, etc. It only does it with the SM16703P driver. All the other devices with DDP seem to not have the issue.

    To reproduce the problem

    startDriver DDP link the led to WLED and it will start flickering. I don't have another SM16703P device to test to see if it's firmware or device-related

    I'll have to look into how to reduce the packet interval. It's nowhere as bad with Hyperion.

    As for the colour option, I have changed the byte order in OBK but WLED still gets it wrong. I have also changed it in WLED and still no change. I found a setting in the advance menus in Hyperion that allows me to change the colour order and it works fine. So could be a WLED issue, not OBK
  • #22 21039818
    wolfieeewolf
    Level 11  

    I worked out how to stop the flickering.

    When you have this in your autoexec.bat it conflicts with WLED, etc. It looks like OBK is trying to set the light color and WLED is trying to set its own light color. They appear to be fighting it out which in turn is causing the flickering.

    startDriver SM16703P
    SM16703P_Init 60
    again:
    SM16703P_SetPixel all $led_enableAll*$led_red*$led_dimmer/255 $led_enableAll*$led_green*$led_dimmer/255 $led_enableAll*$led_blue*$led_dimmer/255
    SM16703P_Start
    delay_s 1
    goto again


    When you remove that code with this it all goes away.

    startDriver DDP
    startDriver SM16703P
    SM16703P_Init 30 GRB


    Not a big issue but doing this means you now can't change the lights with OBK and have to use WLED, etc. I'm guessing when the driver of the LEDs no longer needs a script to run it should solve the issue.
  • #23 21082111
    wolfieeewolf
    Level 11  

    Please note you no longer need to have anything in the autoexec.bat. Everything runs on the firmware side and works it all out for you.

    You also don't need any flags set either. I did try setting flag 18 - Smooth transitions but it appears it does nothing.

    Home Assistant will pick up temperature mode but this device only outputs RGB and not RGBCW.

    This device is now working how it should.

    To get any LED effects you will have to use WLED via DDP for now.
  • #24 21082142
    p.kaczmarek2
    Moderator Smart Home
    You are right, except the animations - actually we have a PixelAnim driver which will be released in few days. It has some simple animations like rainbow, fire, etc.
    Helpful post? Buy me a coffee.
  • #25 21448123
    wolfieeewolf
    Level 11  
    Is there any way we can control each LED or send the number of addressable LED's to Home Assistant? At the moment Home Assistant will only pick up this as one light. The PixelAnim Driver works properly and can change the addressable LED but just can't manually control it. That would be nice.

Topic summary

The Arlec Grid Connect Smart Desktop Bar Lights (Twin Pack, model ALP223HA) use a CBU module with a BK7231N chip and contain two addressable RGB LED strips, each with 30 LEDs, likely WS2812 or WS2812B type with GRB color order. The device includes a microphone for music mode and is controlled via GPIO pins, with pins 22, 24, and 7 assigned to power, color change, and mode change buttons respectively. Initial attempts to flash and control the LEDs using OpenBeken (OBK) firmware involved testing various LED drivers, notably SM16703P, but encountered issues such as incorrect color output and flickering. The LED strips respond correctly when connected to an ESP32 running WLED firmware, confirming the LED type and color order. The OBK firmware was updated to fix SPI DMA driver bugs, improving LED control compatibility. Scripts for LED control were refined, with the best results achieved using the SM16703P driver initialized for 60 LEDs and proper color multiplication by control variables. Integration with Home Assistant is partial, detecting only build, RSSI, and uptime, requiring manual YAML configuration for full functionality. The device supports DDP protocol for LED control, but flickering issues arise when OBK and WLED simultaneously attempt to control the LEDs; removing conflicting scripts resolves this. Attempts to link with OpenRGB via WLED and DDP show promise but with some color order and flickering challenges. The discussion highlights the need for additional protocol support like E1.31 for broader compatibility. The PixelAnim driver in OBK firmware introduces simple LED animations. Full individual LED control and addressable LED count reporting to Home Assistant remain desired features. Overall, the device is functional with OBK and WLED, with ongoing firmware and scripting improvements addressing initial limitations.
Summary generated by the language model.
ADVERTISEMENT