FAQ
TL;DR: Scope captures show 350 ns/1 150 ns pulses at 800 kbps for SM15155E control, and “driver works on my side” [Elektroda, p.kaczmarek2, post #21115906] First public OpenBeken driver now lights all 5 channels via one BK7231N GPIO. Why it matters: owners can regain full RGB-CCT control after Tuya replacement.
Quick Facts
• IC combo: BK7231N Wi-Fi MCU + SM15155E 5-channel constant-current LED driver [Elektroda, HalliHallo, post #20778346]
• Protocol: Return-to-Zero, 800 kbps, 80-bit pixel + 32-bit current frame [Elektroda, femboozle, post #20983095]
• Pulse timing: logic ‘1’ ≈350 ns high, 1 150 ns low (±50 ns) [Elektroda, p.kaczmarek2, post #20789559]
• Channel current: 10–300 mA selectable in 5-bit steps [Elektroda, femboozle, post #20989648]
• Firmware memory: 2 MB flash dump available for recovery [Elektroda, HalliHallo, post #20778847]
What exactly is inside the Smart Wall Lamp?
The light hosts a BK7231N Wi-Fi module handling networking and a single SM15155E LED driver that powers eight parallel 5-in-1 RGB-CCT LEDs [Elektroda, HalliHallo, post #20778346]
Why did OpenBeken show only green after first flash?
Early builds used SM16703 timing; SM15155E needs shorter 350 ns high pulses. The mismatch let just one colour latch, forcing reboots [Elektroda, p.kaczmarek2, post #20778569]
What data frame does SM15155E expect?
Each refresh sends 80 bits of 16-bit grayscale (R,G,B,Ww,Wc) plus 32 bits that set per-channel current and standby flags—total 112 bits [Elektroda, femboozle, post #20983095]
How fast is the signal?
Waveforms captured at 100 MSa/s show an 800 kbps stream: one full 112-bit frame lasts ~140 µs [Elektroda, DeDaMrAz, post #20789518]
What current range can I choose?
The 5-bit current table covers 10 mA (00001) up to 300 mA (11111) per channel [Elektroda, femboozle, post #20989648]
Edge case: what if I set current bits too high?
Driving 300 mA into 5050 packages for long periods overheats LEDs; testers saw casing reach 80 °C in 2 minutes [SM15155E App Note].
How do I enable the new OpenBeken driver?
- Flash build ≥ r1263.
- In console run
startDriver SM15155E
.
- Map sequence:
LED_Map 0 1 3 2 4
then save. LEDs respond immediately [Elektroda, p.kaczmarek2, post #21115906]
Can I still do OTA updates?
Yes; OBK keeps Tuya’s bootloader. Upload firmware via HTTP Upgrader or MQTT OTA without opening the lamp [Elektroda, p.kaczmarek2, post #20784319]
Will WLED work on this hardware?
No. WLED targets ESP8266/ESP32 and WS28xx timing. SM15155E uses a proprietary frame on one GPIO; porting would require new DMA code [Elektroda, wolfieeewolf, post #20827693]
How was timing measured?
Developers flashed the original 2 MB dump to a sacrificial CB3S, probed pin P16 with a Rigol scope, and decoded pulses in PulseView [Elektroda, p.kaczmarek2, post #20789046]
Is Wi-Fi calibration safe after flashing?
Yes. OBK retains the RF factory partition; no range loss was reported in week-long bedroom tests [Elektroda, p.kaczmarek2, post #21127459]
Can I revert to the Tuya firmware?
Keep a copy of the 2 MB dump. Use flashmem_write
over UART or OTA to restore it. Pairing button is absent, so enable pairing via cloudcutter script before flashing back [Elektroda, HalliHallo, post #20778872]
Where is the source code?
SM15155E support sits in OpenBeken GitHub pull request #1263; SPI-DMA backend was split for easier future protocols [Elektroda, p.kaczmarek2, post #21115906]
What if my lamp has SM15153E?
SM15153E is 3-channel; timings match. Driver will accept SM15153E_Init 3
, but white channels won’t work. Add external MY9291 if you need CCT [Elektroda, femboozle, post #20983095]