White screen after flashing 1.4.0 XiaoZhi firmware on SF32LB52Nano N16R16 via UI

Using the 1.85-inch AMOLED screen that comes with the kit

The firmware selected for flashing is SF32LB52-DevKit-Nano: sf32lb52-nano_52j.zip

Then here is the log of the re-flashing

[23:45:22] System ready
[00:10:02] Read task removed
[01:03:20] Detected file drag into window
[01:03:21] Detected file drag release
[01:03:21] Parsing result: 1 file path detected
[01:03:21] Processing file: sftool_param.json (path: D:\SF\Datasheet\sf32lb52-nano_52j\sftool_param.json)
[01:03:21] Detected sftool configuration file
[01:03:21] Parsing configuration file…
[01:03:21] Configuration file parsed successfully
[01:03:21] Extracted 6 files from configuration file
[01:03:21] Selected files: 6 files added by drag and drop
[01:03:21] - bootloader.bin (56.4 KB)
[01:03:21] - ER_IROM3.bin (3.9 MB)
[01:03:21] - ER_IROM1.bin (1.9 MB)
[01:03:21] - ER_IROM2.bin (3.8 MB)
[01:03:21] - dfu_pan.bin (1.4 MB)
[01:03:21] - ftab.bin (11 KB)
[01:04:30] [Connect] Connecting device
[01:04:30] [Connect] Done
[01:04:30] [Download Stub] Downloading Stub (start)
[01:04:32] [Download Stub] Done
[01:05:04] Starting flash session
[01:05:04] Starting flash…
[01:05:04] Preparing to flash 6 files…
[01:05:04] Verifying file…: bootloader.bin
[01:05:04] Verifying file…: ER_IROM3.bin
[01:05:04] Verifying file…: ER_IROM1.bin
[01:05:04] Verifying file…: ER_IROM2.bin
[01:05:04] Verifying file…: dfu_pan.bin
[01:05:04] Verifying file…: ftab.bin
[01:05:04] All files verified, starting flash process…
[01:05:04] [Check] Checking re-download @ 0x12208000 (56.4 KB)
[01:05:04] [Check] Skipped
[01:05:04] [Check] Checking re-download @ 0x12460000 (3.9 MB)
[01:05:05] [Check] Skipped
[01:05:05] [Check] Checking re-download @ 0x12218000 (1.9 MB)
[01:05:05] [Check] Skipped
[01:05:05] [Check] Checking re-download @ 0x12AE0000 (3.8 MB)
[01:05:05] [Check] Skipped
[01:05:05] [Check] Checking re-download @ 0x12008000 (1.4 MB)
[01:05:06] [Check] Skipped
[01:05:06] [Check] Checking re-download @ 0x12000000 (11 KB)
[01:05:06] [Check] Skipped
[01:05:06] Flash complete!
[01:05:06] Flash session ended

After that, I used the SiFli-SDK-CodeKit plugin in VScode, long-pressed the reset button, and checked the output. It showed the battery level as zero.

SFBL
Serial:c2,Chip:4,Package:6,Rev:f Reason:00000000
Serial PowerOnMOde:0 rtc_record:00000000

\ | /

  • SiFli Corporation
    / | \ build on Dec 31 2025, 2.4.0 build 0d2de148
    2020 - 2022 Copyright by SiFli team
    mount /dev sucess
    lwIP-2.1.2 initialized!
    [I/FAL] Flash Abstraction Layer (V0.5.99) initialize success.
    [I/FAL] The FAL MTD NOR device (dfu) created successfully
    [I/FAL] The FAL MTD NOR device (ble) created successfully
    [387] I/drv.rtc main: PSCLR=0x23565900 DivAI=35 DivAF=5526 B=256
    [395] I/drv.rtc main: RC10K Freq=9kHz, cycle=1061200, rtc ppm=0

[403] I/drv.rtc main: DIVA=35, DIVA_FRA=5527, DIVB=256

[410] I/drv.rtc main: Init RTC, wake = 1

[418] I/drv.audprc main: init 00 ADC_PATH_CFG0 0x606

[425] I/drv.audprc main: HAL_AUDPRC_Init res 0

[431] I/drv.audcodec main: HAL_AUDCODEC_Init res 0

