logo elektroda
logo elektroda
X
logo elektroda

T1, T1-M, T1-3S Tuya BK7238 module datasheet, pinout and flashing, Home Assistant

p.kaczmarek2  Cool? (+1)
📢 Listen (AI):

T1 (BK7238) is a Tuya Wi-Fi 802.11b/g/n and Bluetooth 5.2 LowEnergy (LE) single-chip designed for low power and compact size IoT products. T1 is used by T1-M, T1-U-HL, T1-3S, T1-LC5-HL modules. T1 features 32-bit MCU running at up to 160 MHz, 2 MB SiP Flash, 288 KB RAM and 4-byte eFuse. It runs on 2.7 to 3.6 V supply. T1 peripherals include:
- GPIOs: 19 in QFN32, 9 in QFN20
- 1x SPI
- 2x UART: 1 with Flash download support
- 1x I2C
- 1x general-purpose DMA controller (GDMA) with 6 channels
- 6x 32-bit PWM channel
- 10-bit AUX ADC, up to 6 channels
- 6x general-purpose 32-bit timer
- 1x watchdog timer (WDT)
- 1x real-time counter (RTC)
- 1x temperature sensor
- 1x true random number generator (TRNG)

In this topic, I will show the T1 chip pinouts, then I will move to common T1 Tuya modules, and finally I'll show how it can be flashed with open source firmware.
Why change firmware?
Changing firmware allows you to:
- run device free from the cloud (privacy-respecting method)
- pair it with Home Assistant (easily with HASS Discovery)
- configure advanced automations with OBK scripting or Berry
- add mechanisms not possible with Tuya (Tasmota Device Groups, etc)
- add new sensors, buttons and other peripherals
- and much more

Let's start with considering T1 pinouts. The most important pins for flashing are UART1 (TX1 and RX1), which are used for programming, and TX2, which is a debug log output at 115200.

T1 QFN32 Pinout and Descriptions:

Pin # Name I/O Type Description
1VCCRXFE-Analog inputRF receiver power supply
2ANT-RF2.4 GHz RF signal port
3VCCPA-Analog inputRF PA power supply
4VCCTX-Analog inputRF Transmitter power supply
5GND-GNDGround
6XI-Analog input26 MHz crystal input
7XO-Analog output26 MHz crystal output
8VCCPLL-Analog inputRF PLL power supply
9VDDAON-Analog outputAlways-on/digital LDO output
10VBAT-Analog inputChip power supply
11CEN-Analog inputChip enable, active high
12P28/ADC4I/ODigital/AnalogGPIO28 / ADC4
13P20/ADC3I/ODigital/AnalogGPIO20 / ADC3
14P21I/ODigitalGPIO21
15P22I/ODigitalGPIO22
16P23I/ODigitalGPIO23
17P24/LPO_CLK/PWM4/ANTLSB/SCL/ADC2I/ODigital/AnalogGPIO24 / 32 kHz clock output / PWM4 (diff w/ PWM5) / BT LE antenna select (LSB) / I2C: SCL / ADC2
18NC-NCNo connect
19P14/SCK/ANT0I/ODigitalGPIO14 / SPI: SCK / BT LE antenna select 0
20P16/MOSI/ANT2I/ODigitalGPIO16 / SPI: MOSI / BT LE antenna select 2
21P15/CSN/ANT1/SCLI/ODigitalGPIO15 / SPI: CSN / BT LE antenna select 1 / I2C: SCL
22P17/MISO/ANT3/SDAI/ODigitalGPIO17 / SPI: MISO / BT LE antenna select 3 / I2C: SDA
23P26/PWM5/ANTMSB/SDA/ADC1I/ODigital/AnalogGPIO26 / PWM5 (diff w/ PWM4) / BT LE antenna select (MSB) / I2C: SDA / ADC1
24P6/CLK13M/PWM0/TCK/ANT0I/ODigitalGPIO6 / 26 MHz clk (รท1/2/4/8) / PWM0 (diff w/ PWM1) / JTAG: TCK / BT LE antenna select 0
25P7/PWM1/TMS/ANT1I/ODigitalGPIO7 / PWM1 (diff w/ PWM0) / JTAG: TMS / BT LE antenna select 1
26P8/PWM2/TDI/ANT2/CLK26MI/ODigitalGPIO8 / PWM2 (diff w/ PWM3) / JTAG: TDI / BT LE antenna select 2 / 26 MHz clk output
27P9/PWM3/TDO/ANT3I/ODigitalGPIO9 / PWM3 (diff w/ PWM2) / JTAG: TDO / BT LE antenna select 3
28P10/DL_1RX/ADC6I/ODigital/AnalogGPIO10 / UART1: RX (Flash DL) / ADC6
29P11/DL_1TXI/ODigitalGPIO11 / UART1: TX (Flash DL)
30P1/2RX/RXEN/ADC5I/ODigital/AnalogGPIO1 / UART2: RX / RX enable / ADC5
31P0/2TX/TXENI/ODigitalGPIO0 / UART2: TX / TX enable
32VCCIF-Analog inputIF power supply
Die padGND_SLUG-GNDGround



