Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 02:12
· 30 commits to main since this release

Flashing

The app only (keeps your Wi-Fi, your server address and your robot's
factory servo calibration — all of which live in NVS):

esptool --chip esp32s3 -p PORT write-flash 0x20000 xiaozhi.bin

Everything, for a robot that has never run this firmware:

esptool --chip esp32s3 -p PORT write-flash \
  0x0 bootloader.bin \
  0x8000 partition-table.bin \
  0xd000 ota_data_initial.bin \
  0x20000 xiaozhi.bin \
  0x800000 generated_assets.bin

🔴 stackchan-local-llm-merged.bin is not the same thing. It is one
image written at 0x0, and it erases NVS — your Wi-Fi, your server
address, and your robot's factory servo calibration, which is unique
to your unit and cannot be recovered. Use it only for a deliberate clean
slate. The commands above, and the browser flasher, leave NVS alone.

🔴 Back up your factory firmware first. M5Stack do not publish it, so
without a backup "put it back" stops being an option you have. See
the quickstart.

After flashing

This binary does not know where your server is, deliberately — it ships
pointing at an address that cannot resolve. Until you tell it otherwise the
log says no server configured and the robot talks to nobody.

A robot with no Wi-Fi saved serves a setup network called
StackChan-XXXX: join it, give it your Wi-Fi, and put your server address
under Advanced → Custom OTA URL.

A robot you declined the erase on keeps its Wi-Fi, so it reconnects and
never offers that network. Set the address by holding a finger on his screen
for five seconds instead — which is also how you change it later.

Full Changelog: v0.2.0...v0.3.0