logo elektroda
logo elektroda
X
logo elektroda

Exploring the WT1 Tuya 2CH*5A 12-36VDC WiFi & RF CV LED Controller's Components

jiribal 
Two-channel LED controller WT1 with label and connectors.
Hello,

this is my teardown of the WT1 2 channel CCT LED controller. This is a device intended to dim WW/CW strips (CCT mode) but it can be also used as a 1 channel dimmer (DIM mode). One can control it using the Tuya app, dedicated remote control, or a physical push button.
The device is similar to the WT5 Multi-Channel LED controller described in a different Elektroda forum thread. But the whole OpenBeken installation process was not described step-by-step there so I thought I would cover that in this post.

The WT1 controller contains the WB3S chip which connects to WiFi. Additionally, there is also a chip labeled sc95f8615p. It is connected to WB3S via the TXD1 and RXD1 pins and communicates with it using the TuyaMCU protocol.
This latter Tuya MCU chip then controls:
- the PWM output for the LED strips,
- RF communication with the dedicated remote controllers,
- the physical button controls,
- and even switching between the CCT and DIM modes.
So by flashing the WB3S, we do not lose any of these capabilities and only get rid of the dependency on Tuya cloud.

My approach was to:
1) Disassemble the device, solder pins for flashing.
2) Flash OpenBeken firmware using a USB-TTL converter and the BK7231 GUI Flash Tool.
3) Configure the device using the web interface.

Disassembly

The disassembly is simple. The white case contains no screws and is held together by clips. Simply pry open the bottom part of the case and you can access the insides.
Image of Tuya's CCT LED Controller WT1 with visible labels and connectors.
Dismantling the LED controller WT1 using a tool.
(the second photo is illustrative, please unplug all connected wires before opening the case)

Diagram of WB3S chip with pin labels.
Note that this diagram shows the chip from the bottom side, so the pins are mirrored compared to the real photo.
Close-up of the LED CCT WT1 controller board with marked VCC, TXD1, RXD1, and GND pins.

As mentioned, inside we find the WB3S chip along with a second chip that controls the PWM. We need to solder 4 pins as shown in the third image. For this I used DUPONT pins and soldered them directly to the WB3S chip pads.
View of disassembled LED controller WT1 with visible components.

Flashing OpenBeken

Then I was able to connect the USB to TTL converter. I used a CH340 based module from Aliexpress that has a 3.3V mode. Using a jumper, I set the 3.3V output on the converter and connected the pins to the WB3S chip:
VCC <-> 3.3V
TXD1 <-> RXD
RXD1 <-> TXD
GND <-> GND
For the VCC connection, I used two wires, so that disconnecting and reconnecting the power would be easy. This comes useful later in the flashing part.
Connecting USB-TTL converter to LED controller
For flashing, I wanted to use the nice and beginner friendly BK7231 GUI Flash Tool. I downloaded the last version from Releases in Github.

Because I run Linux, I needed to run the application in a local virtual machine with Windows 11. This part is therefore a bit specific to my setup and most people running Windows natively may skip the VirtualBox setup (skip the next paragraph).

I connected the CH340 to my laptop and checked that the Serial port appeared as /dev/ttyUSB0. In VirtualBox, I enabled the serial port through Machine Settings->Serial Ports->Port 1. There I set the following:
Port Number: COM1
Port Mode: Host Device
Path/Address: /dev/ttyUSB0
(Note: I also tried to expose directly the USB device to the guest system but didn't have success flashing the image that way)
(Second note: maybe one could run the flashing tool using Wine but I didn't attempt that)

I started the flash tool and the serial (UART) port was detected automatically as COM1. I also set the chip type to BK7231T (=WB3S) and set the Baud Rate to 115200 (the default value was crashing). Finally, I selected the "Do backup and flash new" option and everything went smoothly. During the flashing, the device needed to be rebooted two times. I did this by replugging the VCC cable.
BK7231 Easy UART Flasher application window with flashing settings.
For a more detailed flashing guide, I refer you to the Flash tool README.

Configuration

After flashing the device, the OpenBK-... access point showed up on my WiFi scan. I connected to the network and accessed http://192.168.4.1 in my browser.
There I went to Launch Web Application -> Filesystem.
I prepared a file called autoexec.bat with the following contents:

startDriver TuyaMCU
tuyaMcu_setBaudRate 115200
tuyaMcu_defWiFiState 4
tuyaMcu_setupLED 24 0

And I uploaded the file to the device by drag-and-drop to the Web UI and rebooted the controller.

Now on http://192.168.4.1/ I see LED controls and they work!
Screenshot of the OpenBeken interface with LED control options.
Note that this setup assumes that you switch to the CCT mode by holding the mode switch button for 10 seconds.

Finally, I also edited the Wifi settings through Config -> Configure Wifi so that the dimmer connects to my home wifi. The next step is to configure MQTT and integrate the device with your home automation system.

Code: JSON
Log in, to see the code

About Author
jiribal wrote 2 posts with rating 7 . Been with us since 2023 year.

Comments

divadiow 18 Sep 2024 07:33

https://github.com/OpenBekenIOT/webapp/pull/145 [Read more]

T3elektroda 10 Dec 2024 21:49

Just found your post today. So just opend my WT1 and found CB3 S inside. TuyaMCU is the same. Therfore my config looks like this: { "vendor": "Tuya", "bDetailed":... [Read more]

divadiow 10 Dec 2024 22:12

cool. please consider posting the backup firmware from your device for analysis. or if you think it contains your wifi credentials send it to me and i'll sanitise it first [Read more]

T3elektroda 11 Dec 2024 10:21

Here it goes... read from a brand new device. just unboxed it. [Read more]

divadiow 11 Dec 2024 18:54

after pairing, the storage area contains the following: { "gw_bi": { "uuid": "ae7f5f428005f88a", "psk_key": "NKxdNwKGwJ2wZesLW23A0Q4GoDizbJwqYt0Io", "auth_key": "KUNkidPQRJMLXEZfxpV1GLQ7SJyTv6E0", ... [Read more]

%}