CSH-B22RGB10W: Difference between revisions

From JookWiki
(→‎Gallery: Note descriptive stuff)
(Add notice this is mainline)
(7 intermediate revisions by the same user not shown)
Line 4: Line 4:


This page documents roughly how to do this and my hardware findings.
This page documents roughly how to do this and my hardware findings.
Update: I've posted this page as a teardown on the Elektroda forum: [https://www.elektroda.com/rtvforum/topic3969247.html <nowiki>[BK7231T] Connect 10W Smart RGB Bulb</nowiki>]. I've also had my information for this merged in to [https://openbekeniot.github.io/webapp/devicesList.html OpenBeken's device list]. If you have this bulb just follow regular instructions!


== Compatibility ==
== Compatibility ==
Line 18: Line 20:
* Newer versions that use a WB2L chip
* Newer versions that use a WB2L chip


This bulb is still sold so it's likely there are newer versions too.
This bulb is still sold so it's likely there are other versions too.


These product IDs of the bulb have not changed between revisions, so there is no way to know if the version you have is the version I have.
These product IDs of the bulb have not changed between revisions, so there is no way to know if the version you have is the version I have.
Line 27: Line 29:
The bulb connects to the Tuya cloud, but also supports discovery and API interactions over the local network. You can get API keys for local access using Tuya's developer APIs. These will work even if Tuya drops support for your device. At least until you have to factory reset the device.
The bulb connects to the Tuya cloud, but also supports discovery and API interactions over the local network. You can get API keys for local access using Tuya's developer APIs. These will work even if Tuya drops support for your device. At least until you have to factory reset the device.


Alternatively you can disconnect the bulb from Tuya's cloud using [https://github.com/tuya-cloudcutter/tuya-cloudcutter tuya-cloudcutter]. This software creates a local Wi-Fi network and exploits the bulb's factory reset mode. It can then permanently disconnect the bulb from the cloud or send a firmware upgrade.
Alternatively you can disconnect the bulb from Tuya's cloud using [https://github.com/tuya-cloudcutter/tuya-cloudcutter Tuya Cloudcutter]. This software creates a local Wi-Fi network and exploits the bulb's factory reset mode. It can then permanently disconnect the bulb from the cloud or send a firmware upgrade.


When it comes to firmware currently the only open source firmware is [https://github.com/openshwprojects/OpenBK7231T_App OpenBeken]. This firmware is highly configurable and provides an interface over MQTT and HTTP. Installation requires setting up device pins manually, but this isn't too hard.
When it comes to firmware currently the only open source firmware is [https://github.com/openshwprojects/OpenBK7231T_App OpenBeken]. This firmware is highly configurable and provides an interface over MQTT and HTTP. Installation requires setting up device pins manually, but this isn't too hard.


== Installation ==
== Installation ==
Warning: Read all appropriate documentation and warnings for tuya-cloudcutter and OpenBeken. If your bulb does not have the same chipset as mine it's possible you will brick your device.
Warning: Read all appropriate documentation and warnings for Tuya Cloudcutter and OpenBeken. If your bulb does not have the same chipset as mine it's possible you will brick your device. Follow their installation instructions instead of mine if possible.


Installation is roughly these steps:
Installation is roughly these steps:


* Set up tuya-cloudcutter
* Set up Tuya Cloudcutter using their instructions
* Grab the BK7231T firmware in CCtr format from OpenBeken
* Grab the BK7231T firmware in CCtr format from OpenBeken
* Place it in the custom-firmware directory
* Place it in the custom-firmware directory
* Run tuya-cloudcutter
* Run Tuya Cloudcutter and select update firmware mode
* Select a device by firmware (I used <code>oem-bk7231s-light-ty-1.1.2-sdk-2.0.0-30.06</code>)
* Select a device by firmware (I used <code>oem-bk7231s-light-ty-1.1.2-sdk-2.0.0-30.06</code>)
* Select the firmware you've downloaded
* Select the firmware you've downloaded
* Follow the instructions
* Follow the instructions
*Connect to the bulb's Wi-Fi access point
*Note your device's IP address
*Change the noted IP's last octect to 1 (so if your IP is 192.168.1.20, use 192.168.1.1)
* Open the IP in your web browser, in a URL like this: <nowiki>http://192.168.1.1/</nowiki>
*Configure the bulb's Wi-Fi access point
*Re-connect to your regular Wi-Fi network


Configuration is done using these steps:
Configuration is done using these steps:


* Find the IP of your bulb using your router page
* Find the IP of your bulb using your router page
* Open it in your web browser, in a URL like this: <nowiki>http://192.168.1.5/</nowiki>
* Open the IP in your web browser, in a URL like this: <nowiki>http://192.168.1.5/</nowiki>
* Enter the configuration page
* Go to the configuration page
* Enter the 'Configure Module' section
* Go to the 'Configure Module' page
* Set P6 (PWM0) to PWM role, channel 1  
* Set P6 (PWM0) to PWM role, channel 1  
* Set P7 (PWM1) to PWM role, channel 4
* Set P7 (PWM1) to PWM role, channel 4
Line 109: Line 117:
File:CSH-B22RGB10W Bulb.jpg|The bulb, unopened
File:CSH-B22RGB10W Bulb.jpg|The bulb, unopened
File:CSH-B22RGB10W Label.jpg|The bulb label
File:CSH-B22RGB10W Label.jpg|The bulb label
File:CSH-B22RGB10W Lamp PCB.jpg|The main PCB
File:CSH-B22RGB10W WiFi PCB Top.jpg|Wi-FI PCB, top
File:CSH-B22RGB10W WiFi PCB Bottom.jpg|Wi-Fi PCB, bottom
File:CSH-B22RGB10W KP18055ESP.jpg|KP18055ESP chip
File:CSH-B22RGB10W BP1633.jpg|BP1633 chip
File:CSH-B22RGB10W Signals.jpg|A visual map of the RGBCW signals on the board
File:CSH-B22RGB10W PCB Traces.jpg|The main PCB with traces more visible
</gallery>
</gallery>
[[Category:Hardware]]

Revision as of 09:04, 6 April 2023

In 2021 I bought a Connect 10W Smart RGB Bulb for my room so I could have a dimmable light without installing a dimmer in my house. It cost around $10 and I promised myself I wouldn't hack it.

In 2023 I was annoyed at having a dimmed lightbulb. I logged in to the app and brightened my room, but the anxiety of using cloud services to dim a bulb set in. I promptly flashed new firmware and after a few hours of reverse engineering and troubleshooting, managed to have light in my room again.

This page documents roughly how to do this and my hardware findings.

Update: I've posted this page as a teardown on the Elektroda forum: [BK7231T] Connect 10W Smart RGB Bulb. I've also had my information for this merged in to OpenBeken's device list. If you have this bulb just follow regular instructions!

Compatibility

The bulb has two product IDs:

  • LSH-B22RGB10W
  • CSH-B22RGB10W

Both of these are stamped on the bulb, these are not separate products: Laser Co seems to sell this bulb under its own brand and the Connect SmartHome brand it owns.

At least two hardware revisions of this bulb exist:

  • Older versions that use an ESP8266 chip
  • Newer versions that use a WB2L chip

This bulb is still sold so it's likely there are other versions too.

These product IDs of the bulb have not changed between revisions, so there is no way to know if the version you have is the version I have.

Software

These bulbs are usually controlled by the Connect SmartHome or Laser SmartHome apps. These apps seem to be branded variants of the Tuya Smart app. This makes sense as the bulb itself runs Tuya firmware and feature Tuya chips.

The bulb connects to the Tuya cloud, but also supports discovery and API interactions over the local network. You can get API keys for local access using Tuya's developer APIs. These will work even if Tuya drops support for your device. At least until you have to factory reset the device.

Alternatively you can disconnect the bulb from Tuya's cloud using Tuya Cloudcutter. This software creates a local Wi-Fi network and exploits the bulb's factory reset mode. It can then permanently disconnect the bulb from the cloud or send a firmware upgrade.

When it comes to firmware currently the only open source firmware is OpenBeken. This firmware is highly configurable and provides an interface over MQTT and HTTP. Installation requires setting up device pins manually, but this isn't too hard.

Installation

Warning: Read all appropriate documentation and warnings for Tuya Cloudcutter and OpenBeken. If your bulb does not have the same chipset as mine it's possible you will brick your device. Follow their installation instructions instead of mine if possible.

Installation is roughly these steps:

  • Set up Tuya Cloudcutter using their instructions
  • Grab the BK7231T firmware in CCtr format from OpenBeken
  • Place it in the custom-firmware directory
  • Run Tuya Cloudcutter and select update firmware mode
  • Select a device by firmware (I used oem-bk7231s-light-ty-1.1.2-sdk-2.0.0-30.06)
  • Select the firmware you've downloaded
  • Follow the instructions
  • Connect to the bulb's Wi-Fi access point
  • Note your device's IP address
  • Change the noted IP's last octect to 1 (so if your IP is 192.168.1.20, use 192.168.1.1)
  • Open the IP in your web browser, in a URL like this: http://192.168.1.1/
  • Configure the bulb's Wi-Fi access point
  • Re-connect to your regular Wi-Fi network

Configuration is done using these steps:

  • Find the IP of your bulb using your router page
  • Open the IP in your web browser, in a URL like this: http://192.168.1.5/
  • Go to the configuration page
  • Go to the 'Configure Module' page
  • Set P6 (PWM0) to PWM role, channel 1
  • Set P7 (PWM1) to PWM role, channel 4
  • Set P8 (PWM2) to PWM role, channel 3
  • Set P24 (PWM4) to PWM role, channel 2
  • Set P26 (PWM5) to PWM role, channel 0
  • Save the configuration
  • Return to the original bulb page
  • Test that you can set the light colour

That should be it! If you manage to install OpenBeken but the configuration goes wrong you might need to ask online for some help.

Hardware

The bulb is a bayonet mount, B22.

The bulb label has the following written on it:

  • LSH-B22RGB10W;
  • CSH-B22RGB10W
  • Input: 220-240VAC, 50/30Hz
  • Output: 10W
  • Wi-Fi: 2.4GHz
  • Batch No.2002672
  • www.laserco.com.au

The power PCB has the following features:

  • 240V AC input
  • 340V DC rectifier
  • 12V output using a capacitive dropper
  • GND, 12V and VIN output pins
  • VIN is supplied by the 340V DC source

The main PCB has the following features:

  • The label 'MK-A85(wifi)-44amd2836-dlx01 (HY)20/33'. The A8 is hard to read and possibly wrong
  • The label '30903772 2020-5-18'. The 9 is hard to read and possibly wrong
  • A 3 pin connector labelled VIN, GND and 12V. This connects to the power PCB
  • An 8 pin connector labelled in anti-clockwise order: GND, 12V, unlabelled, B, R, G, W, C. This connects to the Wi-Fi PCB
  • 4 groups of R, G and B LEDs
  • 16 C LEDs
  • 16 W LEDs
  • A KP18055ESP chip connected between the 8 pin connector's C and W pins and the C and W LEDs

The Wi-Fi PCB has the following features:

  • An 8 pin connector labelled in anti-clockwise order. It is unlabelled and connects to the main PCB
  • A 3.3V voltage regulator that seems to be a switching power supply
  • The WB2L chip with 7 pins: 3.3V, GND, PWM4, PWM5, PWM0, PWM1, PWM2
  • A sticker label with the text 'Model: WB26 P/N: 30904213 S/N: 100003493012FB' and the serial number as a QR code
  • A BP1633 chip connected between the WB2L chip's PWM4, PWM5 and PWM0 signals and the 8 pin connector's B, G and R pins
  • The PWM1 and PWM2 signals connect to the 8 pin connector's W and C pins

The RGBCW signals are laid out like this:

  • The WB2L's PWM4, PWM5 and PWM0 signals drive the B, G and R LEDs via the BP1663 chip
  • The WB2L's PWM1 and PWM2 signals drive the W and C LEDs via the KP18055ESP chip

Gallery

Here are some images of the bulb and its insides. Please note that this page serves as a full textual description of the bulb, so the pictures will have simple descriptions.