T1 QFN20 Pinout and Descriptions:

Pin #NameI/OTypeDescription
1ANT-RF2.4 GHz RF signal port
2VCCPA-Analog inputRF PA power supply
3VCCTX-Analog inputRF Transmitter power supply
4XI-Analog input26 MHz crystal input
5XO-Analog output26 MHz crystal output
6VCCPLL-Analog inputRF PLL power supply
7VDDAON-Analog outputAlways-on/digital LDO output
8VBAT-Analog inputChip power supply
9CEN-Analog inputChip enable, active high
10P24/LPO_CLK/PWM4/ANTLSB/SCL/ADC2I/ODigital/AnalogGPIO24, 32 kHz clock output, PWM4 (differential with PWM5), Bluetooth LE antenna select (LSB), I2C: SCL, ADC2
11P26/PWM5/ANTMSB/SDA/ADC1I/ODigital/AnalogGPIO26, PWM5 (differential with PWM4), Bluetooth LE antenna select (MSB), I2C: SDA, ADC1
12P6/CLK13M/PWM0/ANT0I/ODigitalGPIO6, 26 MHz clock output (divided by 1/2/4/8), PWM0, Bluetooth LE antenna select 0
13P8/PWM2/ANT2/CLK26MI/ODigitalGPIO8, PWM2 (differential with PWM3), Bluetooth LE antenna select 2, 26 MHz clock output
14P9/PWM3/ANT3I/ODigitalGPIO9, PWM3 (differential with PWM2), Bluetooth LE antenna select 3
15P10/DL_1RX/ADC6I/ODigital/AnalogGPIO10, UART1: RX (Flash download support), ADC6
16P11/DL_1TXI/ODigitalGPIO11, UART1: TX (Flash download support)
17P1/2RX/RXEN/ADC5I/ODigital/AnalogGPIO1, UART2: RX, RX enable, ADC5
18P0/2TX/TXENI/ODigitalGPIO0, UART2: TX, TX enable
19VCCIF-Analog inputIF power supply
20VCCRXFE-Analog inputRF receiver power supply
Die padGND_SLUG-GNDGround


T1 internal diagram:


That was information about T1, but T1 often comes in form of modules. Here are most common T1 modules.

T1-M Module Pinout
T1-M is a T1 (BK7238) equivalent of WB2S/CB2S/TYWE2S. It exposes PWM, ADC, and UART 1. UART 2 is on the module back.

Pin No.SymbolI/O typeDescription
13V3P3.3V power pin.
2P26I/OSupport hardware PWM, corresponding to Pin 11 on the IC.
3GNDPGround pin.
4P6I/OSupport hardware PWM, corresponding to Pin 12 on the IC.
5RX1I/OUART_RX1 to receive user data, P10 corresponding to Pin 15 on the IC.
6P8I/OSupport hardware PWM, corresponding to Pin 13 on the IC.
7TX1I/OUART_TX1 to send user data, P11 corresponding to Pin 16 on the IC.
8ADCI/OADC pin, GPIO 1, corresponding to Pin 17 on the IC.
9P9I/OSupport hardware PWM, corresponding to Pin 14 on the IC.
10CENI/OThe reset pin, active low, and pulled up internally. Corresponding to Pin 9 on the IC.
11P24I/OSupport hardware PWM, corresponding to Pin 10 on the IC.



T1-3S Module Pinout
T1-3S is a T1 (BK7238) equivalent of CB3S/WB3S/TYWE3S.

Pin No.SymbolI/O typeFeature
1RSTIThe low-level reset pin, active high, and pulled up internally, corresponding to CEN on the IC.
2ADC3I/OADC pin, corresponding to P20 on the IC.
3CENIEnable pin, pulled up internally. When externally pulled low, it can be used as a reset pin.
4P22I/OGPIO_22, corresponding to P22 on the IC.
5P6I/OGPIO_6, corresponding to P6 on the IC. Support hardware PWM0.
6P8I/OGPIO_8, corresponding to P8 on the IC. Support hardware PWM2.
7P9I/OGPIO_9, corresponding to P9 on the IC. Support hardware PWM3.
83V3PPower supply pin (DC 3.3V).
9GNDPGround pin.
10P23I/OGPIO_23, corresponding to P23 on the IC.
11TX2I/OUART2_TXD (used for log printing), corresponding to P0 on the IC.
12RX2I/OUART2_RXD (used for log printing), corresponding to P1 on the IC.
13P24I/OGPIO_24, corresponding to P24 on the IC. Support hardware PWM4.
14P26I/OGPIO_26, corresponding to P26 on the IC. Support hardware PWM5.
15RX1I/OUART1_RXD to receive the user data, corresponding to P10 on the IC.
16TX1I/OUART1_TXD to transmit the user data, corresponding to P11 on the IC.



