logo elektroda
logo elektroda
X
logo elektroda

Cool little Outsmart/Tuya RGBIC LED controller perfect for OpenBeken PixelAnim WS2812B control [CBU]

divadiow 3270 23
ADVERTISEMENT
  • #1 21099246
    divadiow
    Level 34  
    I grabbed this from Ali curious about what might be inside. I'm also keen to test out the new OBK individually-addressable LED support and the pixel animations in this PR https://github.com/openshwprojects/OpenBK7231T_App/pull/1205

    More on OpenBeken's WS2812B support here https://www.elektroda.com/rtvforum/topic4036716.html

    Tuya 12V/24V WiFi LED controller for WS2811 3-pin LED strip.

    The listing mentions WS2811 and the connector looks like a standard 3-pin male SPI LED strip type.

    3-pin LED cable with male and female connectors.

    Surely it'll be a CBU using P16 for MOSI to drive the data line? Yes. it is. After popping the bottom of the unit up, which was easy, we see the main PCB, complete with microphone, which I hadn't clocked was mentioned on the product page

    CBU module on a circuit board with label and QR code Circuit board with a button and a module labeled Model: CBU. Circuit board with CBU module, button, and connected cable. Image of a circuit board of an electronic device with a microphone and various components. View of a circuit board with electronic components, mainly resistors, capacitors, and a microphone. Photo of a circuit board with various electronic components in the background. View of a WiFi LED controller with the cover removed, showing the circuit board with various components.

    Although I have other devices with a CBU that could be adapted, this unit seems especially suited, being already designed for SPI LED support. The one down-side is that the VCC on the output connector is 12V for WS2811.

    Conveniently the device has a push button and unused IR DATA, VCC and GND. All 3 are connected. IR to P20. This should make adding an IR send/receiver easy I believe. Eg



    I have spare IR components from other LED controllers
    Electronic modules connected with wires on a dark surface

    Also, you could remove the microphone, which is currently of no use within OBK, to replace with something else. Another button?

    I traced as much as I could for the main module pads, those that were visibly soldered anyway. There'll be more GND and VCC that I did not check for,

    Close-up of a circuit board with a CBU module and a microphone.

    It seems the missing component pads in the U2 space do not trace anywhere except for GND. I'm not sure what this shaped space could be used for.

    That 6-pin chip labelled RDA2L 3 <something> 0x.1 I think is a Rychip RY8310 (going by the silkscreen on the PCB anyway) or clone. This looks to be what converts the 12-24v to 3.3v for the CBU module. Datasheet attached.

    Typical application circuit diagram
    SOT23-6 IC diagram with pin functions description.

    Moving on, here is the factory fw boot log

    Code: Text
    Log in, to see the code


    and a firmware dump attached. Although firmware version 1.0.18 is in the Cloudcutter known patched list, that appears to be for a different device. There are two 1.0.18 LSC LED strip controllers exploitable https://github.com/tuya-cloudcutter/tuya-clou...mmit/29b3a33750d5ca5cd3a59028ba4ad1ac48fc9724

    Easy UART Flasher extracts this information

    Code: Text
    Log in, to see the code


    Code: Text
    Log in, to see the code


    Template import of the json will only set the button on P6 which doesn't seem to be listed in the extracted pins

    JSON configuration for OBK with generated script for LED control.

    I assume the same firmware was used on devices with more features, those with infra-red for example.

    After flashing with the latest OpenBeken BK7231N firmware I hooked up my 120 LED WS2812B strip to the DIN (data) pin of the connector on the controller (green cable), 5V external PSU to red power injection cable of LED strip, white power injection ground to the ground of my PSU. And lastly the ground from the CBU module to the other grounds to create a common ground. The CBU will be powered by 12v mains-powered AC/DC adaptor with barrel connector for now.

    With both powered and this in the autoexec.bat (Full-strip RGB sample taken from guide linked above). The second value on "setChannel 5 120" being the number of LEDs in my strip.

    Code: Text
    Log in, to see the code


    We get:

    LED strip with animation effect connected to a controller on a wooden surface.

    which is cool.

    These pull ~1A at full brightness. This can be reduced with the dimmer slider in the web GUI

    OpenBK graphical interface with a toggle light button and a brightness slider.

    More recently some animations have been added. These can be tried by flashing the build from this pull request https://github.com/openshwprojects/OpenBK7231T_App/pull/1205

    with an autoexec of

    Code: Tcl
    Log in, to see the code


    The GUI will look like this
    OpenBK user interface for LED control

    and your strip will do this with one of the animations




    Like my exploration of this device, I understand the PixelAnim driver will develop yet further in due course.

    I look forward to playing with whatever's next!
  • ADVERTISEMENT
  • #2 21099250
    DeDaMrAz
    Level 19  
    @divadiow

    How is that microphone connected?? We worked on somewhat similar device that used the mic to turn smart LED"s into something like a VU meter.
  • #3 21099261
    divadiow
    Level 34  
    Well, I assume off P23 but I wasn't able to get continuity from anything but ground on the mic outer shield. I guess the pin is underneath and definitely not accessible. No corresponding legs on the underside either.

    I can trace more in earnest tomorrow. Is it likely to come straight off P23 or will there be components in its path?
  • #4 21099270
    DeDaMrAz
    Level 19  
    I assume it is probably over some bias resistor network but will be interested how it looks and works. Please post your findings.

    The interesting thing is how is it implemented in the original FW and how can we use it.

    Thanks.
  • ADVERTISEMENT
  • #5 21099332
    divadiow
    Level 34  
    so P23 immediately goes through to red 0 on the underside then onwards to the network in the fenced mic area 1, 2, 3 ...

    Cool little Outsmart/Tuya RGBIC LED controller perfect for OpenBeken PixelAnim WS2812B control [CBU]

    and sorry, yes, the mic clearly does have legs on the underside. back outwards from the mic in yellow starting 0


    Cool little Outsmart/Tuya RGBIC LED controller perfect for OpenBeken PixelAnim WS2812B control [CBU]

    Added after 11 [minutes]:

    I've just remembered this device which already has IR, a CBU and a mic and outputs 5V

    https://www.elektroda.com/rtvforum/topic4026945.html
  • ADVERTISEMENT
  • #6 21100446
    divadiow
    Level 34  
    anything more I can supply to assist with mic development?
  • Helpful post
    #7 21101508
    DeDaMrAz
    Level 19  
    @divadiow

    I ordered 2 such devices to play with so I'll provide you with my finding and we can go from there.
  • #9 21106272
    divadiow
    Level 34  
    another device that might be even more appealing https://www.aliexpress.com/item/1005006712164515.html

    Tuya set with RGBIC LED controller and remote.

    CBU, mic, 3 buttons, IR, remote. but sadly still 12V

    Close-up of a circuit board with two white cables, a microphone, and electronic components. Circuit board with three buttons on a wooden table LED controller on a red fabric background with wires and a remote control. Remote control, LED controller, and casing parts on a red background.

    Added after 11 [hours] 30 [minutes]:

    template for first device

    Code: JSON
    Log in, to see the code


    API response calls this model:

    Code: Text
    Log in, to see the code

    Code: Text
    Log in, to see the code


    catchy

    https://github.com/OpenBekenIOT/webapp/pull/1...mits/7e1c38aa23f195e70ce2b0813a7a4f3d04e1b4c3

    White LED controller with one large button and two connection cables.

    EDIT ADDITION. CBU removed

    Close-up of a circuit board with a microphone and USB connector.
  • #10 21106694
    p.kaczmarek2
    Moderator Smart Home
    Microphone must be on P23, just as Tuya config indicates. The only main question for me, is how to process the ADC input to influence the LED. We need to find some algorithm for that, I can easily port the chosen algorithm later.

    Some maybe related links:
    https://www.instructables.com/Make-Lights-react-to-Audio/
    https://medium.com/@yolandaluqueh/music-to-le...tutorial-using-fourier-transform-3d203a48fe14
    Code: C / C++
    Log in, to see the code
    Helpful post? Buy me a coffee.
  • #11 21110765
    divadiow
    Level 34  
    just took delivery of a 4M 60 LED per metre 12v WS2811 strip.

    I know the timings are slightly different to WS2812B so expected the colour picker to get the wrong colours (it does), but the anims are kinda OK. If you didn't know any different, you may not notice.

    This static pic is this autoexec

    WS2811 LED strip glowing in rainbow colors, lying on a carpet with packaging and electronics.

    Code: Text
    Log in, to see the code


    even though 120 LEDs is set all 240 light up on this WS2811

    and the rainbow animation


  • ADVERTISEMENT
  • #13 21113272
    p.kaczmarek2
    Moderator Smart Home
    Thanks, so how is actually WS2811 different from WS2812B?

    @ElektrodaBot what is the difference between WS2811 and WS2812B? Are the timing the same? What are the timings in each case?
    Helpful post? Buy me a coffee.
  • #14 21113279
    ElektrodaBot
    AI OpenAI ChatGPT4
    p.kaczmarek2 wrote:
    what is the difference between WS2811 and WS2812B? Are the timing the same? What are the timings in each case?
    Great question! WS2811 and WS2812B are both popular RGB LED drivers, often used in various lighting projects, but they have some differences. Let's break this down step by step.

    Key Differences:

    1. Integration:
    - WS2811: The WS2811 is an external LED driver. It's a separate chip that can drive an RGB LED by controlling the three channels (Red, Green, Blue) separately.
    - WS2812B: The WS2812B, on the other hand, integrates both the LED and the driver into a single package. This makes the WS2812B easier to use and more convenient for compact designs.

    2. Voltage:
    - WS2811: Typically operates at 12V, which means it can drive multiple LEDs in series with a single chip.
    - WS2812B: Operates at 5V, and each LED requires its own chip with individual control.

    3. Package and Pins:
    - WS2811: Comes in a DIP or SOP package and requires external transistors to drive the LEDs.
    - WS2812B: Comes in a 5050 (5mm x 5mm) SMD package with 4 pins (VDD, VSS, DIN, DOUT).

    Timing:

    The timing protocols for both chips are quite similar as they are designed for cascading data to control multiple LEDs in a series. However, there are slight differences in the data timing:

    WS2811 Timing:
    - Logical "0" High Time: 0.5 µs ± 150 ns
    - Logical "0" Low Time: 2.0 µs ± 150 ns
    - Logical "1" High Time: 1.2 µs ± 150 ns
    - Logical "1" Low Time: 1.3 µs ± 150 ns
    - Reset Time: ≥ 24 µs

    WS2812B Timing:
    - Logical "0" High Time: 0.4 µs ± 150 ns
    - Logical "0" Low Time: 0.85 µs ± 150 ns
    - Logical "1" High Time: 0.8 µs ± 150 ns
    - Logical "1" Low Time: 0.45 µs ± 150 ns
    - Reset Time: ≥ 50 µs

    Compatibility:
    Despite the differences in timing, many controllers and libraries designed for WS2811 can also work with WS2812B because of their similar communication protocols.

    Conclusion:
    The WS2812B is often preferred for ease of use and integration, especially in compact designs, while the WS2811 might be used in applications requiring higher voltages and the ability to drive multiple LEDs in series.

    Do you have a specific project in mind where you're planning to use these LEDs? Understanding the context can help provide more tailored advice!
    You can call me in any topic by writing @ElektrodaBot. Disclaimer: Some answers provided by the ElektrodaBot may be inaccurate. Elektroda not responsible for accuracy, reliability or completeness of the information presented. All ElektrodaBot responses should be verified by the user. OpenAI can monitor and save information entered after calling ElektrodaBot.
  • #15 21113461
    divadiow
    Level 34  
    @ElektrodaBot we often see single devices listing support for multiple SPI LED controller ICs. summarise the differences between these, including timings, if known: WS2812B, SM16703, WS16704, WS2811, UCS1903, SK6812, SK6812RGBW, INK1003, UCS2904B
  • #16 21113465
    ElektrodaBot
    AI OpenAI ChatGPT4
    divadiow wrote:
    we often see single devices listing support for multiple SPI LED controller ICs. summarise the differences between these, including timings, if known: WS2812B, SM16703, WS16704, WS2811, UCS1903, SK6812, SK6812RGBW, INK1003, UCS2904B
    Absolutely! It can be quite overwhelming to navigate the variety of SPI LED controller ICs available. Let's break down the differences between some of the popular ones, focusing on their timings and unique characteristics.

    Commonly Used SPI LED Controller ICs

    1. WS2812B:
    - Integration: Integrated LED and driver.
    - Voltage: 5V.
    - Timing:
    - `Logical "0"` High Time: 0.4 µs ± 150 ns, Low Time: 0.85 µs ± 150 ns
    - `Logical "1"` High Time: 0.8 µs ± 150 ns, Low Time: 0.45 µs ± 150 ns
    - Reset Time: ≥ 50 µs

    2. SM16703:
    - Integration: Integrated LED and driver.
    - Voltage: 5V.
    - Timing:
    - `Logical "0"` High Time: 0.35 µs, Low Time: 0.8 µs
    - `Logical "1"` High Time: 0.7 µs, Low Time: 0.6 µs
    - Reset Time: ≥ 80 µs

    3. WS16704:
    - Integration: Integrated LED and driver.
    - Voltage: 5V.
    - Timing: Specific timings not readily available, but similar to WS2812B.

    4. WS2811:
    - Integration: External LED driver.
    - Voltage: 12V.
    - Timing:
    - `Logical "0"` High Time: 0.5 µs ± 150 ns, Low Time: 2.0 µs ± 150 ns
    - `Logical "1"` High Time: 1.2 µs ± 150 ns, Low Time: 1.3 µs ± 150 ns
    - Reset Time: ≥ 24 µs

    5. UCS1903:
    - Integration: Integrated LED and driver.
    - Voltage: 5V.
    - Timing:
    - `Logical "0"` High Time: 0.5 µs ± 150 ns, Low Time: 2.0 µs ± 150 ns
    - `Logical "1"` High Time: 1.2 µs ± 150 ns, Low Time: 1.3 µs ± 150 ns
    - Reset Time: ≥ 24 µs

    6. SK6812:
    - Integration: Integrated LED and driver.
    - Voltage: 5V.
    - Timing:
    - `Logical "0"` High Time: 0.3 µs ± 150 ns, Low Time: 0.9 µs ± 150 ns
    - `Logical "1"` High Time: 0.6 µs ± 150 ns, Low Time: 0.6 µs ± 150 ns
    - Reset Time: ≥ 80 µs

    7. SK6812RGBW:
    - Integration: Integrated LED and driver with an additional white channel.
    - Voltage: 5V.
    - Timing: Similar to SK6812, but with an additional channel for white.

    8. INK1003:
    - Integration: Integrated LED and driver.
    - Voltage: 5V.
    - Timing:
    - `Logical "0"` High Time: 0.5 µs ± 150 ns, Low Time: 1.2 µs ± 150 ns
    - `Logical "1"` High Time: 1.2 µs ± 150 ns, Low Time: 0.5 µs ± 150 ns
    - Reset Time: ≥ 50 µs

    9. UCS2904B:
    - Integration: Integrated LED and driver, typically used for RGBW.
    - Voltage: 5V.
    - Timing: Specific timings not readily available, but similar to UCS1903 and WS2812B.

    Summary of Differences

    - Integration: Most of these ICs integrate the LED and driver, simplifying the design process.
    - Voltage: Predominantly 5V, with WS2811 being an exception at 12V.
    - Timings:
    - Most have unique timings for logical "0" and "1" with slight variations. WS2812B and WS2811 timings are quite specific, while others like SM16703 and SK6812 have their own timing profiles.

    Compatibility and Usage

    Many controllers and libraries, especially those designed for the popular WS2812B, can often work with other similar ICs given their compatible protocols. However, specific timings need to be adhered to for precise control.

    Do you have a particular LED controller IC you're interested in using for your project? Knowing more about your project can help provide more precise advice!
    You can call me in any topic by writing @ElektrodaBot. Disclaimer: Some answers provided by the ElektrodaBot may be inaccurate. Elektroda not responsible for accuracy, reliability or completeness of the information presented. All ElektrodaBot responses should be verified by the user. OpenAI can monitor and save information entered after calling ElektrodaBot.
  • #17 21113469
    divadiow
    Level 34  
    @ElektrodaBot if your driver supports WS2812B fully which other SPI LED controller ICs are 100% compatible so would also work with the same driver?
  • #18 21113473
    ElektrodaBot
    AI OpenAI ChatGPT4
    divadiow wrote:
    if your driver supports WS2812B fully which other SPI LED controller ICs are 100% compatible so would also work with the same driver?
    Great follow-up question! If your driver fully supports WS2812B LEDs, it can be compatible with several other SPI LED controller ICs that have similar timing protocols and data structures. Here are some ICs that are generally considered 100% compatible with WS2812B:

    1. SK6812:
    - Characteristics: Very similar to WS2812B in terms of integration and timing.
    - Voltage: 5V.
    - Timing:
    - `Logical "0"` High Time: 0.3 µs ± 150 ns
    - `Logical "0"` Low Time: 0.9 µs ± 150 ns
    - `Logical "1"` High Time: 0.6 µs ± 150 ns
    - `Logical "1"` Low Time: 0.6 µs ± 150 ns
    - Reset Time: ≥ 80 µs

    2. SK6812RGBW:
    - Characteristics: Similar to WS2812B, but with an additional white channel (RGBW).
    - Voltage: 5V.
    - Timing: Similar to SK6812 (and thus WS2812B), but with an extra white channel.

    3. UCS1903:
    - Characteristics: Often used in similar applications due to its comparable timing.
    - Voltage: 5V.
    - Timing:
    - `Logical "0"` High Time: 0.5 µs ± 150 ns
    - `Logical "0"` Low Time: 2.0 µs ± 150 ns
    - `Logical "1"` High Time: 1.2 µs ± 150 ns
    - `Logical "1"` Low Time: 1.3 µs ± 150 ns
    - Reset Time: ≥ 24 µs

    4. INK1003:
    - Characteristics: Another IC with similar timing and data structure.
    - Voltage: 5V.
    - Timing:
    - `Logical "0"` High Time: 0.5 µs ± 150 ns
    - `Logical "0"` Low Time: 1.2 µs ± 150 ns
    - `Logical "1"` High Time: 1.2 µs ± 150 ns
    - `Logical "1"` Low Time: 0.5 µs ± 150 ns
    - Reset Time: ≥ 50 µs

    Compatibility Summary:
    - SK6812 and SK6812RGBW: Both have timing very closely aligned with WS2812B, making them almost directly interchangeable.
    - UCS1903 and INK1003: These ICs also share similar data protocols and timing characteristics, albeit with slight variations that most WS2812B-compatible drivers can handle.

    Important Considerations:
    - Timing Tolerances: While these ICs are largely compatible, slight differences in timing tolerances can affect performance. Always test your specific setup to ensure compatibility.
    - Firmware/Driver Adjustments: In some cases, minor adjustments in the firmware or driver configurations may be required to perfectly align with the specific IC being used.

    Conclusion:
    If your driver supports WS2812B, it will almost certainly work with SK6812 and SK6812RGBW without any additional modifications. UCS1903 and INK1003 are also highly likely to work with some minor adjustments if needed.

    Are you working on a project where you need to switch between these ICs, or are you planning to use a mix of them? Let me know more about your project, and I can offer more tailored advice!
    You can call me in any topic by writing @ElektrodaBot. Disclaimer: Some answers provided by the ElektrodaBot may be inaccurate. Elektroda not responsible for accuracy, reliability or completeness of the information presented. All ElektrodaBot responses should be verified by the user. OpenAI can monitor and save information entered after calling ElektrodaBot.
  • #19 21303792
    christianalexzappa
    Level 2  
    I'm stuck! I have flashed and set the config to Outsmart (IR version) but I can't for the life of me get the LEDs to light up. I'm a noob and don't know where to go next from here.
  • #20 21303830
    divadiow
    Level 34  
    what's in your autoexec.bat file currently?
  • #21 21308044
    christianalexzappa
    Level 2  
    >>21303830

    I tried some of the ones mentioned above. But TBH I’m not sure I did things right. I did end up with a color picker on the main page but the strips did not light up.

    I’m using ws2812b 84 per meter
  • #22 21308242
    divadiow
    Level 34  
    how have you cabled it all up? do you have images of your setup?
  • #23 21309047
    christianalexzappa
    Level 2  
    Very out of the box, I’m using the RGBIC strip that came with the controller. So I’ve done no physical mods, only flashed with Tuya Cloud Cutter.

    Coiled RGBIC light strip with controller on a white surface.
  • #24 21526698
    yazakaryan
    Level 2  
    >>21106694 the issue with the microphone still hasn't been resolved?

Topic summary

The discussion revolves around the Outsmart/Tuya RGBIC LED controller, specifically its compatibility with OpenBeken's WS2812B support and pixel animations. Users explore the internal components, including a microphone and the connection to the P23 pin. They discuss the differences between WS2811 and WS2812B LED drivers, focusing on integration, voltage, and timing specifications. The conversation also touches on the potential for using the microphone for audio-reactive LED effects and the need for algorithms to process ADC inputs. Additionally, users share templates for device configurations and inquire about the compatibility of various SPI LED controller ICs.
Summary generated by the language model.
ADVERTISEMENT