logo elektroda
logo elektroda
X
logo elektroda

Ledvance Sun@Home Planon Plus + Ledvance Remote Control

philippeaellig 3732 27
Best answers

Can I flash a Ledvance remote control with OpenBeken without soldering to the BK7231N pads?

The thread did not identify a solderless way to flash this remote; the recommended approach is to solder to the exposed 3.3V/GND/RX/TX/CEN/CSN pads and first make a full 2 MB flash backup before writing OpenBeken [#20837861] [#20838325] If you already have OBK on it, updates can be done over Wi‑Fi, so RX/TX are no longer needed [#20848775] The buttons were later identified as a classic matrix keyboard, which can be supported by scanning the rows and columns with a timer/driver stub in OBK [#20848530] [#20848775] One user also mapped the buttons to `Btn` inputs and `addEventHandler` actions in `autoexec.bat`, showing that the remote can be used locally once flashed and configured [#21525322]
Generated by the language model.
ADVERTISEMENT
  • #1 20837652
    philippeaellig
    Level 3  
    Posts: 8
    Hi there, I would like to free my Ledvance lamps from the cloud. That should work.
    But I still have a question. I would also like to continue using the Ledvance Remote Control. They have a BK7231N chip in them. You don't pair the remote with the app, but connect it directly to the lamp. That's why I can't flash it with tuya-cloudcutter, as I probably can with the lamp. Is it possible to flash the remote with the OpenBeken firmware without soldering? The SMD BK7231N chip is very tiny. You can't solder it. There is a small QR code on the board, but it only contains a number, not a URL. There are six points on the back of the board where you could solder something: 3.3V, GND, RX, TX, CEN and CSN.
    Produkt Link
    Tuya Cloudcutter]
    Ledvance remote control circuit board with BK7231N chip. A circuit board with trace markings and solder points.
  • ADVERTISEMENT
  • #2 20837861
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14611
    Help: 655
    Rate: 12629
    There are required pads available, can you solder to them? Just make sure to make 2MB flash backup first.

    Are you sure that this remote works in WiFi mode and not as Bluetooth/?
    Helpful post? Buy me a coffee.
  • #3 20838246
    philippeaellig
    Level 3  
    Posts: 8

    Thanks for your answer.
    Yes, I can solder to them.
    Good question, I guess it works with Bluetooth because I can't see the remote in my network.
  • #4 20838325
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14611
    Help: 655
    Rate: 12629
    Well, for a start, you can just do 2MB flash read and it will tell us more about this device. Do not flash OBK yet.
    https://github.com/openshwprojects/BK7231GUIFlashTool
    Helpful post? Buy me a coffee.
  • #5 20839131
    philippeaellig
    Level 3  
    Posts: 8

    I tried it. But I was unsuccessful. I have an USB UART CH340G Adapter. I have connected TX to RX and RX to TX. At first I also connected VCC and GND to the BK7231N. Unfortunately it did not work. That's why I tried it with an external power supply.

    I selected the UART port and then clicked on "Read only OBK config". Then I switched on the power supply so that the device starts. That did not work. I also tried to connect 0.25 seconds CEN to GND. But that didn't work either. I tried many times with a metronome.

    Workbench with a power supply and electronic board connected to a USB UART CH340G adapter. Screenshot of BK7231 Easy UART Flasher program with connection errors.
  • #6 20839145
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14611
    Help: 655
    Rate: 12629
    It is always necessary to connect common ground as well. USB to UART convert ground must be connected to PCB, because RX/TX signals are in reference to ground. It will not work if you don't connect a common ground.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #7 20839217
    philippeaellig
    Level 3  
    Posts: 8

    I tried this too, but the result is the same.

    Setup of an electronic circuit on a breadboard with connected wires.
    Circuit board with soldered wires placed on a wooden surface.

    edit:
    i checked the Bk7231N and found a problem: TX is labeled as RX and RX is labeled as TX. So, i have to connect TX to TX and RX to RX.

    {
    	"Jsonver":"1.0.0",
    	"blindt":"8",
    	"module":"CBU",
    	"nightbrig":"5",
    	"bristep":"20",
    	"hsvstep":"20",
    	"keylt":"3",
    	"keyglobefunc":"[[9",
    	"step_rate":"20",
    	"category":"0505",
    	"keyccfg2":"10",
    	"tempstep":"20",
    	"nightcct":"0",
    	"keyccfg1":"9",
    	"crc":"30",
    	"prod_test":"false",
    	"fac_pin":"db3angmsimkndxht "
    }

  • #8 20842154
    philippeaellig
    Level 3  
    Posts: 8

    @p.kaczmarek2 What do I have to do now with the 2MB flash read?
  • ADVERTISEMENT
  • #9 20842523
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14611
    Help: 655
    Rate: 12629
    The 2MB flash read is required to get Tuya JSON config. In most of the devices it will contain your GPIO data, but in the case of your device, I can't see any GPIO information there. It seems that you need to find our GPIO roles manually, maybe with GPIO Doctor from our Web App.
    Helpful post? Buy me a coffee.
  • #10 20848215
    philippeaellig
    Level 3  
    Posts: 8

    I have to give up. The TX and RX pads on the remote control have fallen off. I'm not a good solderer.


    What I have figured out:

    Ledvance Sun@Home Planon Plus + Ledvance Remote Control

    P7 (PWM 1)S2 (Book)P15
    P6 (PWM 0)S3 (B)P15
    P26 (PWM 5)S4 (Palm tree)P15
    P7S6 (Screen)P17
    P6S7 (A)P17
    P26S8 (Moon)P17
    P8S9 (ON)P9
    P7S10 (OFF)P9
    P6S11 (warmer)P9
    P26S12 (darker)P9
    P8 (PWM 2)S13 (less saturation)P28
    P7S14 (brighter)P28
    P6S15 (more saturation)P28
    P26S16 (colder)P28


    I guess that the PIN P15, P17, P9 and P28 are listening to the PWM Signals from O8, P26, P7 and P6. And when a button is clicked and the PWM signal arrives, you then know which button is clicked. Unfortunately, I do not yet understand how to input this into OpenBK.
  • #11 20848530
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14611
    Help: 655
    Rate: 12629
    So it's a classic matrix keyboard. Should be easy to support, but would require some programming knowledge.
    Helpful post? Buy me a coffee.
  • #12 20848747
    philippeaellig
    Level 3  
    Posts: 8

    Developing is not the problem, I am a developer. But I don't know how to implement this with ODK.
  • #13 20848775
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14611
    Help: 655
    Rate: 12629
    Have you ever implemented a matrix keyboard scan on any platform?

    In OBK, you can either utilize a RTOS timer or use our quicktick timer, which fires every 25ms. And then, repeatedly, set one of the matrix columns to high state, and then sample the rows. Then again, set another column to high state, and sample rows again. Etc, etc. You may need to take in the account the propagation time, but it can be done easily.

    I can write a driver stub for you in C, and then we can finish that one together.

    Is the device flashed with OBK already? If so, then you don't need RX/TX, you can update via WiFi.

    Alternatively, you could send me the board with the broken pads and I think I may be able to restore them and use it for development.
    Helpful post? Buy me a coffee.
  • #14 20848778
    philippeaellig
    Level 3  
    Posts: 8
    Yes, it's already flashed with OBK.
  • #15 20848811
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14611
    Help: 655
    Rate: 12629
    Okay, so, do you know C? Would you like to help with the code, or maybe, I can just try to make the driver draft myself and just let you test?

    I could prepare a first version today, but it may require several testing attempts and fixes.

    Pseudocode would be:
    
    set P9 to high, others low
    sample P8
    sample P7
    sample P6
    sample P26
    set P28 to high, others low
    sample P8
    sample P7
    sample P6
    sample P26
    // etc, etc, etc
    
    Helpful post? Buy me a coffee.
  • #16 21510794
    gelbetomate
    Level 3  
    Posts: 5
    Hi, I recently had the chance to buy 2 of these Ledvance Planon Plus lamps including this remote control.

    The first remote I flashed with OBK. I tried it several times to back up with a lot of tricks and tweaks I read in this forum, but didn't succeed. It always stopped and had a time out after a while. So I took one statement I found "not possible with N" and just started to write OBK and this succeeded the first time without any trouble.

    But now I have a blank OBK and wanted to apply a as supported listed Template for this remote, but the Template seems to be empty and is referencing to this thread for more information.

    Until now I did not find further information and I'm wondering if one went on with his analyses and can share it?

    btw I'm willing to do some tests and I still have this device with the original firmware.
  • #17 21510844
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14611
    Help: 655
    Rate: 12629
    Can you show some detailed photos of your device?

    I'm not yet even sure how this remote can work, is it using BT or some kind of WiFi like ESPnow? @insmod ,any ideas?
    Helpful post? Buy me a coffee.
  • #18 21510877
    gelbetomate
    Level 3  
    Posts: 5
    It's exactly the same one analyzed by @philippeaellig

    It's using wifi.

    Circuit board with components and attached wires.
    Disassembled LEDVANCE remote control showing internal components and individual parts.
    Disassembled remote control with visible internal components and casing on a black background.
  • #19 21510881
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14611
    Help: 655
    Rate: 12629
    So this remote has a pairing process where you enter your SSID and pass? And it connects to your router?
    Helpful post? Buy me a coffee.
  • #20 21510893
    gelbetomate
    Level 3  
    Posts: 5
    well, I did not use the ledvance app for now, but it looks like you first pair your lamp with the mobile app and then you bring your lamp into pairing mode and connect the remote to it. I do not know if this is using WIFI or BT.

    https://www.ledvance.com/00_Free_To_Use/asset...1_smart-_wifi_installation_remote_control.pdf

    adding this video, as you can see the process and the app
    (51) So einfach koppelst du die LEDVANCE SMART+ WiFi Fernbedienung mit einer LEDVANCE SMART+ WiFi Lampe! - YouTube

    https://www.youtube.com/watch?v=7Y7D66_HfMw

    it is saying wifi remote.
  • #21 21519297
    gelbetomate
    Level 3  
    Posts: 5
    I would be simply happy if I can use the remote buttons in my wifi network to trigger an event in HA or MQTT or both. No need to implement any pairing mode or other features provided by a direct connection between remote and lamp which might be using BT.

    So, now trying to understand if the matrix keyboard mentioned above has been implemented and how to use it?

    Simple Scenario One: trying to use button S2 on the remote using what I understand from the table listed above:

    Pin configuration with their modes and values.

    this is simply triggering the "Toggle Light". Slow but proven now, it's leveraging wifi yeah, but it's not only working for S2 also other buttons are triggering the toggle... hmmm

    Ledvance Remote Control 1 interface showing status information and a toggle light function.

    I don't want the "LED Dimmer/Brightness" slider, but this comes from PWM, I guess.

    I'm still new to OBK and this type of configuration. Every hint can help ;-)
  • #22 21525322
    pirkelt
    Level 3  
    Posts: 4
    Rate: 1
    Hello all,

    formerly i experimented with this remote control, too. It´s important to know the unit includes a (very low) power stepup converter to boost the battery voltage to 3.3V. The converter is always on. So i use this unit with rechargeable batteries. The ADC Port is free, but they designed solderpads on PCB for 0402 Resistors. One to ground (i use 2,2 Megohm Resistor) and the second to VCC from regulator (why ?). I soldered the second Resistor (2,7 Megohm) directly to batteryport to monitor the Batterysupply. In sleep the Unit draws only 30-40 microamps with regulator.
    Wakeup is a simple push on a button in the "Keycross" area. The Remote starts, within 6 seconds is the unit ready connected.  
    The blue WiFI LED is switched on during operation for 90 seconds, goes off for two seconds to warn me for disconnection/sleep down in 10 seconds.

    Ledvance_Remote control panel with buttons, device, battery, WiFi data, and configuration options.

    In my configuration i can use 6 buttons (devices). In my application some buttons supports multiclick (like the old WiFi Shelly Button 1).



    Here is my autoexec.bat with comments

    // PowerSave 2
    alias mode_wifi setPinRole 14 WifiLED
    alias mode_relay setPinRole 14 AlwaysHigh

    // at reboot, set WiFiLEd
    mode_wifi
    // then, setup handlers
    addChangeHandler WiFiState == 4 mode_relay
    addChangeHandler WiFiState != 4 mode_wifi

    SetChannelLabel 1 "Taste ON"
    SetChannelLabel 2 "Taste OFF"
    SetChannelLabel 3 "wärmer"
    SetChannelLabel 4 "dunkler"
    SetChannelLabel 5 "Taste A"
    SetChannelLabel 6 "Taste B"
    SetChannelLabel 0 "Tastenkreuz triggert Sleeptimer"

    Battery_Setup 0000 3250 1.00 3250 2570 // Spannungsteiler 2M4+2M7 @3V
    Battery_cycle 29 // Aktualisierung in sek.

    addEventHandler OnClick 7 backlog SendGet http://192.168.0.78/white/0?turn=toggle&brightness=50 // P7 Aufruf GU10 TV
    addEventHandler OnDblClick 7 backlog SendGet http://192.168.0.78/settings?mode=white
    addEventHandler On3Click 7 backlog SendGet http://192.168.0.78/settings?mode=color // P7 Aufruf GU10 TV grün
    addEventHandler On4Click 7 backlog SendGet http://192.168.0.78/white/0?turn=on&brightness=100
    addEventHandler OnHold 7 backlog SendGet http://192.168.0.78/color/0?effect=1 // P7 Aufruf GU10 TV Animation

    addEventHandler OnClick 8 backlog SendGet http://192.168.0.79/white/0?turn=toggle&brightness=50 // P8 Aufruf GU10 Sofa
    addEventHandler OnDblClick 8 backlog SendGet http://192.168.0.79/settings?mode=white
    addEventHandler On3Click 8 backlog SendGet http://192.168.0.79/settings?mode=color // P8 Aufruf GU10 Sofa grün
    addEventHandler On4Click 8 backlog SendGet http://192.168.0.79/white/0?turn=on&brightness=100
    addEventHandler OnHold 8 backlog SendGet http://192.168.0.79/color/0?effect=1 // P8 Aufruf GU10 Sofa Animation

    addEventHandler OnClick 6 backlog SendGet http://192.168.0.88/cm?cmnd=Power%20Toggle // P6 Aufruf Pixel LED
    addEventHandler OnDblClick 6 backlog SendGet http://192.168.0.88/cm?cmnd=Color%207c2a00 // P6 Aufruf Pixel LED warm
    addEventHandler On3Click 6 backlog SendGet http://192.168.0.88/cm?cmnd=Color%2000FF00 // P6 Aufruf Pixel LED grün
    addEventHandler On4Click 6 backlog SendGet http://192.168.0.88/cm?cmnd=Color%2050c950 // P6 Aufruf Pixel LED kalt
    addEventHandler OnHold 6 backlog SendGet http://192.168.0.88/cm?cmnd=Anim%200 // P6 Aufruf Pixel LED Animation

    addEventHandler OnClick 26 backlog SendGet http://192.168.0.49/rpc/Switch.Toggle?id=0 // P26 Philips Scene LED

    addEventHandler OnClick 17 backlog SendGet http://192.168.0.47/rpc/Switch.Toggle?id=0 // P17 Funktisch schalten
    addEventHandler OnClick 15 backlog SendGet http://192.168.0.47/rpc/Switch.Toggle?id=1 // P15 LED (A2) schalten
    addEventHandler OnHold 15 backlog SendGet http://192.168.0.98/cm?cmnd=Power%20Toggle // P15 Aufruf Couch E27

    // give user time to play
    delay_s 90
    setPinRole 14 AlwaysLow
    delay_s 2
    mode_relay
    delay_s 10
    // sleep either until pin wakeup
    PinDeepSleep



    and my pin configuration:

    "pins":
    "6": "Btn;3",
    "7": "Btn;2",
    "8": "Btn;1",
    "9": "AlwaysLow;0",
    "14": "WifiLED;0",
    "15": "dInput_n;0",
    "16": "dInput_n;0",
    "17": "dInput_n;0",
    "23": "BAT_ADC;0",
    "26": "Btn;4",
    "28": "DoorSnsrWSleep_nPup;0"



    Thank you very much for this great Project!

    Thomas
  • #23 21525325
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14611
    Help: 655
    Rate: 12629
    Good job, make sure to include the new "Quick connect to WiFi" flag/mechanism by @insmod

    Well, isn't ADC port used (or supposed to be used) for battery voltage check? I've read reports that having too low voltage corrupts BK7231 flash and then you have to flash whole 2MB image again to recover it.
    Helpful post? Buy me a coffee.
  • #24 21525678
    pirkelt
    Level 3  
    Posts: 4
    Rate: 1
    -> Good job, make sure to include the new "Quick connect to WiFi" flag/mechanism by @insmod

    Thanks!
    I tried this new "Quick reconnect feature", but the unit starts two times and the reconnecting is much slower. It needs sometimes up to 30 seconds!

    Ledvance_Remote control panel with control buttons and device status information displayed.

    Web interface of a Ledvance Remote device showing connection status, battery level, and control buttons.

    A list of advanced device settings, mainly related to WiFi, MQTT, HTTP, and power settings, with some options checked.

    Back to 18.76 everything is ok again. I use always a static IP configuration. confused...


    -> Well, isn't ADC port used (or supposed to be used) for battery voltage check? I've read reports that having too low voltage corrupts BK7231 flash and then you have to flash
    -> whole 2MB image again to recover it.


    The ADC is normally not connected (R7 & R8), and from the origin PCB design only measurement to regulated 3,3V power supply is possible. The step-up voltage converter includes an undervoltage detection to switch off in emergency (empty or removed battery). A big 470 microfarad buffer capacitor on battery side is equipped, too.

    Close-up of a green printed circuit board with SMD electronic components, traces, and a soldered red wire.
    Close-up of a PCB section with SMD electronic components.



    Greetings Thomas
  • ADVERTISEMENT
  • #25 21525710
    insmod
    Level 31  
    Posts: 1392
    Help: 164
    Rate: 435
    >>21525678
    You don't need to flash back, just disabling flag 51 would do.
    You also need to wait at least ten seconds while connected to fast connect data to be saved. If not - then it connects normally.
    It's a random thing, on some of my devices it doesn't work properly too.
    I remember that my T device only connected on the second try, but after i rebooted my router (AX3600 OpenWrt 24.10), it started connecting on the first try.

    I also recommend to quickly reset 3 times with flag 51 enabled to erase fast connect data - to ensure that it didn't try to use some garbage data.
  • #26 21525724
    pirkelt
    Level 3  
    Posts: 4
    Rate: 1
    Thanks a lot for your very fast reply!

    I will try it again and will report later!

    Cheers Thomas
  • #27 21526411
    pirkelt
    Level 3  
    Posts: 4
    Rate: 1
    Hello all, Hello @insmod,

    back from my family I tried your recommendations and tested again. Disabling flag 51 decreases the connection time to 4-6 seconds. Similar to 18.76 FW. My Router is a AVM FB 7590. It looks like the Unit starts two times with two instances. Both count down timers are visible in Web UI. Old 18.76 FW shows only one and for my opinion is correct. This behaviour is repeatable. Can this be explained?


    Ledvance_Remote control panel interface with buttons and battery, MQTT status information.

    here is my log from beginning with one switching event:

    N:Time 13, idle 191192/s, free 67368, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:MAIN:Time 14, idle 190262/s, free 67368, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:MAIN:Time 15, idle 176496/s, free 67368, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:MAIN:Time 16, idle 192364/s, free 67368, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:MAIN:Time 17, idle 189727/s, free 67368, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:MAIN:Time 18, idle 189450/s, free 67368, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:MAIN:Time 19, idle 191961/s, free 67368, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:MAIN:Time 20, idle 189475/s, free 67368, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:GEN:dhcp=0 ip=192.168.0.80 gate=192.168.0.8 mask=255.255.255.0 mac=4c:a9:19:4c:23:eb
    Info:GEN:sta: 1, softap: 0, b/g/n
    Info:GEN:sta:rssi=-49,ssid=xxxxxxxxx ,bssid= xx:xx:xx:xx:,channel=6,cipher_type:CCMP
    Info:MAIN:Time 21, idle 184448/s, free 67368, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:MQTT:mqtt_host empty, not starting mqtt
    Info:MAIN:Time 22, idle 192064/s, free 67368, MQTT 0(2), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:MAIN:Time 23, idle 188849/s, free 55672, MQTT 0(2), bWifi 1, secondsWithNoPing -1, socks 3/38
    Info:MAIN:Time 24, idle 188127/s, free 67368, MQTT 0(2), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:GEN:15 Button_OnInitialPressDown
    Info:GEN:15 key_short_press
    Info:EVENT:EventHandlers_FireEvent: executing command backlog SendGet http://192.168.0.47/rpc/Switch.Toggle?id=1 // P15 LED (A2) schalten
    Info:CMD: CMD_SendGET received with args http://192.168.0.47/rpc/Switch.Toggle?id=1 // P15 LED (A2) schalten
    Info:HTTP_CLIENT:HTTPClient_Async_SendGet for http://192.168.0.47/rpc/Switch.Toggle?id=1, sizeof(httprequest_t) == 160!
    Info:MQTT:Channel has changed! Publishing 1 to channel 6
    Info:HTTP_CLIENT:Parse url http://192.168.0.47/rpc/Switch.Toggle?id=1
    Info:HTTP_CLIENT:host: '192.168.0.47', port: 80
    Info:HTTP_CLIENT:HAL_TCP_Establish: created socket 2

    Error:HTTP_CLIENT:success to establish tcp, fd=2
    Info:HTTP_CLIENT:httpclient_recv 131 bytes has been read
    Info:CMD:LFS_ReadFile: failed to file //
    Info:MAIN:Time 25, idle 178350/s, free 67368, MQTT 0(2), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:MAIN:Time 26, idle 188174/s, free 67368, MQTT 0(2), bWifi 1, secondsWithNoPing -1, socks 2/38


    Thanks for your attention,

    Thomas
  • #28 21527508
    gelbetomate
    Level 3  
    Posts: 5
    Hi,

    I thought it's because of me still struggling with the setup, but now it looks like it's not only at my place. I can confirm with the same router type it looks the same here:

    Screenshot of Ledvance Remote Control 1 dashboard showing button status, battery level, chip temperature, and configuration options.

    Also the logs have those entries.

    It connects, the wifi light flashes, then it stays connected, until the 2nd sleep timer went down to 0, then the light flashes (connects) again and after the next deep sleep timer went down the light turns off completely and the connection is lost. Only turning power off and on brings it back to life. I didn't solder anything with the voltage regulator or any shunt etc. and I'm still powering my remote with 3.3V from the USB TTL converter.

    Cheers

