FAQ
TL;DR: 115 200 bps UART traffic unlocks the FS-05R dimmer; “This is not TuyaMCU” [Elektroda, p.kaczmarek2, post #20986793] Reverse-engineer, disable heartbeat, and script OpenBeken for smooth 0-255 control. Works on 3.3 V lab power.
Why it matters: Understanding the custom protocol lets you replace Tuya cloud control with fully-local automation.
Quick Facts
• UART baud rate: 115 200 bps [Elektroda, p.kaczmarek2, post #20986793]
• Frame header: 0x55 0xAA + 3-byte payload + CRC [Elektroda, p.kaczmarek2, post #20986793]
• Safe bench-supply voltage: 3.3 V DC [Elektroda, p.kaczmarek2, post #20986793]
• Brightness span: 0-255 (payload ×3) [Elektroda, Script, post #20986793]
• OpenBeken binary size: ≈ 600 kB [OpenBeken, 2024]
1. What exact UART settings does the FS-05R MCU expect?
8-N-1 at 115 200 bps, 3.3 V logic. The Wi-Fi module’s RX/TX pins go straight to the SOIC-8 MCU, so no level shifting is needed [Elektroda, p.kaczmarek2, post #20986793]
2. What do the 0x55 0xAA and 0xFF 0x00 frames mean?
0x55 0xAA precedes Tuya-style commands; the next three bytes carry command ID (0x30) and two brightness bytes, followed by a checksum [Elektroda, Analyzer image, #20986793]. 0xFF 0x00 headers appear in the Zigbee variant that uses 5-byte frames with a different checksum [Elektroda, cbcelek, post #21402422]
3. My slider only toggles full brightness—why?
Early OBK builds missed the dimmer256 channel type. Update to ≥ v1.17.507 and reload the script, then confirm tuyaMcu_setBaudRate 115200 runs before any sendCmd [Elektroda, tretyakalex, post #21006617]
4. How can I restrict dimming to 45-100 % for drivers that stall below 40 %?
Map the 0-100 UI range to 45-256 with channel math:
- setChannelType 3 temp
- addEventHandler OnChannelChange 2 script scale
- scale: setChannel 3 ($CH2*211/100)+45 ; tuyaMcu_sendCmd 0x30 00$CH3/256$$CH3%256$
This keeps Home-Assistant off=0 while on≥45 [Elektroda, p.kaczmarek2, post #21015455]
5. Can I slow the transition speed handled by the MCU?
Not via UART. “I don’t know any way to slow down the transition speed” [Elektroda, p.kaczmarek2, post #21015455] You would need custom MCU firmware, which is currently undocumented.
6. The module ignores every second command—what causes this?
OBK’s TuyaMCU driver sends a heartbeat frame (55 AA 00 00 00 00 FF) every few seconds. New MCU batches treat it as noise, blocking the next real command [Elektroda, @GUTEK@, post #21486931]
7. Is there a workaround to disable the heartbeat?
Yes. Skip startDriver TuyaMCU, run uartInit 115200 and use uartSendHex or tuyaMcu_sendCmd manually, or resend each command three times with a 3 ms delay, which achieves 100 % delivery [Elektroda, @GUTEK@, post #21488398]
8. Does the hardware work with ESPHome instead of OpenBeken?
Yes. Community YAML for FS-05R was shared on the Home-Assistant forum; it reproduces the UART frames for dimming [Jahara, 2024].
9. How do I know if an LED bulb is dimmable?
Look for “dimmable” on the packaging or datasheet. Up to 65 % of retail LEDs are still non-dimmable, leading to flicker on triac dimmers [DOE, 2023].
10. Zigbee version at 9 600 bps—can I still use Wi-Fi control?
Yes. Replace the Zigbee radio with a CB2S or ESP-02S, set uartInit 9600, and format frames as FF 00 V1 V2 CK where CK=(V1+V2-1)&0xFF [Elektroda, cbcelek, post #21402422]
11. Three-step flashing guide for OBK
- Desolder CB2S, connect 3.3 V, GND, RX, TX, 5 × GND to CEN/IO0, flash with BK7231GUIFlashTool [Elektroda, p.kaczmarek2, post #20986793]
- Solder module back, boot, join Wi-Fi.
- Upload autoexec.bat script, reboot.
12. Is it safe to sniff UART while the board is on mains power?
No. Power the dimmer from an isolated 3.3 V bench supply; the logic still boots, eliminating mains hazard [Elektroda, p.kaczmarek2, post #20986793]