logo elektroda
logo elektroda
X
logo elektroda

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

p.kaczmarek2 90 4
ADVERTISEMENT
📢 Listen (AI):
  • T1, T1-M, T1-3S Tuya BK7238 module datasheet, pinout and flashing, Home Assistant
    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:
    T1, T1-M, T1-3S Tuya BK7238 module datasheet, pinout and flashing, Home Assistant
    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:
    T1, T1-M, T1-3S Tuya BK7238 module datasheet, pinout and flashing, Home Assistant
    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:
    T1, T1-M, T1-3S Tuya BK7238 module datasheet, pinout and flashing, Home Assistant

    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.
    T1, T1-M, T1-3S Tuya BK7238 module datasheet, pinout and flashing, Home Assistant T1, T1-M, T1-3S Tuya BK7238 module datasheet, pinout and flashing, Home Assistant
    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.
    T1, T1-M, T1-3S Tuya BK7238 module datasheet, pinout and flashing, Home Assistant
    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.
    T1, T1-M, T1-3S Tuya BK7238 module datasheet, pinout and flashing, Home Assistant
    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.
    T1, T1-M, T1-3S Tuya BK7238 module datasheet, pinout and flashing, Home Assistant
    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.

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 12323 posts with rating 10209, helped 583 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • #2 21623974
    divadiow
    Level 35  
    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 in a couple of days so can try Easy Flasher myself. EF hasn't skipped a beat with other BK7238s like that NiceMCU XH-WB3S, the DX-Smart DX-WF24A and SurpLife SPI LED controller.
  • ADVERTISEMENT
  • #3 21623982
    p.kaczmarek2
    Moderator Smart Home
    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.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #4 21623992
    divadiow
    Level 35  
    cleared customs yesterday so Monday probably
  • #5 21623995
    p.kaczmarek2
    Moderator Smart Home
    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...
    Helpful post? Buy me a coffee.
📢 Listen (AI):
ADVERTISEMENT