T1-LC5-HL
T1-LC5-HL is a T1 (BK7238) equivalent of CBLC5, WBLC5.

Pin No.SymbolI/O typeDescription
1ANTOPin for the external antenna pad.
2GPGround.
3M4I/OSupport hardware PWM, corresponding to P24 on the IC.
4M3I/OSupport hardware PWM, corresponding to P9 on the IC.
5M5I/OSupport hardware PWM, corresponding to P26 on the IC.
63V3PPower pin


SymbolI/O typeDescription
R2I/OUART2_RX to receive the logs, corresponding to P12 on the IC.
T2I/OUART2_TX to transmit the logs, corresponding to P0 on the IC.
R1I/OUART1_RX to receive the user data, corresponding to P10 on the IC.
T1I/OUART1_TX to transmit the user data, corresponding to P11 on the IC.
CENIThe reset pin, active low, and pulled up internally.



T1-U-HL
T1-U-HL is a T1 (BK7238) equivalent of CBU.

Pin No.SymbolI/O typeDescription
1P14I/OA normal GPIO pin, corresponding to Pin 19 on the IC. It can be reused as SPI_SCK.
2P16I/OA normal GPIO pin, corresponding to Pin 20 on the IC. It can be reused as SPI_MOSI.
3P23I/OA normal GPIO pin, corresponding to Pin 16 on the IC.
4P22I/OA normal GPIO pin, corresponding to Pin 15 on the IC.
5ADCI/OAn ADC pin, corresponding to P20 (Pin 13) on the IC.
6RX2I/OUART_RX2, corresponding to P1 (Pin 30) on the IC.
7TX2I/OUART_TX2 to print logs, corresponding to P0 (Pin 31) on the IC.
8P24I/OSupport hardware PWM4, corresponding to Pin 17 on the IC.
9P9I/OSupport hardware PWM3, corresponding to Pin 27 on the IC.
10P26I/OSupport hardware PWM5, corresponding to Pin 23 on the IC.
11P6I/OSupport hardware PWM0, corresponding to Pin 24 on the IC.
12P8I/OSupport hardware PWM2, corresponding to Pin 26 on the IC.
13GNDPGround pin.
143V3P3.3V power pin.
15TX1I/OUART_TX1 to send user data, corresponding to P11 on the IC (corresponding to Pin 29 on the IC). For more information about MCU general integration, see Hardware Design of CBx Module.
16RX1I/OUART_RX1 to receive user data, corresponding to P10 on the IC (corresponding to Pin 28 on the IC). For more information about MCU general integration, see Hardware Design of CBx Module.
17P28I/OA normal GPIO pin, corresponding to Pin 12 on the IC.
18CENI/OThe reset pin, active low, and pulled up internally. It is compatible with the designs of other modules. Corresponding to Pin 11 on the IC.
19P21I/OA normal GPIO pin, corresponding to Pin 14 on the IC.
20P17I/OA normal GPIO pin, corresponding to Pin 22 on the IC. It can be reused as SPI_MISO.
21P15I/OA normal GPIO pin, corresponding to Pin 21 on the IC. It can be reused as SPI_CS.


How to flash T1 and T1 modules?
Flashing T1 (BK7238) is very similar to flashing BK7231T/BK7231N, so please check our BK7231T/BK7231N tutorials. I will provide here just a short version of the guide.

Remember to make 2MB firmware backup before flashing any new software!

Hardware setup
For flashing BK7238, you will need USB to UART converter. Futhermore you will need to provide a good 3.3V power supply, powering WiFi module directly from USB to UART converter may not be enough. I often use external 3.3V LDO like AMS1117-3.3V for this purpose. It's also possible to use onboard LDO if your device has one, then you can connect 5V to the input of the LDO to get 3.3V at the output, as 3.3V is required for WiFi module.
So, you need to connect ground, power (3.3V) and RX/TX to UART 1 port of Beken. Connect TX to RX and RX to TX.
When flashing tools is waiting for reset/getting bus, disconnect 3.3V for a moment and reconnect it.
See our other guides for more information.

Firmware download
Download OBK here:
https://github.com/openshwprojects/OpenBK7231T_App/releases
Get OpenBK7238_QIO_*.bin, as T1 is BK7238.
Remember that in case of Easy Flasher, this is not necessary, as Easy Flasher can automatically download required binary from Github.

Flashing software option 1 - Easy Flasher:
https://github.com/openshwprojects/BK7231GUIFlashTool
Easy Flasher is very simple to use, just run it, select chip (BK7238), use it to download firmware, and then first do flash backup and then write new firmware.