[438] I/TOUCH main: Regist touch screen driver, probe=0x1226f4f9
[446] I/drv.rgb main: rgbled register success, supporting 1 LEDs
[455] I/drv.epic main: drv_gpu opened.
call par CFG1(3313)
fc 9, xtal 2000, pll 2105
call par CFG1(3313)
fc 7, xtal 2000, pll 1691
[508] I/audio audiosvr: audio server run
[514] I/audio bt_downv: audio_btdownlink run
msh />[pm]S:3,525
[pm]W:3236
[pm]WSR:0x4
ch[7]voltage=7651;
[3440] D/battery main: Current status: Discharging
Boot battery check: 0%, charging: 0
Low battery, entering low battery shutdown procedure, current battery level is 0%
[3457] I/drv.lcd main: [NONE] → [OPENING]
[3464] I/drv.lcd lcd_task: open
[3468] I/drv.lcd lcd_task: HW open
[3477] I/drv.lcd lcd_task: Try registered LCD driver…

CO5300_ReadID 0x331100
[4119] I/co5300 lcd_task: LCD module use CO5300 IC

CO5300_ReadID 0x331100
[5846] I/co5300 lcd_task: LCD module use CO5300 IC

[5853] I/drv.lcd lcd_task: Found lcd co5300 id:331100h
[5860] I/drv.lcd lcd_task: HW open done.
[5865] I/drv.lcd lcd_task: [OPENING] → [INITIALIZED]
[5871] I/drv.lcd lcd_task: open done.
[5876] I/drv.lcd lcd_task: set brightness 50
[5882] I/drv.lcd lcd_task: display on
[5887] I/drv.lcd lcd_task: [INITIALIZED] → [ON]
[5893] I/drv.lcd main: [ON] → [OFF_PENDING]
[5899] I/drv.lcd lcd_task: close
[5904] I/drv.epic lcd_task: drv_gpu closed.
[5909] I/drv.lcd lcd_task: display off
[5914] I/drv.lcd lcd_task: [OFF_PENDING] → [OFF]
[5920] I/drv.lcd lcd_task: HW close
[5925] I/drv.lcd lcd_task: HW close done.
[5930] I/drv.lcd lcd_task: close done.
xiaozhi_ui_task start
[5940] I/drv.lcd xz_ui: [OFF] → [OPENING]
[5945] I/drv.lcd lcd_task: open
[5950] I/drv.epic lcd_task: drv_gpu opened.
[5955] I/drv.lcd lcd_task: HW open
[5964] I/drv.lcd lcd_task: Init LCD co5300

CO5300_ReadID 0x331100
[6606] I/co5300 lcd_task: LCD module use CO5300 IC

[8330] I/drv.lcd lcd_task: HW open done.
[8335] I/drv.lcd lcd_task: [OPENING] → [INITIALIZED]
[8342] I/drv.lcd lcd_task: open done.
[8371] I/drv.lcd_fb xz_ui: drv_lcd_fb_init
[8378] I/drv.lcd_fb xz_ui: drv_lcd_fb_init done.
[8385] I/TOUCH xz_ui: Open
[8390] I/TOUCH tp_init: Find touch screen driver…
[8396] I/TOUCH tp_init: Probe 1226f4f9
[8402] I/TOUCH tp_init: touch screen found driver 0x2001a0e4, ft6146
[8410] I/TOUCH xz_ui: Opened.
[8415] I/LVGL xz_ui: [littlevgl2rtt] Welcome to the littlevgl2rtt lib.
Low battery mode: simplified UI task initialization
Low battery mode: skipping normal UI initialization
[8636] I/drv.lcd lcd_task: Auto turn on display.
[8642] I/drv.lcd lcd_task: set brightness 50
[8648] I/drv.lcd lcd_task: display on
[8653] I/drv.lcd lcd_task: [INITIALIZED] → [ON]
[9174] E/drv.ft6146 tp_init: ft6146 id_H=64
[9181] E/drv.ft6146 tp_init: ft6146 id_L=56
Low battery warning image displayed, 3 seconds to shutdown
Low battery warning timeout, shutting down
[pm]S:3,69767
[pm]W:70678
[pm]WSR:0x4
PowerDownCustom
PowerDownCustom2

Is it a problem with my computer’s USB power supply? :face_with_monocle: , flashing shows success.

Looking at the log, it’s the normal low-voltage detection shutdown. The reason is that no battery is connected. However, the nano board seems to have no battery connector for now. I compiled a version without low-voltage shutdown here. Download and try it.
52j.7z (6.2 MB)

1 Like

Success, the new firmware no longer shuts down due to low battery, and it now displays normally.