I present a teardown of a new device from Action namely the HDMI sync box for 129.99zł.
https://shop.action.com/en-nl/p/8712879162889/hdmi-sync-box-with-light-strip
Model: 6204000100
Supports HDMI: HDCP2.2, 4k@60Hz HDR10+
The device is connected between, for example, a console or satellite receiver and the TV.
To it we connect the LED strip (84pcs 5050RGB LED for 2,6m) and mount it on the 65" TV on 3 edges (left, top, right) which in the end makes us lighting like Ambilight in Philips TVs.
Cons: it looks like the software and instructions do not provide for mounting on a larger or smaller TV than 65"
- mine is 48"
.
The case is bolted together with four screws.
Inside you will find the three main chips:
BK7231N/CBU
ESP32-D0WD-V3
HDMI video extraction chip: GSCoolink GSV2002
.
When reversed on the computer
On the PCB there are pulled goldpin sockets for each circuit (even the one they didn't solder) with RX TX GND and 3V3.
In addition, soldered (not pulled on the case) are three microswitches
- the top one connected to GPIO0 of the ESP32 (ideal for Flashmode)
- lower left connected to CBU pin P6
- bottom right connected to CBU pin CEN (ideal for Flashmode)
I managed to rip the original firmware from the CBU, but no longer from the ESP32 (presumably busy RX/TX), but I tapped into the logs of both chips after boot.
ESP32:
.
CBU:
.
then connecting via the Tuya app on the phone, the device to the internet:
.
Obtained configuration of the CBU (never connected to the network) after ripping the firmware
.
As you can guess, the ESP is the brains behind the processing of the image into the correct colours, while the CBU is responsible for communicating with the TUYA servers, outputting the signal to the LED strip and there is no TuyaMCU intermediate circuit.
In the Tuya Smart application, the device looks like this, along with the configuration from which row and column it should take the image for generating the LED tape light:
.
https://shop.action.com/en-nl/p/8712879162889/hdmi-sync-box-with-light-strip
Model: 6204000100
Supports HDMI: HDCP2.2, 4k@60Hz HDR10+
The device is connected between, for example, a console or satellite receiver and the TV.
To it we connect the LED strip (84pcs 5050RGB LED for 2,6m) and mount it on the 65" TV on 3 edges (left, top, right) which in the end makes us lighting like Ambilight in Philips TVs.
Cons: it looks like the software and instructions do not provide for mounting on a larger or smaller TV than 65"


The case is bolted together with four screws.
Inside you will find the three main chips:
BK7231N/CBU
ESP32-D0WD-V3
HDMI video extraction chip: GSCoolink GSV2002
![[BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis [BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis](https://obrazki.elektroda.pl/3673375400_1733045402_thumb.jpg)
![[BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis [BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis](https://obrazki.elektroda.pl/9315884500_1733045405_thumb.jpg)
![[BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis [BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis](https://obrazki.elektroda.pl/2522186100_1733045404_thumb.jpg)



![[BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis [BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis](https://obrazki.elektroda.pl/3944470800_1733045538_thumb.jpg)
When reversed on the computer
![[BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis [BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis](https://obrazki.elektroda.pl/4349484100_1733045538_thumb.jpg)
On the PCB there are pulled goldpin sockets for each circuit (even the one they didn't solder) with RX TX GND and 3V3.
In addition, soldered (not pulled on the case) are three microswitches
- the top one connected to GPIO0 of the ESP32 (ideal for Flashmode)
- lower left connected to CBU pin P6
- bottom right connected to CBU pin CEN (ideal for Flashmode)
I managed to rip the original firmware from the CBU, but no longer from the ESP32 (presumably busy RX/TX), but I tapped into the logs of both chips after boot.
ESP32:
I (191) cpu_start: Compile time: Nov 5 2022 16:11:44
I (197I (163) cpu_start: Pro cpu up.
I (163) cpu_start: Starting app cpu, entry point is 0x40081368
I (0) cpu_start: App cpu up.
I (177) cpu_start: Pro cpu start user code
I (177) cpu_start: cpu freq: 240000000
I (177) cpu_start: Application information:
I (181) cpu_start: Project name: syncbox
I (186) cpu_start: App version: 1
I (191) cpu_start: Compile time: Nov 5 2022 16:11:44
I (197) cpu_start: ELF file SHA256: 9ad074a7b2b71120...
I (203) cpu_start: ESP-IDF: v4.4.1-dirty
I (209) heap_init: Initializing. RAM available for dynamic allocation:
I (216) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (222) heap_init: At 3FFDA948 len 000056B8 (21 KiB): DRAM
I (228) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (234) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (241) heap_init: At 4008F010 len 00010FF0 (67 KiB): IRAM
I (248) spi_flash: detected chip: generic
I (251) spi_flash: flash io: dio
I (256) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
external config
_000 : general_this_valid = 1
_001
_002
_003
_004 : general_publish_type = 0
_005 : general_release_print = 1
_006
_007
_008_024 : general_board_version = A4E32MGS02KR_05
_025
_026
_027
_028 : hdmi_chip_vendor = 0
_029 : hdmi_chip_model = 0
_030 : hdmi_firmware_type = 1
_031
_032 : hdmi_i2c_en = 0
_033 : hdmi_i2c_port = 0
_034 : hdmi_i2c_scl = 26
_035 : hdmi_i2c_sda = 25
_036_039 : hdmi_i2c_freq = 0
_040 : hdmi_i2c_addr = 0x00
_041
_042
_043
_044 : hdmi_uart_en = 0
_045 : hdmi_uart_port = 0
_046 : hdmi_uart_tx = 0
_047 : hdmi_uart_rx = 0
_048_051 : hdmi_uart_bitrate = 0
_052
_053
_054
_055
_056 : hdmi_reset_gpio = 22
_057 : hdmi_reset_level = 0
_058 : hdmi_select_gpio = 0
_059 : hdmi_select_level = 0
_060 : hdmi_power_gpio = 0
_061 : hdmi_power_level = 0
_062
_063
_064
_065
_066 : adc_r_gpio = 35
_067 : adc_g_gpio = 32
_068 : adc_b_gpio = 33
_069 : adc_hs_gpio = 39
_070 : adc_vs_gpio = 34
_071
_072
_073
_074 : authority_uart_port = 1
_075 : authority_uart_tx = 23
_076 : authority_uart_rx = 19
_077
_078
_079
_080 : authority_led_gpio = 18
_081 : authority_led_level = 1
_082
_083
_084
_085
_086 : output_spi_en = 1
_087 : output_spi_port = 1
_088 : output_spi_miso = 19
_089 : output_spi_mosi = 27
_090 : output_spi_sclk = 4
_091 : output_spi_ncs = 5
_092_095 : output_spi_freq = 1000000
_096
_097
_098
_099
_100 : output_uart_en = 0
_101 : output_uart_port = 0
_102 : output_uart_tx = 0
_103 : output_uart_rx = 0
_104_107 : output_uart_bitrate = 0
_108
_109
_110
_111
_112 : output_i2c_en = 0
_113 : output_i2c_port = 0
_114 : output_i2c_scl = 0
_115 : output_i2c_sda = 0
_116_119 : output_i2c_freq = 0
_120 : output_i2c_addr = 0x00
_121
_122
_123
_124 : sw_adc_buffer = 0
_125 : sw_amb_pack = 0
_126 : sw_amb_matrix = 0
_127 : sw_amb_major = 0
_128 : sw_amb_show_delay = 1
_129 : sw_amb_mute_delay = 1
_130 : sw_amb_confirm = 3
_131 : sw_amb_cut = 10
_132 : sw_amb_motion_thres = 48
_133 : sw_amb_motion_means = 2
_134 : sw_amb_lpf_coef = 8
_135 : sw_amb_cdd_thres = 4
_136 : sw_amb_hdr_gain = 2
_137 : sw_amb_add = 0
_138 : sw_amb_mask_thres = 0
_139 : sw_amb_mask_value = 0
_140 : sw_amb_support_1440p60 = 0
_141
_142
_143
_144 : sw_amb_task_delay_ms_thread_main = 10
_145 : sw_amb_task_delay_ms_thread_hdmi = 10
_146 : sw_amb_task_delay_ms_thread_ota = 10
_147
_148
_149
_150
_151
_152 : sw_amb_black_all_at_nc = 1
_153
_154
_155
hardware version : A4E32MGS02KR_05
firmware version : A4E32MGS02_V2.6.26 (release) @ 2022.11.19 01:00
hdmi-rx version : GS2002_V1.00.00.04 (embedded) @ 2022.05.20 fix eye-diagram
authority checked ok, start working ...
CBU:
[01-01 18:12:15 TUYA Err][lr:0xa49a5] uf_open 0 err 8
[01-01 18:12:15 TUYA Err][lr:0x5888f] uf file 0 can't open and read data!
[01-01 18:12:15 TUYA Err][lr:0x5c003] Failed to load colour cfg from Flash
[01-01 18:12:16 TUYA Err][lr:0xa49a5] uf_open 1 err 8
[01-01 18:12:16 TUYA Err][lr:0x5888f] uf file 1 can't open and read data!
[01-01 18:12:16 TUYA Err][lr:0x5c7e7] Failed to load music cfg from Flash
[01-01 18:12:16 TUYA Err][lr:0xa49a5] uf_open 2 err 8
[01-01 18:12:16 TUYA Err][lr:0x5888f] uf file 2 can't open and read data!
[01-01 18:12:16 TUYA Err][lr:0x5a413] Failed to load scene cfg from Flash
[01-01 18:12:16 TUYA Err][lr:0xa49a5] uf_open 4 err 8
[01-01 18:12:16 TUYA Err][lr:0x5888f] uf file 4 can't open and read data!
[01-01 18:12:16 TUYA Err][lr:0x58c7d] Failed to load lighting-cloud-configuration from Flash
[01-01 18:12:16 TUYA Err][lr:0xa49a5] uf_open 5 err 8
[01-01 18:12:16 TUYA Err][lr:0x5888f] uf file 5 can't open and read data!
mic is initialized
apl_mgmt.chgNotify is ready
apl_mgmt.bgTask is ready
apl_mgmt.mainTask is ready
lumina app lfx is initialzed
spi slave dma init: mode:1, rate;1
spi_slave [CTRL]:0x0090ff00
spi_slave [CONFIG]:0x00000000
spi dma rx init
kr_spis_mgmt.task is running
kr_spis_mgmt.task state is 2lfx main task is resumed
app lighting is enable now
Succeed to malloc space for app_light_cfg.seg_list
[01-01 18:12:16 TUYA Err][lr:0xa6d0f] dev_cntl null
[01-01 18:12:16 TUYA Err][lr:0x5ec55] dp_sync_iot_local_music is fail,fail_num:-6
[01-01 18:12:16 TUYA Err][lr:0xa6719] devid: dparr[0]:20 not find
[01-01 18:12:16 TUYA Err][lr:0xa67b5] no vaild dp
[01-01 18:12:16 TUYA Err][lr:0x9db93] dp composition fail.ret:-3585
[01-01 18:12:16 TUYA Err][lr:0x5ecf1] dev_report_dp_json_async all_data is fail,fail_num:-3585
[PLATFORM NOTICE]bk_rst:0 tuya_rst:0
rw_ieee80211_set_country code:
code: CN
channel: 1 - 13
mode: MANUAL
bk_wlan cca closed
[01-01 18:12:16 TUYA Err][lr:0x5fb17] ===================network:1
[01-01 18:12:16 TUYA Err][lr:0xa6d0f] dev_cntl null
[01-01 18:12:16 TUYA Err][lr:0x5ec55] dp_sync_iot_local_music is fail,fail_num:-6
[01-01 18:12:16 TUYA Err][lr:0xa6719] devid:6c11ce5d0dd0857ef1fjyf dparr[0]:20 not find
[01-01 18:12:16 TUYA Err][lr:0xa67b5] no vaild dp
[01-01 18:12:16 TUYA Err][lr:0x9db93] dp composition fail.ret:-3585
[01-01 18:12:16 TUYA Err][lr:0x5ecf1] dev_report_dp_json_async all_data is fail,fail_num:-3585
[sa_sta]MM_RESET_REQ
[bk]tx_txdesc_flush
[sa_sta]ME_CONFIG_REQ
[sa_sta]ME_CHAN_CONFIG_REQ
[sa_sta]MM_START_REQ
ht in scan
scan_start_req_handler
lighting effect main task in running
state of apl_mgmt.bgTask is 1
lfx background task is resumed
current lfx is 2
current period is 500
Succeed to create u2_dma_tx_mgmt.notify
net_wlan_add_netif not vif idx found
supplicant_main_exiting
supplicant_exit_done
hostapd_main_exiting
hostapd_exit_handler
hostapd_exit_done
net_wlan_add_netif not vif idx found
supplicant_main_exiting
supplicant_exit_done
Soft_AP_start
[saap]MM_RESET_REQ
[bk]tx_txdesc_flush
[saap]ME_CONFIG_REQ
[saap]ME_CHAN_CONFIG_REQ
[saap]MM_START_REQ
apm start with vif:0
me_set_ps_disable:840 0 0 1 0 0
------beacon_int_set:100 TU
set_active param 0
[msg]APM_STOP_CFM
update_ongoing_1_bcn_update
hal_machw_enter_monitor_mode
cur_stat = 1,isConnectClouded=0
[PLATFORM DEBUG]!!!!!!!!!!tuya_os_adapt_bt_reset_adv
adv_state:12
!!!!!!!!!!ble_appm_update_adv_data updata adv data
[gapm_cmp_evt_handler] conidx:0,operation:0xa9,status:0x0
[appm_adv_fsm_next] cur adv_state:c
adv_state:13
[ble_appm_set_scan_rsp_data]
end adv_state:d
[PLATFORM DEBUG]UNKNOW EVENT:19
[PLATFORM DEBUG]UNKNOW EVENT:16
[gapm_cmp_evt_handler] conidx:0,operation:0xaa,status:0x0
[appm_adv_fsm_next] cur adv_state:d
adv_state:7
end adv_state:7
[PLATFORM DEBUG]UNKNOW EVENT:20
[PLATFORM DEBUG]UNKNOW EVENT:16
Clear FIFO:4
then connecting via the Tuya app on the phone, the device to the internet:
[PLATFORM NOTICE]BLE CONNECT
adv_state:8
[appm_adv_fsm_next] cur adv_state:8
[appm_delete_advertising]
adv_state:10
end adv_state:a
[PLATFORM DEBUG]UNKNOW EVENT:18
[gapm_cmp_evt_handler] conidx:0,operation:0xa7,status:0x0
[appm_adv_fsm_next] cur adv_state:a
adv_state:0
end adv_state:0
[PLATFORM DEBUG]UNKNOW EVENT:16
[PLATFORM DEBUG]!!!!!!!!!!tuya_os_adapt_bt_reset_adv
fast_connect
net_wlan_add_netif not vif idx found
supplicant_main_exiting
supplicant_exit_done
[sa_sta]MM_RESET_REQ
[bk]tx_txdesc_flush
[sa_sta]ME_CONFIG_REQ
[sa_sta]ME_CHAN_CONFIG_REQ
[sa_sta]MM_START_REQ
bssid CENZURA
security2cipher 2 2 16 16 security=5
cipher2security 2 2 16 16
hapd_intf_add_vif,type:2, s:0, id:0
wpa_dInit
wpa_supplicant_req_scan
Setting scan[retry16] request: 0.100000 sec
MANUAL_SCAN_REQ
enter low level!
mac fc:3c:d7:61:db:ac
leave low level!
net_wlan_add_netif done!, vif_idx:0
wpa_supplicant_scan
Cancelling scan request
wpa_driver_associate
ssid:CENZURA, 1
ht in scan
scan_start_req_handler
found scan rst rssi -71 < -50
dis ht_support
me_set_ps_disable:840 0 0 1 0 3
sm_auth_send:1
cur_stat = 5,isConnectClouded=1
[01-01 18:16:08 TUYA Err][lr:0xa6d0f] dev_cntl null
[01-01 18:16:08 TUYA Err][lr:0x5ec55] dp_sync_iot_local_music is fail,fail_num:-6
[01-01 18:16:08 TUYA Err][lr:0xa6719] devid:6c11ce5d0dd0857ef1fjyf dparr[0]:20 not find
[01-01 18:16:08 TUYA Err][lr:0xa67b5] no vaild dp
[01-01 18:16:08 TUYA Err][lr:0x9db93] dp composition fail.ret:-3585
[01-01 18:16:08 TUYA Err][lr:0x5ecf1] dev_report_dp_json_async all_data is fail,fail_num:-3585
[01-01 18:16:09 TUYA Err][lr:0xaf88b] network unavailable
SM_DISCONNECTING status=1
---------SM_CONNECT_IND_fail
deassoc_evt_cb
wpa_driver_deassoc_cb
wpa_supplicant_req_scan
Setting scan[retry15] request: 0.100000 sec
wpa_supplicant_req_scan
Ignore new scan request for 10.000000 sec since an earlier request is scheduled to trigger sooner
wpa_supplicant_scan
wpa_drv_scan
wpa_send_scan_req
recover ht_support:1
ht in scan
scan_start_req_handler
[01-01 18:16:10 TUYA Err][lr:0xaf88b] network unavailable
[01-01 18:16:11 TUYA Err][lr:0xaf88b] network unavailable
wpa_driver_scan_cb
wpa_get_scan_rst:3
wpa_supplicant_connect
Cancelling scan request
wpa_driver_associate
ssid:CENZURA, 1
found scan rst rssi -71 < -50
dis ht_support
no ht in scan
scan_start_req_handler
me_set_ps_disable:840 0 0 1 0 3
sm_auth_send:1
sm_auth_handler
ht NOT in assoc req
sm_assoc_rsp_handler
rc_init: station_id=0 format_mod=0 pre_type=0 short_gi=0 max_bw=0
rc_init: nss_max=0 mcs_max=255 r_idx_min=0 r_idx_max=11 no_samples=10
---------SM_CONNECT_IND_ok
wpa_driver_assoc_cb
Cancelling scan request
new ie: 0 : 11 66 6f 72 55 20 49 4f 54
new ie: 1 : 11 84 8b 96 c 12 18 24
new ie: 3 : 2
new ie: 2d : 11 11 1b ff ff 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
new ie: 30 : 1 0 0 f ac 4 1 0 0 f ac 4 1 0 0 f ac 2 0 0
__l2_packet_send: ret 0
__l2_packet_send: ret 0
hapd_intf_add_key CCMP
add sta_mgmt_get_sta
sta:0, vif:0, key:0
sta_mgmt_add_key
add hw key idx:24
hapd_intf_add_key CCMP
add is_broadcast_ether_addr
sta:255, vif:0, key:1
add hw key idx:1
ctrl_port_hdl:1
me_set_ps_disable:840 0 0 0 0 3
sta_ip_start
configuring interface mlan (with DHCP client)dhcp_check_status_init_timer:20000
[01-01 18:16:12 TUYA Err][lr:0xaf88b] network unavailable
[01-01 18:16:13 TUYA Err][lr:0xaf88b] network unavailable
ip_addr: CENZURA
same_bssid_info
first enable sleep
power_save_me_ps_first_set_state:576
me_send_ps_req 2 0 0
ps_keep_timer init
cur_stat = 6,isConnectClouded=1
set_ps_mode_cfm:963 1 4 0 3 255
enter 0 ps,p:1 m:1 int:100 l:100!
power_save_dtim_ps_init
sleep_first 0
dtim period:1 multi:1
[12-01 19:30:02 TUYA Err][lr:0xa6edf] mqtt async send err:-5890
[12-01 19:30:02 TUYA Err][lr:0x5ec55] dp_sync_iot_local_music is fail,fail_num:-5890
[12-01 19:30:02 TUYA Err][lr:0xa6edf] mqtt async send err:-5890
[12-01 19:30:02 TUYA Err][lr:0x5ee1f] dp_sync_iot_local_music is fail,fail_num:-5890
[12-01 19:30:02 TUYA Err][lr:0xa6edf] mqtt async send err:-5890
[12-01 19:30:02 TUYA Err][lr:0x5ec99] dp_sync_iot_local_music is fail,fail_num:-5890
[12-01 19:30:02 TUYA Err][lr:0xa6edf] mqtt async send err:-5890
[12-01 19:30:02 TUYA Err][lr:0x9dbb7] dp report async fail.ret:-5890
[12-01 19:30:02 TUYA Err][lr:0x5efb9] sync_screen is fail,fail_num:-5890
[12-01 19:30:02 TUYA Err][lr:0xa6edf] mqtt async send err:-5890
[12-01 19:30:02 TUYA Err][lr:0x9dbb7] dp report async fail.ret:-5890
[12-01 19:30:02 TUYA Err][lr:0x5f011] sync_screen is fail,fail_num:-5890
[12-01 19:30:02 TUYA Err][lr:0xa6edf] mqtt async send err:-5890
[12-01 19:30:02 TUYA Err][lr:0x9dbb7] dp report async fail.ret:-5890
[12-01 19:30:02 TUYA Err][lr:0x5f885] dev_report_dp_json_async all_data is fail,fail_num:-5890
[12-01 19:30:02 TUYA Err][lr:0xc0d25] astro timer read fail:-6
[12-01 19:30:02 TUYA Err][lr:0xc1129] read fail:-6
[12-01 02:17:48 TUYA Err][lr:0xc64b1] ret:1.
[PLATFORM DEBUG]!!!!!!!!!!tuya_os_adapt_bt_reset_adv
[12-01 02:17:48 TUYA Err][lr:0xc64b1] ret:1.
cur_stat = 7,isConnectClouded=1
dp_colour_t.sync_hsv.h = 21,isConnectClouded=0
[12-01 02:17:50 TUYA Err][lr:0xa49a5] uf_open netcfg_log err 8
[PLATFORM NOTICE]bk_rst:1 tuya_rst:4
[12-01 02:18:04 TUYA Err][lr:0xa3697] result null
Clear FIFO:5
Clear FIFO:4
rxl dma recover
Clear FIFO:9
gen:1000000
rx_header_dma_dead
Clear FIFO:2
Clear FIFO:3
Clear FIFO:2
gen:2000000
rx_payload_dma_dead
Clear FIFO:1
Clear FIFO:9
Clear FIFO:3
gen:2000000
rx_payload_dma_dead
gen:100
rx_fifo_over_flow count=0
Obtained configuration of the CBU (never connected to the network) after ripping the firmware
{
"nc_tp":"9",
"ssid":"dHV5YV9tZGV2X3Rlc3Q=",
"passwd":"R2h5dTU1NTU1NQ==",
"md":"0",
"random":"0",
"wfb64":"1",
"stat":"2",
"token":"nGTGkRfq",
"region":"AY",
"reg_key":"k41r",
"dns_prio":"0 }",
"ai_sp_ip":"null",
"mq_psk":"null",
"mq_psk_ip":"null",
"time_z":"null",
"s_time_z":"null",
"w{key":"gNc`x.nyaI'-O.;c",
"lckey":"v",
"h_url":"http",
"h_ip":"42.192.25.216",
"hs_url":"null",
"hs_ip":"null",
"hs_psk":"https",
"hs_psk_ip":"81.69.183.170",
"mqs_url":"null",
"mqs_ip":"null",
"mq_url":"m2.tuyacn{uuid",
"psk_key":"PiJFcZ05gIsrUo0R4vFNxSxF8gwdJfUmJLOL8",
"auth_key":"z1K5ApH3b1HPmeeYGcn9YbTfdTaK9Eru",
"ap_ssid":"SmartLife",
"ap_passwd":"null",
"country_code":"CN",
"bt_mac":"null",
"bt_hid":"null",
"prod_test":"false",
"fac_pin":"aceyfgaokqwk4nzj }.com",
"mq_ip":"42.192.30.165",
"ai_sp":"null",
"wx_app_id":"null",
"wx_uuid":"null",
"dy_tls_m":"0",
"cloud_cap":"1025",
"psk21_key":"null }{nc_tp",
"cnt":"0}3LBwf_start_mdnAer8l48[{type",
"mode":"rw",
"property":"{type",
"id":"20}",
"{type":"obj",
"type":"enum}",
"maxlen":"255}",
"max":"86400",
"scale":"0",
"step":"1",
"{mode":"rw",
"time_(`type":"enum}"
}
As you can guess, the ESP is the brains behind the processing of the image into the correct colours, while the CBU is responsible for communicating with the TUYA servers, outputting the signal to the LED strip and there is no TuyaMCU intermediate circuit.
In the Tuya Smart application, the device looks like this, along with the configuration from which row and column it should take the image for generating the LED tape light:
![[BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis [BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis](https://obrazki.elektroda.pl/5511330400_1733100659_thumb.jpg)
![[BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis [BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis](https://obrazki.elektroda.pl/4704163000_1733100659_thumb.jpg)
![[BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis [BK7231N/CBU]&[ESP32] Teardown HDMI Sync Box from Action - interior and circuit analysis](https://obrazki.elektroda.pl/6205549100_1733100659_thumb.jpg)
Cool? Ranking DIY