Flashing software option 2 - BKFil:
https://www.elektroda.com/rtvforum/topic4059172.html
https://github.com/openshwprojects/FlashTools/tree/main/Beken
Sample log:

 cmdline: |D:/Instalki/Open BK7321/BEKEN_BKFIL_V2.1.6.0_20231123/bk_loader.exe download -p 6 -b 1500000 --uart_type OTHER --mainBin-multi D:/Instalki/Open BK7321/BK7231GUIFlashTool-v49/firmwares/OpenBK7238_QIO_1.18.140.bin@0x0-0x132000 --fast_link 1 |
 bk_loader version 2.1.6.0: build @Nov 23 2023 11:23:40 
 2025-07-27 18:58:55.833    Current port : COM6 + BaudRate : 115200 connect success
 2025-07-27 18:58:56.034    do_reset_signal
 2025-07-27 18:58:56.034    Getting Bus...
 2025-07-27 18:58:58.905    Gotten Bus...
 2025-07-27 18:58:59.049    Got ChipId: 0x7238

 2025-07-27 18:58:59.049    Current Chip is : BK7238
 2025-07-27 18:58:59.081    Current baudrate : 1500000 success
 2025-07-27 18:58:59.112    rxf-uid : 45 53 4d 39 38 38 00 07 00 ab 4a 52 01 20 ad 78 
 2025-07-27 18:58:59.112    Got FLashMID: 0x154285

 2025-07-27 18:58:59.116    Unprotecting Flash
 2025-07-27 18:58:59.144    Unprotected Flash ->pass
 2025-07-27 18:58:59.144    [ 0 ] file_path : D:/BK7231GUIFlashTool-v49/firmwares/OpenBK7238_QIO_1.18.140.bin
 2025-07-27 18:58:59.144    [ 0 ] file_length : 0x132000 (1224 KB)
 2025-07-27 18:58:59.144    [ 0 ] file_crc : 0x8f7900f9
 2025-07-27 18:58:59.144    Begin EraseFlash
 2025-07-27 18:58:59.147    Start 4K Erase
 2025-07-27 18:58:59.147    End 4K Erase
 2025-07-27 18:58:59.147    Start 64K Erase
 2025-07-27 18:59:00.210    End 64K Erase
 2025-07-27 18:59:00.210    EraseFlash ->pass
 2025-07-27 18:59:00.213    Begin WriteFlash...
 2025-07-27 18:59:10.402    WriteFlash ->pass
 2025-07-27 18:59:10.402    Begin read CRC
 2025-07-27 18:59:13.254    CRC_Verify ->pass
 2025-07-27 18:59:13.347    Enprotect pass
 2025-07-27 18:59:13.380    Boot_Reboot

 2025-07-27 18:59:13.767    Total Test Time : 14.861 s
 2025-07-27 18:59:13.767    Writing Flash OK                             


Troubleshooting
Whole process is similar to BK7231 flashing, so as usual:
- try to swap RX and TX
- make sure you power module with good 3.3V supply
- shorten the wires
- try using CEN to reset instead of power disconnection (short CEN to ground for 0.1s)
- try different baud rate
- try different USB to UART converter

Related video guides
These are for BK7231T/BK7231N, but process for BK7238/T1 is the same, just do flashing as specified above.







Sample device boot log from Tuya firmware
This was taken from TX2 pin at 115200 baud.


 prvHeapInit-start addr:0x415228, size:175576
[Flash]id:0x852015
bk_timer_init exit
spi_init exit
sctrl_sta_ps_init
**********tuya_upgrade_main need upgrade? [255]**********
cset:0 0 0 0
[FUNC]rwnxl_init
IP Rev: 431458e2
tkl_ethernetif_init
tkl_[bk]tx_txdesc_flush
ex_txdesc_flush
[FUNC]intc_init
[FUNC]calibration_main
gpio_level=1,txpwr_state=15
device_id=0x22068000
[01-01 00:00:00 ty E][4164][log_seq.c:884] logseq empty
[01-01 00:00:00 ty N][4164][ty_sys.c:277] sdk_info:< TuyaOS V:3.8.31 BS:40.00_PT:2.3_LAN:3.5_CAD:1.0.5_CD:1.0.0 >
< BUILD AT:2024_12_26_11_42_43 BY ci_manage FOR tuyaos-iot AT T1 >
IOT DEFS < WIFI_GW:1 DEBUG:0 KV_FILE:0 LITTLE_END:1 SL:0 OPERATING_SYST[01-01 00:00:00 ty N][4164][ty_sys.c:278] name:oem_t1_irbox_mol_ty:0.0.5
[01-01 00:00:00 ty N][4164][ty_sys.c:279] firmware compiled at Feb 25 2025 21:21:43
[01-01 00:00:00 ty N][4164][ty_sys.c:280] system reset reason:[0]
[01-01 00:00:00 ty N][4164][simple_flash_protected.c:86] init protected data length 715 wr_cnt 14
[01-01 00:00:00 ty N][4164][simple_flash.c:447] key_addr: 0x1f5000   block_sz 4096
[01-01 00:00:00 ty N][4164][simple_flash.c:533] get key:
calibration_main over
flash txpwr table:0xf
dif g and n20 ID in flash:4
read txpwr tab from flash success
calibrate low value:[465]
calibrate high value:[8d3]
temp in flash is:256
lpf_i &[01-01 00:00:00 ty N][4 0:00:00 ty N][4164][td164][tdd_button_gpio.c:d_button_gpio.c:199] td199] tdd_gpio_button_regd_gpio_button_register ister succ
succ
found[01-01 00:00:00 ty N][4  00:00:00 ty N][4164][164][ty_app_ir_oem_confty_app_ir_oem_config.c:ig.c:56] --->long_press56] --->long_press_time:_time:3
[01-01 00:00:03
use xtal:51
xtal_ca0 ty N][4164][tuya_tls.li:51
--init_xtal = 51c:911] uni_random_init.
[FUNC]ps_init
[FUNC]..
func_init_extended OVER!!!