Topic summary

✨ The discussion focuses on freeing Ledvance Sun@Home Planon Plus lamps and their Ledvance Remote Control from cloud dependency by flashing with OpenBK (OBK) firmware. The remote control uses a BK7231N chip and connects directly to the lamp, complicating flashing attempts. Users explored soldering to six pads (3.3V, GND, RX, TX, CEN, CSN) for UART communication but faced challenges including mislabeled RX/TX pads and fragile solder points. The remote likely operates over WiFi, not Bluetooth, with a matrix keyboard using PWM signals for button detection. OBK firmware flashing was eventually successful on the remote, but configuring the matrix keyboard requires custom driver development using periodic GPIO scanning. The remote includes a low-power step-up converter for battery voltage regulation and an ADC port for battery monitoring. Users reported issues with WiFi quick reconnect features causing double starts and slow reconnections, with some router-specific behaviors observed. The community shared insights on flashing procedures, GPIO role identification, matrix keyboard scanning implementation, and power management considerations for stable operation under OBK firmware.
Generated by the language model.

FAQ

TL;DR: For BK7231N owners, start with a 2MB flash backup and "make sure" the UART pads are usable before flashing OpenBeken. This FAQ solves the common Ledvance Smart+ WiFi Remote problem: how to wire the exposed pads, avoid blank-template confusion, and turn the remote into a usable WiFi button device instead of a cloud-bound accessory. [#20837861]

Why it matters: This thread shows that the remote can be repurposed, but only after you handle UART wiring, manual key-matrix mapping, and OpenBeken sleep and WiFi behavior correctly.

Approach What users observed Best use
Read 2MB flash first Safest path for extracting Tuya JSON before changes Device identification and recovery planning
Flash OBK directly One 2025 user succeeded immediately, but got a blank setup Fastest path when backup fails
Use simple pin roles only Several buttons can collapse into one action Quick testing, not full matrix support
Use matrix-aware or reduced-button mapping Stable practical control was achieved with 6 usable buttons Home Assistant, HTTP, or MQTT triggers

Key insight: The remote is not a simple one-button GPIO device. It uses a classic matrix keyboard, so reliable OpenBeken support depends on scanning rows and columns or using a proven reduced-button pin configuration.

Quick Facts

  • The exposed programming pads are labeled 3.3V, GND, RX, TX, CEN, CSN, which is enough for UART reading or flashing if wiring is correct. [#20837652]
  • A successful backup workflow in the thread starts with a 2MB flash read before flashing anything, because that dump can expose the Tuya JSON configuration. [#20838325]
  • One working power profile reported for the remote is 30–40 microamps in sleep, about 6 seconds to reconnect, 90 seconds of active LED-on time, then a 2-second warning and 10 seconds before sleep. [#21525322]
  • The free ADC path is not populated by default, but users added a battery divider with 2.2 MΩ to ground and 2.7 MΩ to battery, then sampled on P23. [#21525322]

How can I flash a Ledvance Smart+ WiFi Remote Control with a BK7231N chip to OpenBeken using the exposed 3.3V, GND, RX, TX, CEN and CSN pads?

You can flash it over UART from the exposed pads, but only after confirming pad integrity and correct signal orientation. Use 3.3V power, connect a common ground, then connect the UART lines as the board actually expects. One user damaged the tiny TX and RX pads during rework, so the practical limit is mechanical, not just software. Read first if possible, then flash OBK only after you know the device responds on UART. [#20848215]

What is a 2MB flash backup on a BK7231N device, and why should I read it before flashing OpenBeken?

A 2MB flash backup is a full dump of the BK7231N device flash, and you should read it before flashing OpenBeken. It preserves the factory image and can reveal the device's Tuya JSON configuration. In this thread, the 2MB read was requested specifically to learn more about the remote before any OBK write. That makes recovery and GPIO analysis easier if the flashed device boots blank or behaves oddly. [#20838325]

Why does the Ledvance Sun@Home Planon Plus remote not show up on my router, and how can I tell whether it communicates over WiFi, Bluetooth, or something else?

The stock remote may stay invisible on your router because its normal pairing flow appears to bind the remote to the lamp, not directly to your network UI. One user described pairing the lamp in the app first, then pairing the remote to the lamp, and still could not confirm whether that last link used WiFi or Bluetooth. After flashing OBK, other users clearly used it over WiFi for HTTP-style control, so OBK operation proves WiFi is possible even if stock transport remains mixed or unclear. [#21510893]

What is Tuya JSON config on BK7231N devices, and how does it help identify GPIO roles when porting a device to OpenBeken?

"Tuya JSON config" is device metadata that stores factory settings, board identity, and sometimes pin-role hints, making it a useful first artifact when porting a Tuya-based product to OpenBeken. In this remote, the extracted JSON showed fields like module: CBU and category: 0505, but it did not expose usable GPIO assignments. That meant the porter still had to find button lines manually instead of importing a ready-made template. [#20842523]

How should RX and TX be wired on a BK7231N module when the board silkscreen appears to label TX as RX and RX as TX?

Wire them according to the chip function, not the misleading silkscreen. In this case, the user discovered the board marked TX as RX and RX as TX, so the correct connection became TX-to-TX and RX-to-RX. That single change turned a failed read attempt into a successful config read. Always verify the BK7231N pin reference before assuming the board text is correct. [#20839217]

What steps are needed to enter UART flashing mode on a BK7231N remote using CEN, a CH340G USB-UART adapter, and BK7231GUIFlashTool?

Use this 3-step process. 1. Connect the CH340G to 3.3V, GND, and the verified UART pins. 2. In BK7231GUIFlashTool, select the correct UART port and start a read operation. 3. Power the board, then try a brief CEN-to-GND pulse of about 0.25 seconds if it does not answer immediately. In this thread, those were the exact actions tested, although initial attempts failed until the RX and TX labeling issue was found. [#20839131]

Why is a common ground required between a USB-UART adapter and a BK7231N board during reading or flashing?

A common ground is required because UART RX and TX are measured against the same voltage reference. Without that reference, the adapter cannot reliably interpret logic levels from the BK7231N board. The thread states this plainly: common ground is "always necessary" for reading or flashing. If you omit ground, even correct TX and RX wiring can still fail. [#20839145]

How do I map the Ledvance remote's button matrix in OpenBeken when the keys are arranged across pins like P6, P7, P8, P26, P9, P15, P17 and P28?

Map it as a matrix, not as isolated buttons. The thread's reverse-engineering table shows four drive lines, P6, P7, P8, and P26, combined with four sense lines, P9, P15, P17, and P28, producing up to 16 key positions. For example, S2 sits on P7 plus P15, while S9 sits on P8 plus P9. If you assign only one pin as a button, OpenBeken cannot distinguish every row-column combination. [#20848215]

What is a matrix keyboard scan in OpenBeken, and how would I implement it with quicktick or an RTOS timer for this Ledvance remote?

"Matrix keyboard scan" is an input method that drives one column at a time, reads all rows, and repeats on a timer, letting firmware identify many buttons from a small set of GPIO pins. In OpenBeken, the recommended approach was to use quicktick every 25 ms or an RTOS timer. Set one matrix column high, keep the others low, sample the row pins, then move to the next column and repeat. [#20848775]

How can I use a flashed Ledvance remote with OpenBeken to send MQTT or Home Assistant events instead of pairing directly with the lamp?

Use OpenBeken event handlers and send network actions on button events. One working setup mapped six buttons, then used commands like addEventHandler OnClick 7 backlog SendGet ... to trigger local HTTP endpoints for lights and switches. The same pattern can drive Home Assistant, MQTT-adjacent bridges, or direct device APIs. That turns the remote into a WiFi scene controller instead of a lamp-paired accessory. [#21525322]

OpenBeken button roles vs PWM roles on this Ledvance remote: which pin configuration works best for getting reliable button events without unwanted dimmer behavior?

A reduced button-style mapping works better than treating the matrix lines as PWM controls. One proven configuration used P6, P7, P8, and P26 as Btn roles, P9 as AlwaysLow, P15, P16, and P17 as dInput_n, P23 as BAT_ADC, and P28 as DoorSnsrWSleep_nPup. That setup gave six practical buttons and avoided the unwanted dimmer slider behavior seen when users configured pins too literally from the matrix table. [#21525322]

Why do multiple buttons on the Ledvance remote trigger the same action when I configure a single pin in OpenBeken?

Multiple buttons trigger the same action because one pin in a key matrix is shared by several keys. In the thread, a user bound a single signal path for S2 and found that other buttons also toggled the same light. That happens because the firmware sees only one row or one column state, not the full row-column pair. A single-pin mapping cannot uniquely identify 16 possible matrix combinations. [#21519297]

How can I add battery voltage monitoring to this Ledvance BK7231N remote using the free ADC pin and resistor divider pads on the PCB?

You can add battery monitoring by populating the unused ADC divider pads and routing the divider to the ADC input. One user added a 2.2 MΩ resistor to ground and a 2.7 MΩ resistor to the battery side, then configured BAT_ADC on P23. The same setup used Battery_Setup 0000 3250 1.00 3250 2570 and a Battery_cycle 29 refresh period. That gave practical battery monitoring on a board where R7 and R8 were originally unpopulated. [#21525322]

What is the OpenBeken quick connect to WiFi flag 51 feature, and why can it make this remote connect slowly or appear to start twice?

Flag 51 is OpenBeken's quick-connect mechanism for saving and reusing fast WiFi connection data, but it can misbehave on this remote. Users reported two visible startup instances, slower reconnects up to 30 seconds, and better behavior after disabling flag 51. The maintainer also noted you must stay connected at least 10 seconds so the fast-connect data is saved, and a triple quick reset can clear bad stored data. [#21525710]

How do I configure deep sleep, wake on key press, WiFi LED behavior, and multi-click actions on the Ledvance remote using OpenBeken autoexec.bat commands?

Use autoexec.bat to combine pin roles, WiFi-state handlers, button events, and timed sleep. A working example did this in 3 steps: 1. Set pin roles, including pin 14 for the WiFi LED and pin 28 for wake-capable sleep behavior. 2. Add click, double-click, triple-click, and hold handlers for pins 6, 7, 8, 15, 17, and 26. 3. Keep the unit awake for 90 seconds, flash a 2-second warning, wait 10 seconds, then call PinDeepSleep. Wakeup was confirmed by pressing a key in the keycross area. [#21525322]
Generated by the language model.
ADVERTISEMENT