Activating ESP-IDF 5.5
Setting IDF_PATH to '/home/lighthouse/esp32-dev/.cache/esp-idf-v5.5.4'.
* Checking python version ... 3.11.6
* Checking python dependencies ... OK
* Deactivating the current ESP-IDF environment (if any) ... OK
* Establishing a new ESP-IDF environment ... OK
* Identifying shell ... bash
* Detecting outdated tools in system ... OK - no outdated tools found
* Shell completion ... Autocompletion code generated
Executing action: all (aliases: build)
Running ninja in directory /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/firmware/build
Executing "ninja all"...
[1/10] Performing build step for 'bootloader'
[1/1] cd /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/firmware/build/bootloader/esp-idf/esptool_py && /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/.cache/espressif/python_env/idf5.5_py3.11_env/bin/python /home/lighthouse/esp32-dev/.cache/esp-idf-v5.5.4/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/firmware/build/bootloader/bootloader.bin
Bootloader binary size 0x5160 bytes. 0x2ea0 bytes (36%) free.
[2/10] No install step for 'bootloader'
[3/10] Completed 'bootloader'
[4/10] Building CXX object esp-idf/main/CMakeFiles/__idf_main.dir/wifi_manager.cpp.obj
[5/10] Building CXX object esp-idf/main/CMakeFiles/__idf_main.dir/cloud_client.cpp.obj
[6/10] Linking C static library esp-idf/main/libmain.a
[7/10] Generating esp-idf/esp_system/ld/sections.ld
[8/10] Linking CXX executable device_lab.elf
[9/10] Generating binary image from built executable
esptool.py v4.12.0
Creating esp32s3 image...
Merged 2 ELF sections
Successfully created esp32s3 image.
Generated /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/firmware/build/device_lab.bin
[10/10] cd /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/firmware/build/esp-idf/esptool_py && /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/.cache/espressif/python_env/idf5.5_py3.11_env/bin/python /home/lighthouse/esp32-dev/.cache/esp-idf-v5.5.4/components/partition_table/check_sizes.py --offset 0x8000 partition --type app /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/firmware/build/partition_table/partition-table.bin /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/firmware/build/device_lab.bin
device_lab.bin binary size 0x31e550 bytes. Smallest app partition is 0x400000 bytes. 0xe1ab0 bytes (22%) free.

Project build complete. To flash, run:
 idf.py flash
or
 idf.py -p PORT flash
or
 python -m esptool --chip esp32s3 -b 460800 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 16MB --flash_freq 80m 0x0 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/device_lab.bin
or from the "/home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/firmware/build" directory
 python -m esptool --chip esp32s3 -b 460800 --before default_reset --after hard_reset write_flash "@flash_args"
CjkSc24 linked coverage PASS (glyphs=5000, GB2312 Level 1=3755/3755, 中 U+4E2D=yes, 这 U+8FD9=yes)
CjkSc28 linked coverage PASS (glyphs=5000, GB2312 Level 1=3755/3755, 中 U+4E2D=yes, 这 U+8FD9=yes)
esptool.py v4.12.0
SHA digest in image updated
Wrote 0x32e550 bytes to file /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/dist/m5stack-stopwatch/merged-flash.bin, ready to flash to offset 0x0
M5PM1 board/driver ABI PASS: 260 bytes, all 45 member offsets match
M5IOE1 board/driver ABI PASS: 428 bytes, all 34 member offsets match
PMIC/IOE linked allocations do not overlap PASS
Firmware artifacts: /home/lighthouse/esp32-dev/.cache/speech-playback-diagnostics-20261006/dist/m5stack-stopwatch