start_type:0
[01-01 00:00:00 ty N][400 ty N][4164][tuya_tls164][tuya_tls.c:354] tu.c:354] tuya_tls_rand_iya_tls_rand_init ok!
nit ok!
Version:
app_init finished
[01-01 00:00:00 ty E][416e][api_lib.c:227] LWIP_NETCONN_THREAD_SEM_FREE:not find thread sem

[01-01 00:00:00 ty N][4164][tuya_svc_devos.c:319] gw_cntl->gw_wsm.stat:2
rw_ieee80211_set_country code:
code: CN
channel: 1 - 13
mode: MANUAL
bk_wlan cca closed
!! tkl_wifi_station_fast_connect
>>> mhdr_set_station_status_cb
>>> _wifi_station_status_cb 0
wlan_clear_fast_connect_info
>>> mhdr_set_station_status 0
>>> _wifi_station_status_cb 0
[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
fast_connect
sizeof(wpa_supplicant)=928
hapd_intf_add_vif,type:2, s:0, id:0
wpa_dInit
hapd_intf_ioctl:939
hapd_intf_ioctl:939
hapd_intf_ioctl:939
hapd_intf_ioctl:939
hapd_intf_ioctl:939
hapd_intf_ioctl:939
netif_is_added: 0x40c418
netif_is_added: 0x40c3d0
net_wlan_add_netif already exist!, vif_idx:0
mac 80:64:7c:21:ff:7b
net_wlan_add_netif done!, vif_idx:0
me_mgmt_tx chan no avail
cipher2security 2 2 24 8
cipher2security 2 2 24 8
wpa_supplicant_connect
Cancelling sca[01-01 01:00:0chan avail
n ty N][4164][tuya_wi0 ty N][4164][tuya_wififi_status.c:167] cur st_at:5  0x0 -->>
status.c:167] cur stat:5  0x0wpa_driver_associate: a -->>
[01-01 01:00:00 u64][tuya_wifi_status.c:ty N][4164][tuya_wifi_s169] wifi netstat changtatus.c:169] wifi netsted to:5  -->>
>>> mhdr_set_station_status 3
>>> _wifi_station_status_cb 3
at changed to:5found scan rst rssi -38 > -50
bssid 74:da:88:a5:9e:fb, cap_info 0x1031, BI 100, ssid DOM-1
sm_auth_send:1
  -->>
