logo elektroda
logo elektroda
X
logo elektroda

OpenBeken Driver Connection Issues with RGBIC SM15155E and BK7231N in Smart Wall Lamp

HalliHallo 6684 59

TL;DR LABEL_AI_GENERATED

  • A Smart Wall Light with WiFi and 5CH RGB+CCT was flashed with OpenBeken but lost all function.
  • Inside are a BK7231N, eight parallel 5in1 CH RGB+CCT LEDs, and an SM15155E driver on a tiny PCB beside the indicator LED.
  • The golden-pin header exposes Ground, 3.3V, and BK7231N PIN16, and the firmware string reads farylink-soc-hzs-5-light-15155-1.1.8-sdk-2.3.1-40.00.
  • OpenBeken driver SM16073_DIN made a first connection to the SM15155E, but it only produced one green flash and then required a reboot.
  • A Tuya 2MB dump_flash is available for further reverse engineering.
AI summary based on the discussion. May contain errors.
ADVERTISEMENT
Listen:
  • #31 20878647
    HalliHallo
    Level 3  
    Posts: 21
    Rate: 3
    Any updates here?
  • ADVERTISEMENT
  • #32 20878657
    DeDaMrAz
    Level 23  
    Posts: 620
    Help: 34
    Rate: 130
    HalliHallo wrote:
    Any updates here?


    PM me if you are willing to sell and send one of these devices to us so we can implement support for it.
  • #33 20889825
    HalliHallo
    Level 3  
    Posts: 21
    Rate: 3
    Here a another Amazon Link.
    Other company, but same product.

    https://www.amazon.de/gp/aw/d/B0BZYXLLTZ

    I have both here. It is the exact same lamp as the first post.

    https://www.amazon.de/gp/aw/d/B09N77KL7M


    I can buy and sell to you. Why it is not simpler to order yourself?


    Can I do or test everything? In the source code, I have not found timings...
  • #34 20889853
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    The timings are on our captures, but we need to figure out the meanings of each bit first
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #35 20890295
    DeDaMrAz
    Level 23  
    Posts: 620
    Help: 34
    Rate: 130
    @HalliHallo

    Modern RGB LED wall light displayed on a product page. Amazon product page for SNADER Smart WiFi LED Lamp, currently unavailable.

    This is the reason we are asking for someone to sell and send them to us, apart from it being unavailable they are not sending it to Serbia unfortunately.
  • #36 20890461
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    Hm it seems they may ship to Poland, but I never ordered from amazon DE yet, are there customs procedures?
    Helpful post? Buy me a coffee.
  • #37 20950462
    HalliHallo
    Level 3  
    Posts: 21
    Rate: 3
    Ah, I understand.
    Yes, I think I can send one to you.
    I will aks a Friend, they have familie in Poland... I think they know how to send to Poland.
  • SM15155E frame format and current-limit bits

    #38 20983095
    femboozle
    Level 3  
    Posts: 3
    Rate: 2
    Hopefully I can help out a bit. There's 80 bits data (16 bits grayscale per channel) + 32 bits at the end of each frame which corresponds to the current limit for each channel (5 bits per channel). In case of the SM15155E, this goes from 10 to 300 mA. Last 7 bits are standby enable and some reserved bits (recommended to keep 11111). I am not sure what the bits should be for the SM15115E, but here's what it looks like for the SM15115E which goes from 10 to 60 mA:
    Table showing current gain and corresponding current values for different bits.
    Diagram of SM15115E chip data format with bit and channel descriptions.

    Let me know if I can be of any more help
  • #39 20983153
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    Where did you get all that info? That looks very useful. This will save us some time from reverse engineering.
    Helpful post? Buy me a coffee.
  • #40 20983185
    femboozle
    Level 3  
    Posts: 3
    Rate: 2
    I use the SM15115E for one of my projects, it's a great IC. Datasheet contains some translation errors
    Attachments:
    • SM15115E_IBSSZZV1.0_产品说明书 (2).pdf (910.32 KB) You must be logged in to download this attachment.
  • #41 20983198
    DeDaMrAz
    Level 23  
    Posts: 620
    Help: 34
    Rate: 130
    @femboozle

    Any chance you can share a datasheet for that IC if you have one??

    EDIT: we posted at the same time :) thank you!
  • #42 20989648
    femboozle
    Level 3  
    Posts: 3
    Rate: 2
    Here's the current table for the SM15155E:

    Table showing various current values for combinations of bits D5-D1.
  • ADVERTISEMENT
  • #43 20990095
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    That's very useful!
    HalliHallo wrote:

    I will aks a Friend, they have familie in Poland... I think they know how to send to Poland.

    With all the information above I think I would be able to add full support for this chip very fast.
    Helpful post? Buy me a coffee.
  • #44 21011116
    HalliHallo
    Level 3  
    Posts: 21
    Rate: 3
    I can send it to you. He said, from Germany there are Very easy to send to Poland, no problems with customs... Send me your address, I will send you my "disassembled" light, that is full functional.
  • #45 21011289
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    Sure, I've sent you a message. With the information provided by @femboozle , it should be easier than I expected.
    Helpful post? Buy me a coffee.
  • #46 21059834
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    There was a slight delay with the package due to the post office issues (it was sent as untracked and it stuck at post office until I asked myself....) but here is the light:
    Black plastic socket with exposed wires on a wooden table. Image of the inside of a black plastic box with several wires and a component inside. Close-up of an LED lighting device on a wooden surface.
    I haven't yet managed to look into it, it might take a week or so, but at least I have it on site now.

    Thank you for shipping, @HaliHans !
    Helpful post? Buy me a coffee.
  • #47 21099264
    DeDaMrAz
    Level 23  
    Posts: 620
    Help: 34
    Rate: 130
    Just to remind everybody interested, this device isn't forgotten, it will be supported at some point it's just priorities ang life in general are in the way to often lately.
  • #48 21109466
    HalliHallo
    Level 3  
    Posts: 21
    Rate: 3
    Thank you for the update
  • #49 21109471
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    Still pending, but yesterday I solved BK7231M issue for plugs sent by another reader:
    https://www.elektroda.com/rtvforum/topic3999934.html#20718937
    BK7231M solution here:
    https://www.elektroda.com/rtvforum/topic4058227.html
    This means that your device has moved up in the queue. The BK7231M was waiting a bit longer.... sorry for the delay, again.
    Helpful post? Buy me a coffee.
  • PulseView decoder confirms SM16703P driver sequence

    #50 21111677
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    Hey @HalliHallo , is the light you've send me flashed with OBK or still on Tuya?

    Added after 1 [hours]:

    ok i attached wires
    Screenshot of BK7231 Easy UART Flasher showing successful configuration reading.

    Added after 3 [hours] 21 [minutes]:

    p.kaczmarek2 wrote:
    PulseView decoder work....
    LED signal graph with color coding for WS281x and SM1515E LEDs.



    
    
    startDriver SM16703P
    
    SM16703P_Init 5
    
    again:
    
    SM16703P_SetRaw 1 0 FF000000000000000000739CE71F00
    delay_s 1
    SM16703P_SetRaw 1 0 0000FF00000000000000739CE71F00
    delay_s 1
    SM16703P_SetRaw 1 0 00000000FF0000000000739CE71F00
    delay_s 1
    SM16703P_SetRaw 1 0 000000000000FF000000739CE71F00
    delay_s 1
    SM16703P_SetRaw 1 0 0000000000000000FF00739CE71F00
    // offf
    delay_s 1
    SM16703P_SetRaw 1 0 00000000000000000000739CE71F00
    
    goto again
    



    Helpful post? Buy me a coffee.
  • #52 21115906
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    I'm separating SPI DMA LED backend before introduction of SM15155E driver: https://github.com/openshwprojects/OpenBK7231T_App/pull/1263

    Added after 10 [hours] 53 [minutes]:

    It seems to be working on my side:
    Screenshot of an LED control interface using OpenBK7231N, showing sliders for adjusting LED brightness, RGB color, and LED temperature.
    
    startDriver SM15155E
    LED_Map 0 1 3 2 4
    
    Helpful post? Buy me a coffee.
  • #53 21121695
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    Driver seems to work on my side, polish writeup of story is now available:
    https://www.elektroda.pl/rtvforum/topic4060227.html
    English version coming soon
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #54 21127459
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    Your lamp is indeed very useful @HalliHallo
    Prototype electronic circuit on a breadboard with LEDs and a display. Prototype with a breadboard, LEDs, and a display on a wooden table.
    Helpful post? Buy me a coffee.
  • #55 21135978
    HalliHallo
    Level 3  
    Posts: 21
    Rate: 3
    Oh, very nice update

    I will read the threat on weekend.
    It was already flashed to openBeken...
  • #56 21135983
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    Well yes, I realized that later. At first I tried to put it into Tuya pairing mode and got confused.

    Btw, here is a followup to the light modification:
    https://www.elektroda.com/rtvforum/topic4061154.html

    Added after 49 [seconds]:

    English topic - first part:
    https://www.elektroda.com/rtvforum/topic4060227.html
    Helpful post? Buy me a coffee.
  • Reference to post 38 explaining the last bytes

    #57 21135997
    HalliHallo
    Level 3  
    Posts: 21
    Rate: 3
    Original tuya dump in my first post... In the openBeken patch forum cloudcutter... I can search the link... There i uploaded the original dumped firmware... They helped me to flash openBeken on it.

    Haha, very good.
    I have found the lampshade later between my lot of other stuff on my table... Sorry. You need it anymore? I will send it to you ;)


    Edit:
    Have you see in post 38...they describe the last bytes for what they are...
  • #58 21135999
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    Well, it's up to you, but I indeed don't have any way to use this lamp without lampshade, so having it would indeed help. Maybe I could integrate it into a bedroom as a way to test OBK for a longer time! Thanks.

    At least now I know that I need to check on my post office more often.
    Helpful post? Buy me a coffee.
  • #59 21136006
    HalliHallo
    Level 3  
    Posts: 21
    Rate: 3
    Have you see in post 38...they describe the last bytes for what they are...


    Okay, I will search the lampshade again... I will wrote you a message, when I have send it. I will ask a polish friend. He will drive to Poland in his vacation next few weeks.
  • #60 21136040
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14754
    Help: 659
    Rate: 12875
    Thank you, there is no hurry.

    Regarding last bytes - yes, I saw it so I didn't have to manually reverse engineer them. I think I mentioned it somewhere in the article. Still, they are not needed right now, so I just send the values that are good for your lamp.
    Helpful post? Buy me a coffee.
