Nothing terribly exciting about this little device. I see a few variants around but maybe not this one with CB3S module.
CB3S Datasheet
AliExpress product page
I used this image to confirm I was reading the datasheet correctly. I know the pins are labelled but I wasn't sure if the GND label was to the bottom pin or the side.
Initially I connected only the TX2 to RX on my FTDI serial adaptor as well as GND and 3.3V to get the uart boot log, which I attach. I did not power the unit with two AAA batteries, but instead used my external 3.3v power source, which is a basic MB102 PSU board attached to a small breadboard. This came as part of a cheap Amazon kit.. Some of the resistors are also 10Kohms, so useful for some flashing scenarios.
My USB-serial adaptor/pogo probe pins/jumper wires, helping hands, are all cheapies from AliExpress. The plywood BDM platform with the holes is homemade.
Onto the product pictures:
As always I flashed with the BK7231 Easy UART Flasher, connecting RX1, TX1, GND to my breadboard/USB-serial adaptor. 3.3v provided by the MB102, not the USB-serial adaptor.
I took a backup before, attached, and had the flasher write the config it found, which was
I notice it detected P8 as a PIR sensor, so set "dInput" instead of "DoorSnsrWSleep", which is what I gather should be set for this type of device. I have use for this device yet, and don't even have a working MQTT/Home Assistant setup, so do not yet understand how the presence of the magnet (when door closed) translates into the value in the web gui or what means for HA.
OBK Template
Questions:
Why is dInput/PIR detected? (what is "basic_pin_pin"? is it an undetectable generic input?)
Why does the sleep timer count down from 300s but quickly reset itself back to 300s on battery and external 3.3v?
Should there be another deep sleep setting I should enable?
Many thanks
CB3S Datasheet
AliExpress product page
I used this image to confirm I was reading the datasheet correctly. I know the pins are labelled but I wasn't sure if the GND label was to the bottom pin or the side.

Initially I connected only the TX2 to RX on my FTDI serial adaptor as well as GND and 3.3V to get the uart boot log, which I attach. I did not power the unit with two AAA batteries, but instead used my external 3.3v power source, which is a basic MB102 PSU board attached to a small breadboard. This came as part of a cheap Amazon kit.. Some of the resistors are also 10Kohms, so useful for some flashing scenarios.

My USB-serial adaptor/pogo probe pins/jumper wires, helping hands, are all cheapies from AliExpress. The plywood BDM platform with the holes is homemade.



Onto the product pictures:









As always I flashed with the BK7231 Easy UART Flasher, connecting RX1, TX1, GND to my breadboard/USB-serial adaptor. 3.3v provided by the MB102, not the USB-serial adaptor.

I took a backup before, attached, and had the flasher write the config it found, which was
Device configuration, as extracted from Tuya:
- Button (channel 0) on P24
- Status LED on P26
- PIR sensor on P8
- Battery Relay on P14
- Battery Max Voltage: 3000
- Battery Min Voltage: 2200
- Battery ADC on P23
Device seems to use Battery Driver. See more details here: https://www.elektroda.com/rtvforum/topic3959103.html
Device seems to be using CB3S module, which is using BK7231N.
And the Tuya section starts, as usual, at 2023424
{
"bt_pin":"24",
"status_led_pin":"26",
"rstcnt":"3",
"basic_pin_pin":"8",
"module":"CB3S",
"jv":"1.0.4",
"bt_lv":"0",
"net_t":"180",
"samp_type":"1",
"basic_st":"1",
"basic_pin_lv":"1",
"samp_sw_pin":"14",
"max_V":"3000",
"min_V":"2200",
"samp_sw_lv":"1",
"status_led_lv":"1",
"samp_pin":"23",
"crc":"69",
"}/dL(TAgw_di{abi":"0",
"id":"null",
"swv":"1.0.10",
"bv":"40.00",
"pv":"2.2",
"lpv":"3.3",
"pk":"keyhhtuxrsp7ueap",
"firmk":"keyhhtuxrsp7ueap",
"cadv":"1.0.3",
"cdv":"1.0.0",
"dev_swv":"1.0.10",
"s_id":"null",
"dtp":"0",
"sync":"0",
"attr_num":"0",
"mst_tp_0":"0",
"mst_ver_0":"null",
"mst_tp_1":"0",
"mst_ver_1":"null",
"mst_tp_2":"0",
"mst_ver_2":"null",
"mst_tp_3":"0",
"mst_ver_3":"null }{nc_tp",
"ssid":"null",
"passwd":"null",
"md":"0",
"random":"0",
"wfb64":"1",
"stat":"0",
"token":"null",
"region":"null",
"reg_key":"null",
"dns_prio":"0 } )TAgw_wsm{nc_tp",
"psk_key":"VuIZdIyskUqfSGOasmRncjY87xINsZybwByUL",
"auth_key":"SgFGqkwpEGe3BRUGnFExRzbdIy3wDbsk",
"ap_ssid":"SmartLife",
"ap_passwd":"null",
"country_code":"null",
"bt_mac":"null",
"bt_hid":"null",
"prod_test":"false",
"fac_pin":"7iag0uooneravbjb }sK(SAgw_ainull",
"lckey":"null",
"h_url":"null",
"h_ip":"null",
"hs_url":"null",
"hs_ip":"null",
"hs_psk":"null",
"hs_psk_ip":"null",
"mqs_url":"null",
"mqs_{uuid":"df72a05a5860a1f0",
"mq_url":"null",
"mq_ip":"null",
"ai_sp":"null",
"ai_sp_ip":"null",
"mq_psk":"null",
"mq_psk_ip":"null",
"time_z":"null",
"s_time_z":"null",
"wx_app_id":"null",
"wx_uuid":"null",
"dy_tls_m":"0",
"cloud_cap":"0",
"psk21_key":"null } )TAgw_wsm{nc_tp",
"ap_s{bt_pin":"24"
}
I notice it detected P8 as a PIR sensor, so set "dInput" instead of "DoorSnsrWSleep", which is what I gather should be set for this type of device. I have use for this device yet, and don't even have a working MQTT/Home Assistant setup, so do not yet understand how the presence of the magnet (when door closed) translates into the value in the web gui or what means for HA.

OBK Template
Code: JSON
Questions:
Why is dInput/PIR detected? (what is "basic_pin_pin"? is it an undetectable generic input?)
Why does the sleep timer count down from 300s but quickly reset itself back to 300s on battery and external 3.3v?
Should there be another deep sleep setting I should enable?
Many thanks