[01-01 01:00:00 ty N][4164][mf_test.c:276] have actived over 15 min, not enter mf_init
[01-01 01:00:00 ty N][4164][ty_sys.c:343] mf_init succ
[01-01 01:00:00 ty N][4164][ty_sys.c:63] have actived over 15min, don't scan prod test ssid
[01-01 01:00:00 ty N][4164][tuya_iot_wifi_api.c:307] wifi soc init. pid:keycmhjv873dhvsn firmwarekey:keycmhjv873dhvsn ver:0.0.5
[01-01 01:00:00 ty N][4164][tuya_wifi_link.c:86] start wifi link params validate, nc_tp:9 md:3
[01-01 01:00:00 ty N][4164][tuya_wifi_link.c:108] gw_wsm.nc_tp:9
[01-01 01:00:00 ty N][4164][tuya_wifi_link.c:109] gw_wsm.md:3
[01-01 01:00:00 ty N][4164][tuya_svc_devos.c:547] Last reset reason: 0
[01-01 01:00:00 ty N][4164][tuya_svc_devos.c:376] gw_cntl->gw_if.abi:0 input:0
[01-01 01:00:00 ty N][4164][tuya_svc_devos.c:377] gw_cntl->gw_if.product_key:keycmhjv873dhvsn, input:keycmhjv873dhvsn
[01-01 01:00:00 ty N][4164][tuya_svc_devos.c:378] gw_cntl->gw_if.tp:0, input:0
[01-01 01:00:00 ty N][4164][tuya_svc_devos.c:381] gw_cntl->gw_if.firmware_key:keycmhjv873dhvsn, input:keycmhjv873dhvsn
[01-01 01:00:00 ty N][4164][tuya_svc_devos.c:580] enter success_proc
[01-01 01:00:00 ty N][4164][tuya_svc_devos.c:583] serial_no:80647c21ff7b
[01-01 01:00:00 ty N][4164][tdl_ir_dev_manage.c:1441] Set ir recv task stack size: 4096
[01-01 01:00:00 ty N][41e5][tuya_bt_link.c:63] bt startup attr:ff
[01-01 01:00:00 ty N][41e5][tuya_ble_svc.c:1204] upd product_id type:1 keycmhjv873dhvsn
[01-01 01:00:00 ty N][4164][tdl_binitial BLE...
ble mac:80-64-7c-21-ff-7c
rwip_heap_env addr:0x42e4e8 size:972
rwip_heap_msg addr:0x42e8c0 size:3208
rwip_heap_non_ret addr:0x42f550 size:668
xvr_reg_init
tx_pwr_idx:41
enter normal mode
uze:668
[01-01 01:00:00 ty N][4285][tbl_ir_cloud_service.c:475] sw timer create success
[01-01 01:00:00 ty N][41a9][ty_app_ir_component.c:78] =================>event_id:3, event_size:0
[01-01 01:00:00 ty N][41e5][tuya_ble_svc.c:1299] ty bt sdk init success finish
[01-01 01:00:00 ty E][41e5][tuya_svc_timer_task.c:1376] read timer_full_key failed
[01-01 01:00:00 ty N][41e5][tuya_svc_devos.c:231] __devos_init_evt success
[01-01 01:00:00 ty N][41e5][tuya_svc_devos.c:68] already bind
[01-01 01:00:00 ty N][41e5][tuya_svc_mqtt_client.c:179] [mqtts://m3-eu.lifeaiot.com:8883] mqtt state change 0 -> 1
[01-01 01:00:00 ty N][4329][tuya_svc_mqtt_client.c:1275] mqtt_thread paused
[01-01 01:00:00 ty N][4329][tuya_svc_mqtt_client.c:664] mqtt close
[01-01 01:00:00 ty E][41e5][astro_timer.c:326] astro timer read fail:-6
[01-01 01:00:00 ty E][41e5][astro_timer.c:861] read fail:-6
[01-01 01:00:00 ty E][41e5][tuya_wifi_connect.c:371] wf connect err:-1, ssid:DOM-1
[01-01 01:00:00 ty N][41e5][tuya_wifi_status.c:167] cur stat:5  0x5e64d -->>
[01-01 01:00:00 ty N][41d3][ty_app_main.c:54] Main Module: v1.0.0 (0.0.5)
temp_code:30 - adc_code:245 - adc_trend:[13]:256->[14]:246
init_xtal:51, delta:-1, last_xtal:51
[01-01 01:00:00 ty N][41e5][ble_gap.c:2509] Start Adv
[01-01 01:00:00 ty N][41e5][tuya_ble_svc.c:1386] ble adv updated
auth timeout
SM_DISCONNECTING status=1
>>> mhdr_set_station_status 9
>>> _wifi_station_status_cb 9
RW_EVT_STA_CONNECT_FAILED 9
---------SM_CONNECT_IND_fail
[01-01wpa_supplicant_req plic_scan
Setting scan[reta[retry1] request: 0.100ry1] request: 0.100000 000 sec
sec
wpa_supplicant_scan
wpa_drv_scan
wpa_send_scan_req
>>> mhdr_set_station_status 1
>>> _wifi_station_status_cb 1
ht in scan
scan_start_req_handler
wpa_driver_scan_start_cb
scanu_confirm: status 0, upload_cnt 0, recv_cnt 3, time 204573us, result 0
wpa_driver_scan_cb
Scan completed in 0.202000 seconds
>>> mhdr_set_station_status 2
>>> _wifi_station_status_cb 2
get_scan_rst_null
>>> mhdr_set_station_status 6
>>> _wifi_station_status_cb 6
No suitable network found
wpa_supplicant_req_scan
Setting scan[retry0] request: 5.000000 sec
>>> mhdr_set_station_status_when_reconnect_over 6
>>> _wifi_station_status_cb 6
tkl_wifi_station_connect !!!
Cancelling scan request
sm external auth not in corrent state
>>> mhdr_set_station_status 0
>>> _wifi_station_status_cb 0
wpa_supplicant_req_scan
Setting scan[retry1] request: 0.000000 sec
wpa_supplicant_scan
wpa_drv_scan
wpa_send_scan_req
>>> mhdr_set_station_status 1
>>> _wifi_station_status_cb 1
ht in scan
scan_start_req_handler
wpa_driver_scan_start_cb
scanu_confirm: status 0, upload_cnt 0, recv_cnt 19, time 1326385us, result 0
wpa_driver_scan_cb
Scan completed in 1.322000 seconds
>>> mhdr_set_station_status 2
>>> _wifi_station_status_cb 2
get_scan_rst_null
>>> mhdr_set_station_status 6
>>> _wifi_station_status_cb 6
RW_EVT_STA_CONNECT_FAILED 6
[01-01 01:00:03 ty N][No suitable network fou4nd
nd
wpa_supplicant_req_scan
Setting scan[retry0] request: 5.000000 sec
>>> mhdr_set_station_status_when_reconnect_over 6
>>> _wifi_station_status_cb 6
tkl_wifi_station_connect !!!
Cancelling scan request
sm external auth not in corrent state
>>> mhdr_set_station_status 0
>>> _wifi_station_status_cb 0
wpa_supplicant_req_scan
Setting scan[retry1] request: 0.000000 sec
wpa_supplicant_scan
wpa_drv_scan
wpa_send_scan_req
>>> mhdr_set_station_status 1
>>> _wifi_station_status_cb 1
ht in scan
scan_start_req_handler
wpa_driver_scan_start_cb
scanu_confirm: status 0, upload_cnt 0, recv_cnt 23, time 1326447us, result 0
wpa_driver_scan_cb
Scan completed in 1.322000 seconds
>>> mhdr_set_station_status 2
>>> _wifi_station_status_cb 2
get_scan_rst_null
>>> mhdr_set_station_status 6
>>> _wifi_station_status_cb 6
RW_EVT_STA_CONNECT_FAILED 6
[01-01 01:00:07 ty N][No suitable network fou4nd
nd
wpa_supplicant_
req_scan
Setting scan[retry0] request: 5.000000 sec
>>> mhdr_set_station_status_when_reconnect_over 6
>>> _wifi_station_status_cb 6
tkl_wifi_station_connect !!!
Cancelling scan request
sm external auth not in corrent state
>>> mhdr_set_station_status 0
>>> _wifi_station_status_cb 0
wpa_supplicant_req_scan
Setting scan[retry1] request: 0.000000 sec
wpa_supplicant_scan
wpa_drv_scan
wpa_send_scan_req
>>> mhdr_set_station_status 1
>>> _wifi_station_status_cb 1
ht in scan
scan_start_req_handler
wpa_driver_scan_start_cb
scanu_confirm: status 0, upload_cnt 0, recv_cnt 13, time 1326588us, result 0
wpa_driver_scan_cb
Scan completed in 1.322000 seconds
>>> mhdr_set_station_status 2
>>> _wifi_station_status_cb 2
get_scan_rst_null
>>> mhdr_set_station_status 6
>>> _wifi_station_status_cb 6
RW_EVT_STA_CONNECT_FAILED 6
[01-01 01:00:11 ty N]No suitable network fou[und
nd
wpa_supplicant_req_scan
Setting scan[retry0] request: 5.000000 sec
>>> mhdr_set_station_status_when_reconnect_over 6
>>> _wifi_station_status_cb 6
tkl_wifi_station_connect !!!
Cancelling scan request
sm external auth not in corrent state
>>> mhdr_set_station_status 0
>>> _wifi_station_status_cb 0
wpa_supplicant_req_scan
Setting scan[retry1] request: 0.000000 sec
wpa_supplicant_scan
wpa_drv_scan
wpa_send_scan_req
>>> mhdr_set_station_status 1
>>> _wifi_station_status_cb 1
ht in scan
scan_start_req_handler
wpa_driver_scan_start_cb
scanu_confirm: status 0, upload_cnt 0, recv_cnt 22, time 1326433us, result 0
wpa_driver_scan_cb
Scan completed in 1.322000 seconds
>>> mhdr_set_station_status 2
>>> _wifi_station_status_cb 2
get_scan_rst_null
>>> mhdr_set_station_status 6
>>> _wifi_station_status_cb 6
RW_EVT_STA_CONNECT_FAILED 6
[01-01 01:00:17 tNo suitable network fouyk found
nd
wpa_supplicant_req_scan
Setting scan[retry0] request: 5.000000 sec
>>> mhdr_set_station_status_when_reconnect_over 6
>>> _wifi_station_status_cb 6
tkl_wifi_station_connect !!!
Cancelling scan request
sm external auth not in corrent state
>>> mhdr_set_station_status 0
>>> _wifi_station_status_cb 0
wpa_supplicant_req_scan
Setting scan[retry1] request: 0.000000 sec
wpa_supplicant_scan
wpa_drv_scan
wpa_send_scan_req
>>> mhdr_set_station_status 1
>>> _wifi_station_status_cb 1
ht in scan
scan_start_req_handler
wpa_driver_scan_start_cb
scanu_confirm: status 0, upload_cnt 0, recv_cnt 23, time 1326169us, result 0
wpa_driver_scan_cb
Scan completed in 1.322000 seconds
>>> mhdr_set_station_status 2
>>> _wifi_station_status_cb 2
get_scan_rst_null
>>> mhdr_set_station_status 6
>>> _wifi_station_status_cb 6
RW_EVT_STA_CONNECT_FAILED 6
No suitable network found[01-01 01:00:26 ty N][4
][ta1e5][tal_wifi_recol_wifi_reconnet.c:246] nnet.c:246] wifi statuswifi status changed to  changed to 1, stat: 1
1, stat: 1
wpa_supplic
ant_req_scan
Setting scan[retry0] request: 5.000000 sec
>>> mhdr_set_station_status_when_reconnect_over 6
>>> _wifi_station_status_cb 6
[01-01 01:00:36 ty N][41bd][tal_wifi_reconnet.c:187] wifi reconnet finsh
[01-01 01:00:36 ty N][41bd][tuya_wifi_status.c:167] cur stat:5  0x5e64d -->>
[01-01 01:01:00 ty N][41d3][tuya_wifi_protect.c:1576] device is long time(local:60 cloud:0) offline,stat:3 start wifi backup reconnect
[01-01 01:01:00 ty N][41d3][tuya_wifi_connect.c:455] device is long time(local:60 cloud:0) offline,stat:5 start local reconnect
[01-01 01:01:00 ty N][41d3][tuya_wifi_connect.c:161] reconect func got ssid&passwd , start reconnect
tkl_wifi_station_connect !!!
Cancelling scan request
sm external auth not in corrent state
>>> mhdr_set_station_status 0
>>> _wifi_station_status_cb 0
wpa_supplicant_req_scan
Setting scan[retry1] request: 0.000000 sec
wpa_supplicant_scan
wpa_drv_scan
wpa_send_scan_req
>>> mhdr_set_station_status 1
>>> _wifi_station_status_cb 1
ht in scan
scan_start_req_handler
wpa_driver_scan_start_cb
scanu_confirm: status 0, upload_cnt 0, recv_cnt 13, time 1326383us, result 0
wpa_driver_scan_cb
Scan completed in 1.322000 seconds
>>> mhdr_set_station_status 2
>>> _wifi_station_status_cb 2
get_scan_rst_null
>>> mhdr_set_station_status 6
>>> _wifi_station_status_cb 6
RW_EVT_STA_CONNECT_FAILED 6
[01-01 01:01:02 tyNo suitable network foun  found
d
wpa_supplicant_req_scan
Setting scan[retry0] request: 5.000000 sec
>>> mhdr_set_station_status_when_reconnect_over 6
>>> _wifi_station_status_cb 6
tkl_wifi_station_connect !!!
Cancelling scan request
sm external auth not in corrent state
>>> mhdr_set_station_status 0
>>> _wifi_station_status_cb 0
wpa_supplicant_req_scan
Setting scan[retry1] request: 0.000000 sec
wpa_supplicant_scan
wpa_drv_scan
wpa_send_scan_req
>>> mhdr_set_station_status 1
>>> _wifi_station_status_cb 1
ht in scan
scan_start_req_handler
wpa_driver_scan_start_cb



T1/BK7238 dev board
If you want to run BK7238/T1 code, but don't have any Tuya modules, you can try using NiceMCU XH-WB3S:
https://www.elektroda.com/rtvforum/topic4106397.html

Summary
T1 is a new Tuya WiFi chip based on BK7238 core. T1 can be flashed just like BK7238 with our open source firmware (our multiplatform solution inspired by Tasmota/Esphome) and paired with Home Assistant. Preferred flashing tool is Easy Flasher, but you can also use BKfill if there is some problem. Just remember to make 2MB flash backup first.
Have you encounted any T1 Tuya modules so far? Let us know! We can help you with device setup and integration as well.

About Author
p.kaczmarek2
p.kaczmarek2 wrote 12330 posts with rating 10210 , helped 583 times. Been with us since 2014 year.

Comments

divadiow 02 Aug 2025 15:28

cool. and the first T1 module device is now in the device list ! I am curious about the user's reported issues with Easy Flasher, where there was no problem with BKFIL. I have the same device arriving... [Read more]

p.kaczmarek2 02 Aug 2025 15:38

The main question would be is T1 1:1 the same as BK7238, or just compatible? I don't know yet. What's the state of your shipment? I hope that mine will arrive in the upcoming week. [Read more]

divadiow 02 Aug 2025 15:48

cleared customs yesterday so Monday probably [Read more]

p.kaczmarek2 02 Aug 2025 15:57

Judging from the dates on Tuya T1 pages ( 2024-12-02, etc), it really seems like those T1 and similar modules may become soon popular, and then supersede BK7231N like BK7231N replaced BK7231T... [Read more]

austin007 02 Aug 2025 20:13

WIFI and low power consumption is an oxymoron. BLE, on the other hand, is moderately suitable for IoT. I only use WiFi for streaming or out of laziness/rarely sending packets from and incidentally receiving... [Read more]

p.kaczmarek2 02 Aug 2025 20:22

I'm not deciding here what the manufacturer designed the chip for - officially it says "It is designed for low-power and simple applications." and that's what I was basing it on. And was this "design"... [Read more]

%}