Listen:

Topic summary

LABEL_AI_GENERATED
The discussion revolves around connection issues with a Smart Wall Lamp utilizing the OpenBeken driver, specifically with the RGBIC SM15155E and BK7231N components. The user reports that after flashing the device with OpenBeken, the lamp ceased to function correctly, despite previously operating with the Tuya app. The lamp features 8 parallel-connected RGB+CCT LEDs, controlled by the SM15155E driver. Participants in the forum suggest that the problem may stem from timing mismatches in the driver, as the original control allowed for basic functions like on/off and color changes without individual LED control. Various troubleshooting steps are discussed, including the need for specific timing data and potential reverse engineering of the SM15155E protocol. The community is actively working on developing a compatible driver and analyzing the device's communication signals to restore functionality.
AI summary based on the discussion. May contain errors.

FAQ LABEL_AI_GENERATED

TL;DR: If your 5-channel BK7231N wall lamp only flashes once, use the dedicated SM15155E path, not a generic Tuya profile. The lamp sends 80 grayscale bits + 32 control bits, and one developer confirmed: "we know the timings" before full support landed. This FAQ is for OpenBeken users fixing no-light or wrong-color control on SM15155E RGB+CCT wall lamps. [#21115906]

Why it matters: This thread shows the exact failure mode, measured waveform, frame structure, and working OpenBeken commands needed to turn a nonfunctional flashed lamp into a controllable RGB+CCT device.

Option Result on this lamp Key limitation
Generic Tuya wall-light profile No usable light control Wrong driver/protocol
SM16073_DIN-style attempt One-shot green, then reboot needed Timing mismatch
SM16703P raw experiments Partial colors, inconsistent boots Frame meaning not fully matched
Native SM15155E driver Working 5-channel control Needs correct LED map

Key insight: The lamp was never PWM-only or standard WS2812B. It used a single-wire SM15155E protocol on BK7231N P16, so success required both timing capture and decoding the final control bytes, not just trying nearby LED drivers. [#21115906]

Quick Facts

  • The hardware in the teardown was BK7231N + 1× SM15155E + 8× 5-in-1 RGB+CCT LEDs, with all 8 LEDs wired in parallel, not individually addressed. [#20778816]
  • The control line appears on BK7231N P16, which was identified as a hardware SPI-capable pin and the likely output used to push LED data. [#20778569]
  • Measured SM15155E pulse widths were about 350 ns and 1150 ns, close to WS2812B class signaling but not close enough for a drop-in SM16703P match. [#20789559]
  • The recovered frame format was 80 bits of grayscale data plus 32 trailing bits for per-channel current limit and standby/reserved control. [#20983095]
  • A working OpenBeken test used startDriver SM15155E with LED_Map 0 1 3 2 4, confirming proper 5-channel operation after driver support was added. [#21115906]

How can I get an OpenBeken-flashed BK7231N smart wall lamp with an SM15155E driver working when the generic Tuya profile gives no light control?

Use the dedicated SM15155E driver instead of the generic Tuya light profile. The working OpenBeken setup shown in the thread was:
  1. startDriver SM15155E
  2. LED_Map 0 1 3 2 4
  3. Test channel order and color output. The generic profile gave no function after flashing, because this lamp uses a custom 5-channel serial LED driver, not a standard Tuya PWM mapping. Full control only appeared after reverse engineering the SM15155E protocol and adding native support. [#21115906]

Why does the OpenBeken SM16703P or SM16073_DIN-style driver only trigger a one-shot green or red flash on an SM15155E RGB+CCT wall lamp?

It happens because the lamp accepts only a partially similar signal, then rejects the rest of the frame. Early tests produced a single green shot, occasional red at boot, and often required a reboot after one command. The thread linked this to timing mismatch and incomplete frame understanding, not to dead LEDs. SM15155E looked superficially close to SM16703P or WS2812-style signaling, but the pulse widths and trailing control bytes were different enough to break stable control. [#20778910]

What is the SM15155E LED driver, and how is it different from SM16703P or WS2812-style addressable LED chips?

"SM15155E is a 5-channel LED driver that controls RGB plus warm white and cold white over a single data line, using serial timing and per-channel current settings." Unlike WS2812-style chips, this lamp had 8 LEDs in parallel with one shared setting, not per-LED animation. Unlike SM16703P, the SM15155E frame also includes extra trailing control bits for current and standby handling. That makes it a single-wire smart constant-current driver, not a drop-in addressable-pixel equivalent. [#20983095]

What does return-to-zero (RZ) protocol mean in the context of the SM15155E 800 Kbps single-wire LED control interface?

It means each transmitted bit returns to zero before the next bit period ends. The thread found a short datasheet note stating "Data transmission using return-to-zero code protocol" and an RZ data rate of 800 Kbps for the SM15155E family. In this lamp, that matters because OpenBeken had to generate the correct high and low pulse pattern on one GPIO, not a normal SPI byte stream or PWM output. The return-to-zero behavior explains why near-miss LED drivers only flashed once or showed unstable colors. [#20785572]

How do I capture and analyze the data waveform on BK7231N P16 to identify the SM15155E timing requirements?

Probe BK7231N P16 while the original firmware drives the lamp, then decode the pulse widths. The thread team flashed the original 2 MB dump onto a CB3S module, accessed P16, captured the waveform, and opened it in PulseView for timing analysis. That method let them compare real edges against known WS2812B and SM16703P timings. If you cannot measure P16, you can guess nearby protocols, but this thread shows that guessing was not enough to reach stable 5-channel control. [#20789046]

Which GPIO and pin mapping are used between BK7231N and the SM15155E in this Tuya-based smart wall lamp, and why is P16 important?

The key data connection is BK7231N P16 to the single control input of the SM15155E. The teardown reported golden-pad pin 3 as BK7231N pin 16, and later discussion identified P16 as important because it is a hardware SPI-capable pin used to push timed LED data. This lamp had only one SM15155E for all 8 parallel LEDs, so one well-timed serial line controlled the entire RGB+CCT output. That is why generic GPIO guesses failed and P16 became the main reverse-engineering target. [#20778569]

What are the measured SM15155E pulse timings, and how close are they to WS2812B and SM16703P timings?

The measured SM15155E pulses were about 340–350 ns for one state and 1150–1160 ns for the other. Developers said those values were "kinda close" to WS2812B, but they did not match SM16703P well enough for reliable reuse. That small mismatch mattered in practice: the lamp could flash a color or partially respond, yet still fail normal control. For reverse engineering, WS2812B was the nearest comparison, but not a safe protocol replacement. [#20789559]

How can I build and test custom OpenBeken OTA firmware for a new LED driver without setting up a full local development environment?

Fork the OpenBeken repository and open a pull request. The thread states that the binary files are then created automatically, so you do not need a full local setup just to test OTA images. That approach is useful when you can only update the lamp over OTA and want to try driver changes quickly. It also keeps the test flow simple for contributors who can edit code but do not want to prepare a full local build environment first. [#20784319]

What is the meaning of the SM15155E frame format, including the 80 grayscale bits and the final 32 bits for current limiting and standby control?

The frame contains 80 bits of grayscale data, which equals 16 bits per channel across 5 channels, followed by 32 bits of control. Those last 32 bits encode per-channel current limit with 5 bits per channel, and the remaining bits cover standby enable plus reserved values. The same post states the SM15155E current setting range is 10 to 300 mA. That frame layout explains why timing alone was not enough; developers also had to understand what each trailing byte actually changed. [#20983095]

How do I use OpenBeken commands like startDriver SM15155E and LED_Map to control a 5-channel RGB+CCT lamp correctly?

Start the native driver, then set the channel order for your lamp. The working example in the thread was:
  1. startDriver SM15155E
  2. LED_Map 0 1 3 2 4
  3. Verify RGB, warm white, and cold white outputs. That map matters because the physical lamp wiring did not follow the default logical channel order. Once the native driver and mapping were correct, the developer reported that it "seems to be working" on the real lamp hardware. [#21115906]

WS2812B vs SM16703P vs SM15155E — which protocol is closest for reverse engineering a Tuya smart wall lamp, and where do the differences matter most?

WS2812B looked closest in pulse timing, but SM15155E needed its own implementation. The thread measured about 350 ns / 1150 ns and explicitly compared them with WS2812B and SM16703P, concluding SM16703P did not match well enough. The biggest differences were not only pulse widths. SM15155E also uses 5-channel data with 16-bit grayscale per channel and trailing control bits for current and standby. Those frame-level differences are where reuse attempts broke down. [#20789559]

Why won’t WLED run directly on a BK7231N smart wall lamp, and what alternatives are practical for testing the LED protocol?

WLED will not run directly because the lamp uses a BK7231N, not an ESP-compatible target expected by typical WLED builds. The thread explicitly said you "can't flash WLED on the chip you have" and suggested an ESP-compatible board like a NodeMCU only for external protocol experiments. For this lamp, the practical path was OpenBeken plus protocol reverse engineering, because the unresolved issue was the SM15155E signaling itself, not just firmware branding or UI. [#20827693]

What troubleshooting steps help when an OpenBeken-controlled SM15155E lamp boots into inconsistent colors or only partially responds to brightness changes?

Treat inconsistent color at boot as a protocol issue first. The thread reported green on about 95% of boots, occasional red, and brightness changes working only about 50% of the time during SM16703P experiments. Start by checking driver selection, channel count, and timing assumptions. Then test repeatable raw frames instead of app control. If behavior changes between reboots, do not assume hardware damage; in this case, unstable timing and incomplete frame meaning caused the partial response. [#20778910]

How can I safely probe or modify a mains-powered smart wall lamp with separate power-supply and LED boards without damaging the LEDs or risking electric shock?

Work only with the low-voltage side exposed, and isolate the power-supply board from your probing routine. The teardown states the large housing contained the power supply with 230 V input, while the LED side carried 3.3 V, ground, and LED power across separate boards. That split helps, but it does not remove mains risk. Do not scrape, solder, or scope the device while energized unless you know which section is low voltage. The thread author fully disassembled the lamp before tracing connections with a simple voltmeter. [#20778847]

What was still missing after the timing was decoded for SM15155E support in OpenBeken, and how was the remaining reverse engineering completed?

After timing capture, the missing piece was the meaning of the individual bytes in the SM15155E frame. One developer stated they already had the timings and a per-byte decoder, but still did not know what the bytes meant. Later, another contributor supplied the frame structure: 80 grayscale bits + 32 control bits, including current-limit mapping. With that information and the physical lamp in hand, the OpenBeken team finished the driver and showed it working with startDriver SM15155E. [#20990095]
AI summary based on the discussion. May contain errors.
ADVERTISEMENT