logo elektroda
logo elektroda
X
logo elektroda

FS-05R Mini Dimmer Firmware Replacement Issue with I/O Configuration

lbelleboni 9855 52
Best answers

How do I configure OpenBK7231 after replacing the FS-05R dimmer firmware when automatic I/O detection does not give a working setup?

This device does not use a normal automatic TuyaMCU configuration; it behaves like a custom UART-controlled dimmer, so OpenBK cannot infer a working I/O map by itself [#20901172][#20901696][#20924355] The suggested fix was to sniff the original firmware’s UART traffic with the original firmware restored, using galvanic isolation if the board is powered from mains, and then replicate that protocol in an `autoexec.bat` script [#20901755][#20901821][#20922303] After analyzing captures, the working setup used baud rate 115200 and treated the device “as if” it were TuyaMCU: `startDriver TuyaMCU`, `tuyaMcu_setBaudRate 115200`, `setChannelType 1 toggle`, `setChannelType 2 dimmer256`, and on channel change send `tuyaMcu_sendCmd 0x30 00$CH3$$CH4$` with the brightness value computed from the toggle and dimmer channels [#20984424][#20985892] The board has no separate relay pin to find in OpenBK because the load is controlled through the MCU (U2) over UART RX1/TX1, not directly by the Wi‑Fi module [#20924355] The odd UART messages like `BB AA ...` are normal background traffic and can be ignored [#20994022] If you need to start over, `clearAll` was recommended [#20993279]
Generated by the language model.
ADVERTISEMENT
  • #31 20983335
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    next capture, few pressess
    Attachments:
    • FS-05R-few_presses.zip (2.6 KB) You must be logged in to download this attachment.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #32 20984417
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    Baud settings:
    Settings window for UART transmission configuration with options such as RX, TX, baud rate, data bits, and parity.
    Many presses:
    FS-05R-man...resses.zip (2.66 kB)You must be logged in to download this attachment.
    Helpful post? Buy me a coffee.
  • #33 20984424
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    JSON:
    Code: JSON
    Log in, to see the code

    backup; https://github.com/openshwprojects/FlashDumps/commit/e1e5a3e588cde2f995921d5deaa0a16896d0a011

    Added after 34 [minutes]:

    Hello world:



    
    startDriver TuyaMCU
    tuyaMcu_setBaudRate 115200
    
    again:
    delay_s 1
    uartSendHex 55AA0030000300000638
    delay_s 1
    uartSendHex 55AA0030000300000032
    goto again
    


    Added after 25 [minutes]:

    Added wrapper:
    https://github.com/openshwprojects/OpenBK7231...mmit/7a9d3df40d4c20cee56ed9bfe4d9927ce44c20c1
    Script now:
    
    startDriver TuyaMCU
    tuyaMcu_setBaudRate 115200
    
    again:
    delay_s 1
    tuyaMcu_sendCmd 0x30 000000
    delay_s 1
    tuyaMcu_sendCmd 0x30 0001FF
    goto again
    

    Effect:


    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #34 20984660
    adolfonovo
    Level 7  
    Posts: 18
    Did you get it?

    YOU’RE the best!!!
  • #35 20984666
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    I can send the control data manually but I still need to update the firmware so we have something more automatic.

    Still, you can update OBK and try the script I posted. It should work as on my video.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #36 20984669
    adolfonovo
    Level 7  
    Posts: 18
    Ok. I’ll give a chance this weekend on the other device

    Thanks
  • #37 20985892
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    Here is almost final script, but it requires OBK update:
    
    
    // this is not really tuyaMCU but we will treat it as such
    startDriver TuyaMCU
    // set baud rate
    tuyaMcu_setBaudRate 115200
    
    // create a toggle and a dimmer
    setChannelType 1 toggle
    setChannelType 2 dimmer256
    
    
    // invoke refresh on change
    addEventHandler OnChannelChange 1 startScript autoexec.bat refresh
    addEventHandler OnChannelChange 2 startScript autoexec.bat refresh
    
    
    refresh:
    // channel 5 is temporary variable, from 0 to 255*3, multiplied also by toggle value
    setChannel 5 $CH2*3*$CH1
    // split into two bytes
    setChannel 3 $CH5/256
    setChannel 4 $CH5%256
    // send the two bytes
    tuyaMcu_sendCmd 0x30 00$CH3$$CH4$
    


    Screenshot of OBK script editor with autoexec.bat
    Result:
    OpenBK7231N dimmer control panel.
    Helpful post? Buy me a coffee.
  • #38 20986831
    adolfonovo
    Level 7  
    Posts: 18

    Hi! I tested right now and works!!! Thank you so much for your job.
    Only I noticed that the dimmable slider acts well from 0 to around 100, and reaches the highest brightness. Maybe the LED bulb I'm using hasn’t dimmable capabilities. I need to try with other type.

    Thanks a lot again
  • #39 20986845
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    What kind of bulb do you have?
    Helpful post? Buy me a coffee.
  • #40 20986852
    adolfonovo
    Level 7  
    Posts: 18

    Hi. It is that kind of led with the shape of halogen. Those to insert in the ceiling.... Do you know which ones?
  • #41 20986960
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    Those kinds of bulbs are usually not dimmable under explicitly specified. You need to consult the information on the box/label to be sure.
    Helpful post? Buy me a coffee.
  • #42 20989028
    lbelleboni
    Level 3  
    Posts: 23

    Ciao

    Thanks for your wonderful job! Congratulations.

    But... I need your help.

    I need to use the dimmer as a normal switch, so I modify the autoexec.bat file in order to:
    - Accept the toggle signal from the external electrical switch
    - Accept the on/off command from Alexa (Wemo simulation)
    - Use an automatic delay off of 2hr

    I run it but:
    - The switch runs all the time I reset the system; it seems that does not look to last state (SetStartValue 1 -1) or force power off (SetStartValue 1 0).
    - Sometimes the system starts without reason
    - The lamps start to blink (they are not dimmable) without reason

    Maybe the two subroutines can't run together?
    Thanks in advance.
    Luca

    This is my Autoexec:
    //P0 = Switch extern
    //P7 = Switch intern (fix to CH 0 so, not used)
    //P8 = LED (Wifi_N)
    //P24 = DIM- (NOT Used)
    //P26 = DIM+ (NOT Used)
    //CH10 = timer for poweroff
    // this is not really tuyaMCU but we will treat it as such
    startDriver TuyaMCU
    // set baud rate
    tuyaMcu_setBaudRate 115200
    //Activate driver for wifi
    startDriver SSDP
    //Activate driver to simulate WEMO
    startDriver WEMO
    //Add powersave
    //PowerSave 1
    // display seconds timer
    setChannelType 10 TimerSeconds
    // set start values as "remember in flash" 
    // 0= POWER OFF   1= Remember last state
    SetStartValue 1 -1
    // 0= timer to zero   
    SetStartValue 10 60
    //Check if timer expired
    alias do_check if $CH10==0 then setChannel 1 0
    alias do_tick backlog addChannel 10 -1; do_check
    // create a toggle and a dimmer
    setChannelType 1 toggle
    //Dimmer slider Not used
    //setChannelType 2 dimmer256
    // invoke refresh on change
    addEventHandler OnChannelChange 1 startScript autoexec.bat refresh
    //addEventHandler OnChannelChange 2 startScript autoexec.bat refresh
    refresh:
    //Start timer or reset timer (7200 = 2h)
    if $CH1==1 then setChannel 10 7200
    if $CH1==0 then setChannel 10 0
    // channel 5 is a temporary variable, from 0 to 255*3, multiplied also by toggle value
    //setChannel 5 $CH2*3*$CH1
    // split into two bytes
    //setChannel 3 $CH5/256
    //setChannel 4 $CH5%256
    //FIX always the max value (ON) or zero (OFF)
    setChannel 3 1*$CH1
    setChannel 4 256*$CH1
    // send the two bytes 
    tuyaMcu_sendCmd 0x30 00$CH3$$CH4$
    again:
    if $CH10!=0 then do_tick
    delay_s 1
    goto again

  • ADVERTISEMENT
  • #43 20990100
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    Why are you counting time that way:
    
    alias do_check if $CH10==0 then setChannel 1 0
    alias do_tick backlog addChannel 10 -1; do_check
    (....)
    again:
    if $CH10!=0 then do_tick
    delay_s 1
    goto again
    

    You can do it more easily with addRepeatingEvent or addRepeatingEventID. You can also cancel previous event by the ID.
    Helpful post? Buy me a coffee.
  • #44 20991224
    lbelleboni
    Level 3  
    Posts: 23

    Ciao p.kaczmarek2.

    I think that there is still something wrong. The device this night become crazy powering on/off random,
    I updated the OBK firmware to latest version (493), then replaced the autoexec.bat with yours version (so, just 1 driver active) and set PowerSave to 1. It is always HOT also removing physically the lamp.

    Then, the web page report an internal temperature very low (8.3 °C and less)

    Screenshot of a device user interface displaying status information and configuration options.

    And without reason, after more or less an hour, stop to work with web page but still react to physical switch.

    Your device do the same? What can I check?

    Thanks,
    Luca

    Note: the device seems to reboot automatically... Sometime I can see the web pages and the Online time has got short time.
  • #45 20991848
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    To be sure, can you check with our script disabled? With empty autoexec.bat?
    Helpful post? Buy me a coffee.
  • #46 20992265
    lbelleboni
    Level 3  
    Posts: 23

    Ciao.

    I delete the autoexec.bat, left the device without lamp connected (as previously done) and the temperature is less respect before. The web page is still not available at the moment. This evening, when I'll be back I'll check again both, temperature, web and if it still working with the physical switch.
    Thanks again.
    Luca

    Update:
    Web page active at the moment:
    Device interface screen with buttons and status information.

    Temperature on screen 8.8°C (I don't know if for you this value has sense)
    the row with --> Online for 2' 55" meaning that the device reboot?
  • #47 20992281
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    The 2 minutes online time means it rebooted. So it reboots even without my script?

    Okay, let's check, I will run my device now and we will see if my one is rebooting.
    User interface of OpenBK7231N system with buttons and device status information.
    I will let you know..

    Added after 1 [hours] 48 [minutes]:

    After more than hour, it's still working:
    Control panel of device OpenBK7231N_E1D4D361 showing status and configuration information.
    Helpful post? Buy me a coffee.
  • #48 20992513
    lbelleboni
    Level 3  
    Posts: 23

    Ciao.

    Can you tell me why I have the temperature and you not? I'm quite sure that I powered off the device after deleting the autoexec.bat file. For sure I forced the reboot.

    Is there a method to clean the "memory" like after the first firmware upgrade?

    This is my actual config
    Code: JSON
    Log in, to see the code

  • #49 20992588
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    I think the temperature counter will not show if you had more than 1 boot failure. I was playing around the device so it didn't show for me. I will reboot later and check, but first I want to keep it online to see if it will break.

    3 hours uptime and counting, dimmer still works:
    A smartphone displaying an online control panel next to a lit bulb connected by wires to an electronic setup on a wooden table.
    And now 4h:
    Screenshot of the control panel for OpenBK7231N_E1D4D361 with active channel 2 set to 161.

    Added after 6 [hours] 32 [minutes]:

    Almost 11 hours online and counting, but it seems I will have to settle for this now as I need to go to sleep soon.
    No restarts so far, light is working
    Screenshot of the OpenBK7231N user interface displaying device status information.
    Helpful post? Buy me a coffee.
  • #50 20993174
    lbelleboni
    Level 3  
    Posts: 23

    My device continues to reboot.

    How can I "clean" the device by restarting from the beginning? I would like to start with your same situation.

    Thanks,
    Luca
  • #51 20993279
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    If you have removed autoexec.bat there is not much to break things.

    I'd even rather suspect that you didn't use PowerSave from the beginning and now you have power supply issue:
    https://www.elektroda.pl/rtvforum/topic3898805.html
    This happens on low quality devices often.

    If you really, really, want to start from scratch, then see our commands list:
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/commands.md
    You can find a clearAll command there..
    Helpful post? Buy me a coffee.
  • #52 20993803
    lbelleboni
    Level 3  
    Posts: 23
    After the command "clearall" (and still without autoexec.bat file) the device does not reboot anymore.

    Looking to the log there are a lot of message referred to TuyaMCU (the fake one) that seems to be ignored. Do you have the same?
    Regards,
    Luca

    Log extract:

    Info:TuyaMCU:Skipped data (part) BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB
    Info:TuyaMCU:Consumed 512 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB
    Info:TuyaMCU:Consumed 512 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB
    Info:TuyaMCU:Consumed 512 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB
    Info:TuyaMCU:Consumed 512 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB
    Info:TuyaMCU:Consumed 512 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB AA 3B BB AA 3B BB AA 3B BB AA 3C BB
    Info:MAIN:Time 41649, idle 50928/s, free 71856, MQTT 0(2603), bWifi 1, secondsWithNoPing 41579, socks 2/38 POWERSAVE
    Info:MAIN:Time 41650, idle 772/s, free 71944, MQTT 0(2603), bWifi 1, secondsWithNoPing 41580, socks 3/38 POWERSAVE
    Info:GEN:dhcp=0 ip=192.168.1.229 gate=192.168.1.254 mask=255.255.255.0 mac=xx:xx:xx:xx:xx:xx
    Info:GEN:sta: 1, softap: 0, b/g/n
    Info:GEN:sta:rssi=-75,ssid=InfostradaWiFi--CXXXXX,bssid=80:cc:9c:f9:7e:2a,channel=13,cipher_type:CCMP
    Info:MAIN:Time 41651, idle 64880/s, free 72176, MQTT 0(2603), bWifi 1, secondsWithNoPing 41581, socks 2/38 POWERSAVE
    Info:TuyaMCU:Consumed 8 unwanted non-header byte in Tuya MCU buffer
    Info:TuyaMCU:Skipped data (part) 3B BB AA 3B BB AA 3B BB 
    Info:MAIN:Time 41652, idle 138467/s, free 72176, MQTT 0(2603), bWifi 1, secondsWithNoPing 41582, socks 2/38 POWERSAVE
  • #53 20994022
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14489
    Help: 651
    Rate: 12497
    This is normal. The dimmer sends some strange data to the WiFi module on UART which doesn't seem to be necessary for the system to work.
    Helpful post? Buy me a coffee.

Topic summary

✨ The discussion revolves around issues faced while replacing the firmware of the FS-05R smart dimmer, which lacks a clear brand identification. The user, Luca, successfully removed the CB2S module to attempt the firmware update but encountered problems with I/O configuration and device functionality. Various participants suggested that the device might not be a TuyaMCU and proposed using UART for communication. They discussed the need for galvanic isolation during UART captures to prevent damage to connected devices. Luca shared logs and configurations, seeking assistance in setting up the dimmer to function correctly with external switches and voice commands. The conversation included troubleshooting steps, firmware configurations, and the importance of capturing UART traffic to understand the communication protocol. Ultimately, Luca managed to flash the device but faced issues with random reboots and temperature readings, prompting further investigation into the device's stability and configuration.
Generated by the language model.

FAQ

TL;DR: At 115200 baud, "this device is super confusing": this FAQ helps FS-05R mini dimmer owners who flashed OpenBeken but got no working auto I/O map. The fix is usually to desolder or isolate the CB2S, then drive brightness over UART command 0x30 instead of relying on automatic GPIO detection. [#20984424]

Why it matters: The FS-05R looks like a normal CB2S dimmer, but its real control path sits behind board-level serial logic, so the usual OpenBeken setup can fail even when flashing succeeds.

Approach What users observed Practical result
Flash in-circuit Bus not detected, write sector 0x00 failed, RX/TX interference Often unreliable
Desolder CB2S first Flashing succeeded for multiple users Best path to install OBK
Assume full auto I/O detection LED/button may appear, dimming still fails Incomplete setup
Use UART-based control at 115200 Manual 0x30 commands worked Dimmer became usable

Key insight: The FS-05R is not controlled like a simple relay dimmer. OpenBeken works only after treating the board as a UART-controlled dimmer and sending the right serial payloads.

Quick Facts

  • The working serial speed found in the firmware data and later confirmed in testing was 115200 baud, which became the basis for the OpenBeken script. [#20984424]
  • On the examined hardware, the mains supply converted down to about 3.6 V, then after one diode provided about 3.3 V to the CB2S Wi‑Fi module. [#20983327]
  • A practical isolation option mentioned for safe UART capture was an ADUM1200 or ADUM1201 module, priced at about $2–$5 from AliExpress. [#20901821]
  • The published working dimmer logic multiplied channel value by 3, split it into 2 bytes, and sent both bytes with UART command 0x30. [#20985892]
  • One unstable unit reported a bogus internal temperature of 8.3–8.8 °C and an online time of only 2 min 55 s, both strong signs of repeated rebooting. [#20992265]

How do I flash an FS-05R mini dimmer with a CB2S module when the programmer cannot detect the bus or write sector 0?

Flash it with the CB2S module removed from the main board. Users reported that in-circuit flashing often failed with “writing sector 0x00 failed,” while desoldering the module allowed erase and write to complete. 1. Remove or electrically isolate the CB2S. 2. Flash OpenBeken on the detached module. 3. Reinstall it and configure UART control afterward. This thread shows the FS-05R bus can block programming until the module is separated from the board. [#20924289]

Why doesn’t the OpenBeken automatic configuration fully detect the I/O setup on the FS-05R mini dimmer?

Because the FS-05R does not expose its full dimmer function as normal GPIO pins. The automatic scan may reveal LED, plus, minus, or button lines, but the actual dimming action is handled through serial communication with the board logic. That is why automatic configuration looked incomplete even when flashing succeeded. The maintainer later confirmed the device behaves like a UART-controlled dimmer, not a simple direct-pin design. [#20924355]

What is TuyaMCU, and how is it different from a custom UART protocol in dimmer devices like the FS-05R?

"TuyaMCU" is a secondary microcontroller interface that passes button and dimming data over UART, rather than exposing all functions as direct GPIO pins. On the FS-05R, the first guess was TuyaMCU at 115200 baud, but log captures did not match the standard response pattern. The maintainer then identified it as a custom UART-like protocol, even though OpenBeken could still drive it by sending framed serial commands such as 0x30. [#20984424]

What is galvanic isolation, and why is it important when sniffing UART on a mains-powered dimmer?

"Galvanic isolation" is an electrical separation method that transfers data without a direct conductive path, reducing the chance that mains voltage reaches the PC or USB adapter. It matters here because the FS-05R runs from 230 VAC, and the maintainer explicitly warned that sniffing UART without isolation could short mains into a USB port and damage a computer. Isolation protects both the operator and the capture hardware. [#20901755]

What’s the safest way to capture UART traffic from the original FS-05R firmware without risking damage to a PC or USB-TTL adapter?

Use an isolated UART interface or power the board from low-voltage rails instead of mains. The maintainer said that if the dimmer stays on mains, the UART “has to be isolated.” A practical option discussed was an ADUM1200 or ADUM1201 isolator module. If the board can be powered safely from its low-voltage input, capture becomes less risky because you avoid a live 230 VAC reference on the USB-TTL side. [#20922303]

Which UART sniffing software and workflow should I use to log RX and TX traffic from a CB2S-based dimmer during startup, button presses, and app control?

The thread never confirmed a specific software tool, but it did define a usable workflow. 1. Restore original firmware or use an intact unit. 2. Connect only your RX input, first to CB2S TX and then to CB2S RX. 3. Log startup, wall switch on/off, dimmer +/-, and app actions as separate captures. The requested method was to observe both directions independently, not to inject commands during the first capture pass. [#20921075]

Why do some CB2S dimmers need the module desoldered or the RX/TX lines cut before flashing OpenBeken?

Because another circuit on the board can hold or disturb the CB2S serial lines during programming. One user could not flash until swapping RX/TX and another still hit sector-write errors; others succeeded only after desoldering the module. The maintainer said this is common when an onboard MCU shares the UART, and suggested cutting RX/TX or forcing the other MCU into reset if that is possible on the board. [#20919036]

How can I tell whether an FS-05R dimmer uses TuyaMCU or another microcontroller communicating over UART?

Check whether dimmer control works through direct pins or only through serial traffic. In this thread, no relay pin could be found, and the maintainer concluded that control was done through another board MCU over UART. Later captures showed packet activity on TX/RX and manual 0x30 commands changed brightness, confirming the FS-05R used board-level serial control rather than a normal GPIO-only design. [#20924355]

What autoexec.bat script is needed to make the FS-05R mini dimmer work in OpenBeken with toggle and dimmer channels?

Use the published UART script that creates toggle on channel 1, dimmer256 on channel 2, multiplies brightness by 3, splits it into two bytes, and sends command 0x30. The core flow is: startDriver TuyaMCU, tuyaMcu_setBaudRate 115200, setChannelType 1 toggle, setChannelType 2 dimmer256, then on channel change compute channels 3 and 4 and send tuyaMcu_sendCmd 0x30 00$CH3$$CH4$. That was the first nearly final working OpenBeken script for this model. [#20985892]

How do I configure an FS-05R dimmer as a simple on/off switch with Alexa WEMO emulation and an automatic 2-hour turn-off timer in OpenBeken?

Use a toggle-only design and avoid the thread’s 1-second loop timer as your final solution. The posted attempt started SSDP and WEMO, used channel 1 as the switch, and set channel 10 to 7200 seconds for a 2-hour auto-off. That script also forced full output by sending fixed high bytes when channel 1 was on. The user then saw random starts and blinking, so the thread did not validate that exact script as stable. [#20989028]

Why does an FS-05R with OpenBeken keep rebooting, showing short online time, random on/off behavior, or disappearing web access?

The most likely cause in this thread was a power-supply stability problem, not only a bad script. The maintainer said that even with autoexec.bat removed, the device could still reboot, and he specifically suspected a low-quality power supply after PowerSave had not been used from the start. That matches symptoms such as random on/off behavior, hot hardware, and the web UI disappearing after a short uptime. [#20993279]

How do I completely reset or clear an OpenBeken device back to a clean state after a bad script or unstable configuration?

Use the clearAll command and remove autoexec.bat. The maintainer pointed to the OpenBeken command list and said clearAll is the way to start from scratch when you really want a clean device. In the same case, the user later reported that after clearAll, and still without autoexec.bat, the FS-05R stopped rebooting. That makes clearAll the thread’s confirmed recovery step. [#20993279]

What do repeated OpenBeken log messages like 'TuyaMCU: Consumed unwanted non-header byte' mean on the FS-05R dimmer?

They mean the dimmer is sending serial data that does not match the expected TuyaMCU packet header. The maintainer said this behavior is normal on this FS-05R because the board transmits “strange data” on UART that does not seem necessary for normal operation. In other words, OpenBeken ignores those bytes, and their presence alone does not mean the dimmer control path is broken. [#20994022]

ADUM1200 or ADUM1201 vs powering the board from USB rails: which approach is better for safe UART capture on a CB2S dimmer?

ADUM1200 or ADUM1201 isolation is the safer choice when the FS-05R remains connected to mains. The maintainer allowed a second option: power the board from low-voltage rails if you can identify the supply path correctly. On this device, the inspected board had no LDO; the mains stage produced about 3.6 V, then a diode dropped it to about 3.3 V for the Wi‑Fi module. If you cannot guarantee that low-voltage setup, use galvanic isolation. [#20922303]

Why does the dimmer slider reach full brightness by around 100 instead of 255, and how do non-dimmable LED bulbs affect FS-05R dimmer behavior?

The bulb is the first thing to check. One user reported full brightness around slider value 100, and the maintainer replied that many ceiling-style LED lamps are simply not dimmable unless the box clearly says so. That means the FS-05R can still be working correctly while the lamp compresses the usable dimming range or starts blinking. Test again with a known dimmable bulb before changing the UART script. [#20986960]
Generated by the language model.
ADVERTISEMENT