pdf-icon

StackChan

SKU:K151/K151-R

描述

StackChan 是一个超级可爱的 AI 桌面机器人,由 M5Stack 与用户社区共同创造。它使用 M5Stack 旗舰物联网开发套件 CoreS3 作为主机,搭载 ESP32-S3 主控,240 MHz 双核处理器,板载 16MB Flash 和 8MB PSRAM,支持 Wi-Fi 和 BLE。主机还包括 2.0 英寸高强度玻璃盖板电容触控屏、0.3 MP 摄像头、接近与环境光传感器、九轴姿态传感器(加速度 + 陀螺仪 + 地磁)、microSD 卡槽、1W 扬声器、双麦克风、开关机与复位按钮等外设。

与主机相连的机器人身体部分包含了 USB-C 供电与数据接口、550 mAh 电池、两个带反馈的舵机(水平方向 360 度无限旋转、竖直方向 90 度)、2 排共 12 个 RGB LED 灯、红外线发射与接收器、3 区触控板、全功能 NFC 等外设。

出厂固件功能丰富,包括 AI 智能体、生动可爱的表情动作、ESP-NOW 无线遥控、在线应用下载,可以连接手机 app 查看视频、远程分身等,还支持在线更新(OTA)。产品同样支持 Arduino、UiFlow2 等编程方式,可以连接 M5Stack 生态中的多种扩展单元,便于实现各种自定义功能。

感谢 StackChan 社区的贡献者,特别是:

@meganetaaan @mongonta555
Shinya Ishikawa Takao Akaki

教程 & 快速上手

本教程将向你介绍,如何通过 UiFlow2 图形化编程平台控制 StackChan。
本教程介绍如何通过 Arduino IDE 编程控制 StackChan 设备。
介绍 StackChan 出厂固件与手机 app 的绑定、设置,以及各项功能的使用说明。

注意事项

电机安全
当不确定电机是否通电受控时,请勿强行手动用力旋转与电机相连的可转动部件,否则会导致硬件损坏。
动作角度注意
StackChan Y 轴舵机(垂直方向) 的动作角度建议控制在 5 ~ 85°,极限角度下容易出现舵机堵转导致损坏。 X 轴方向无需注意。

产品特性

  • 基于 CoreS3 主机
  • 机器人身体部分
    • USB-C 电源与数据接口
    • 550 mAh 电池
    • 两个带反馈的舵机(水平方向 360 度无限旋转、竖直方向 90 度)
    • 2 排共 12 个 RGB LED 灯
    • 红外线发射与接收器
    • 顶部 3 区触控板
    • 全功能 NFC
  • 开发平台
    • UiFlow2
    • Arduino IDE
    • PlatformIO
    • ESP-IDF

包装内容

StackChan (SKU:K151)

  • 1 x 收纳包或纸盒(取决于所购产品套装)
  • 1 x StackChan 整机(已安装好 CoreS3)
  • 1 x USB Type-C 数据线
  • 1 x 角色表情贴纸
  • 1 x 纸质说明书

StackChan Remote Controller Kit (SKU:K151-R)

  • 1 x 收纳包或纸盒(取决于所购产品套装)
  • 1 x StackChan 整机(已安装好 CoreS3)
  • 1 x 遥控器(由一个 Hat Mini JoyCStickC-Plus 组装而成)
  • 1 x USB Type-C 数据线
  • 1 x 角色表情贴纸
  • 1 x 纸质说明书

应用场景

  • 桌面陪伴
  • AI 智能体
  • 语音问答
  • 智能家居
  • 物联网控制

规格参数

规格 参数
主控 ESP32-S3
Xtensa® 双核 32 位 LX7,240 MHz
16MB Flash,8MB Quad PSRAM
无线连接 2.4 GHz Wi-Fi,IEEE 802.11b/g/n
Bluetooth® 5 LE
红外接收 IRM56384 + 红外发射
有线连接 USB CDC & Full-speed USB OTG
GPIO,UART,I2C
显示屏 2.0 英寸 IPS LCD,分辨率 320*240,65536 色,ILI9342C 驱动
电容多点触控,FT6336U 驱动
摄像头 GC0308,640*480,0.3MP
传感器 双麦克风,ES7210 音频编码芯片
接近与环境光传感器 LTR-553ALS-WA
9 轴 IMU BMI270+BMM150,加速度 + 陀螺仪 + 地磁
3 区触控板,Si12T 驱动
全功能 NFC ST25R3916
人机交互 扬声器 1W,AW88298 16bit I2S 功放芯片
RGB LED WS2812C * 12
开关机和复位按钮
电源指示灯
扩展接口 microSD 卡槽
Grove 接口 * 3
LEGO® 兼容孔
电机 360 度水平舵机带反馈
90 度竖直舵机带反馈
电源 550 mAh 电池
USB-C 电源与数据
电源管理芯片 AXP2101,RTC BM8563
产品尺寸 54.0 x 70.5 x 61.5mm
产品重量 StackChan:187.2g
遥控器:37.6g
包装尺寸 StackChan:142.0 x 101.0 x 58.0mm
StackChan Remote:155.0 x 109.0 x 65.0mm
毛重 StackChan:272.4g
StackChan Remote:372.9g

操作说明

BMM150 磁场干扰
磁铁会干扰 BMM150 地磁传感器,导致读数异常。如果需要通过地磁来计算设备方位,请避免将设备放置在强磁场附近。

开关机

  • 开机:短按一次电源按钮(左侧 USB-C 接口旁边)
  • 关机:长按 6 秒电源按钮(左侧 USB-C 接口旁边)
  • 复位重启:短按一次 RST 复位按钮(下侧 microSD 卡槽旁边)

下载模式

用 USB-C 数据线连接电脑和 StackChan(主机的 USB-C 接口和底座的 USB-C 接口都支持数据传输,但推荐使用底座的接口,以避免电机转动造成意外),长按 3 秒 RST 复位按钮(下侧 microSD 卡槽旁边),按钮旁边的指示灯变为绿色,即进入下载模式,可松开按钮。

原理图

管脚映射

此处主要展示机器人身体部分。关于主机部分,请参考 CoreS3 管脚映射

ESP32-S3 G6 G7 G5 G10 G11 G12
Servo_TX Servo_RX IR_SEND IR_REC I2C_SCL I2C_SDA

IO 扩展芯片

PY32L020 IO1 IO14
VM_EN RGB

I2C 地址: 0x6F (ADD_SEL 低电平,默认)
I2C 地址: 0x71 (ADD_SEL 高电平)

I2C 设备

元件 I2C 地址
电池监控 (INA226AIDGSR) 0x41
NFC (ST25R3916-AQWT) 0x50
触摸 (Si12T,兼容 TSM12) 0x68
IO 扩展 (PY32L020) 默认 0x6F
可配置为 0x71

拓展接口

HY2.0-4P Black Red Yellow White
PORT.A GND 5V G2 G1
PORT.B GND 5V G9 G8
PORT.C GND 5V G17 G18

尺寸图

结构文件

数据手册

软件开发

出厂固件开源地址

  • StackChan - GitHub,包含设备固件、遥控器固件、手机 app、服务器的代码

Arduino

UiFlow2

出厂固件

手机 app 绑定及设置

为了绑定及设置 AI 智能体、使用远程视频等功能,StackChan 需要搭配 StackChan World 手机 app 使用,app 支持 iOS 和 Android 系统。下载地址:

下载安装后,打开 app,登录或注册 M5Stack 账号(与 UiFlow、M5Burner、M5Stack 论坛所用的账号相同)。

将 StackChan 通过底部 USB-C 接口连接电源或短按左侧电源按钮开机,屏幕会显示欢迎页面。点击 Start,将设备放在坚硬稳定的平面上、不接触人手等物体,再次点击 Start 开始舵机检测。StackChan 会依次向左、向右、向上转动,最终回到初始位置 —— 屏幕与底座垂直、居中于两「脚」之间。

舵机检测完成后点击 Next - Next,在手机上打开 app。点击 app 中的 Add a new StackChan,手机会扫描附近待绑定 StackChan 发出的蓝牙绑定请求,展示在列表中。选择与 StackChan 屏幕显示的 ID(即主控的 MAC 地址)相同的设备,按照 app 的提示依次设置以下项目:

  • 设备名称(用于区分同一账号绑定的多个设备)
  • AI 智能体
    • 名称(AI 智能体称呼自己的名字,并非唤醒词 Hi, StackChan,自定义唤醒词功能暂未上线)
    • 对话语言
    • AI 模型
    • 音色、语速、声调
    • 用户语音识别速度
    • 个性
    • 记忆
  • 要连接的 Wi-Fi 名称及密码(支持 2.4GHz、不支持 5GHz,授权后可自动填入手机当前连接的 Wi-Fi 名称)

完成以上设置后,StackChan 会重启,绑定及设置完成。

注意
绑定后,如果在 app 设置中修改了 AI 智能体,需要重启 StackChan 才会生效。

界面导航

开机后屏幕显示主菜单,可以左右横划切换不同功能图标,点击进入。

在各功能中,从屏幕上下边缘向内滑动,可以分别显示状态栏(网络、时间、电量)和回到主菜单的 Home 按键。

AI Agent 智能体

每次进入该功能,会联网检查固件更新,自动下载安装然后重启。默认语音唤醒词为 Hi, StackChan(自定义唤醒词功能暂未上线),也可以点击屏幕唤醒,开始对话。

设备左上方靠近屏幕的一颗 RGB LED 表示语音交互状态:

  • 绿色表示设备正在聆听;
  • 蓝色表示设备正在讲话;
  • 不亮表示语音交互闲置中。

常用的语音指令:

  • 常规问答
    • 现在几点了?
    • 明天深圳天气怎么样?
    • 给我讲个笑话吧。
    • 介绍一下牛顿。
    • 提醒我十分钟后喝水。
  • 控制设备自身部件
    • (扬声器)音量调整到 80%。
    • (电机)向左转头。
    • (RGB LED)把你的自带灯光调成蓝色。
    • (摄像头)你现在看到了什么?
    • (电池)电池电量还有多少?
  • Home Assistant MCP 连接后(连接说明见下文)
    • 打开卧室的灯。
    • 空调打开并调到 25 度。
    • 现在客厅的温度是多少?

在 AI Agent 智能体模式下,设备闲置时会随机做出眨眼等表情、转动头部。在头顶触控区域纵向滑动,可以触发开心🥰表情和动作;摇晃整机,可以触发头晕😵‍💫表情;闲置无交互超过一定时间,会触发睡眠😴表情。

通过 Home Assistant 插件连接 MCP 后,可以实现 AI 智能体语音控制 HA 设备。操作教程当前可参考 https://github.com/c1pher-cn/ha-mcp-for-xiaozhi/blob/main/README.md ,详细教程准备中。

Avatar 手机通信

StackChan 的 Avatar 功能对应手机 app 端的 Avatar 分身、Monitoring Camera 监控摄像头、Motion 移动功能,以及 Dance 跳舞功能的 Wi-Fi 模式。手机端使用及切换这些功能时,StackChan 保持在 Avatar 功能中即可,不需要其他操作。

  • 手机端进入 Avatar 功能,StackChan 会成为你的分身,模仿手机前面人的动作,包括上下左右转头、眼睛和嘴巴的位置和大小。语音通话功能暂未上线。
  • 手机端进入 Monitoring Camera 功能,StackChan 会成为监控摄像头,可以移动屏幕上的摇杆转至各个角度。
  • 手机端进入 Motion 功能,可以控制转动和屏幕表情,其中 rotate 可以实现水平方向连续旋转。
  • 手机端进入 Dance 功能,右上角选择 Network 即 Wi-Fi 模式,可以设置音乐、动作(旋转角度)、灯光颜色,编排 StackChan 的舞蹈。

ESP-NOW Remote 遥控

该功能通过基于 Wi-Fi 的 ESP-NOW 无线传输协议实现遥控功能,StackChan 作为接收端,遥控器或者另一台 StackChan 作为发射端。

StackChan 进入遥控功能后可以简单选择 Receiver 或 Sender 快速进入默认遥控状态,也可以点击 Advanced 后自定义 Wi-Fi Channel 及 Receiver ID。StackChan 作为发射端时,手动旋转头部即可让接收端同步旋转至同样的角度。

遥控器由 StickC-Plus 主控Hat Mini JoyC 摇杆 组成,左侧电源键长按 2 秒开机、长按 6 秒关机,与主控一致。开机后短按右侧小按键 BtnB 切换选中 Wi-Fi Channel 和 Receiver ID 后,上下移动摇杆加减数值;短按正面大按键 BtnA 进入摇杆遥控状态,再按一次进入 IMU 姿态遥控状态,再按一次回到 Wi-Fi Channel 与 Receiver ID 设置。

Wi-Fi Channel 与 Receiver ID 的详细规则:只有处在同一 Wi-Fi Channel 的设备可以通信,不同 Wi-Fi Channel 无法通信。接收端设置的是自己的 ID,而发射端设置的是发射目标的 ID;发射目标 ID 等于 0 时即广播,所有接收端无论 ID 多少都会被控制(接收端 ID 不可设为 0);发射目标 ID 不等于 0 时,只有对应 ID 的接收端会被控制;多个接收端的 ID 可以相同,以实现群组控制。

App Center 应用中心

该功能可以在线下载不同的应用,如水管跳跃小游戏、IMU 稳定器、万能红外学习遥控器等。应用陆续更新中。

EZData

该功能暂未上线。

Dance 跳舞

该功能对应手机 app 中 Dance 功能的 Bluetooth 蓝牙模式,可以设置音乐、动作(旋转角度)、灯光颜色,编排 StackChan 的舞蹈。

Setup 设置

此处为 StackChan 设备端的各项设置,包括 Wi-Fi 网络、屏幕亮度、扬声器音量、时区、舵机校准、RGB 灯条测试、账号解绑、固件更新等。

舵机校准:部分情况下舵机异常可通过此功能重新校准。进入校准界面后,可轻轻手动旋转设备至初始方向,即屏幕与底座垂直、居中于两「脚」之间,然后点击 Set Current Position As Home。接下来验证校准是否生效,轻轻手动旋转设备至非初始方向,然后点击 Move To Home,若设备转回初始方向则校准生效,点击底部的 Done 完成校准过程。

电机安全
手动旋转如果遇到阻力说明此时电机处于通电受控状态,强行手动用力旋转会导致硬件损坏。

固件更新:与每次进入 AI 智能体一样,会联网检查固件更新,自动下载安装然后重启。

手机 app 端设置

手机 app 中的设置包括多设备管理、设备名称、AI 智能体角色、MCP、对话记录、设备解绑等。在 StackChan 设备上操作解绑与在手机 app 上操作解绑效果相同,都会清空 AI 智能体设置、删除对话记录、取消手机 app 连接,重启后即可重新绑定至其他 M5Stack 账号。

恢复出厂固件

如果使用 Arduino、UiFlow 等方式给 StackChan 刷入了自定义程序,或者遇到其他意外情况需要恢复出厂固件,可以通过电脑上的 M5Stack 统一烧录工具 M5Burner:

打开 M5Burner,搜索 StackChan,勾选 Only Official,点击 Download 下载固件的最新版本。

用 USB-C 数据线连接电脑和 StackChan。两个 USB-C 接口都支持数据传输,但建议选择底座上的,避免产品转动造成意外。短按一次电源按钮开机,macOS 上若出现设备连接权限弹窗请点击确认。

在 M5Burner 中点击 Burn,然后选择设备对应的端口。点击 Start,等待进度条走完,完成固件烧录。

如果不确定设备对应哪个端口,可以展开端口列表,断开设备连接并记录消失的端口名称,然后重新连接设备。如果设备对应的端口没有出现,可长按 3 秒 RST 复位按钮,按钮旁边的指示灯变为绿色,设备进入下载模式,然后松开按钮。

异常排查与处理

绑定异常

初次使用时,通过手机 app 配置 StackChan,StackChan 屏幕上已经显示出 ID,手机上点击添加后只显示绑定指引而未出现附近可绑定的设备列表,请检查是否已授予 StackChan World app 蓝牙等权限。授予权限后重试绑定流程通常可以解决问题。

StackChan 连接的 Wi-Fi 网络,只支持 2.4 GHz、不支持 5 GHz,也不支持需要额外登录验证的 Wi-Fi。

网络不畅

如果你的 StackChan 在 AI Agent 模式中,通过「Hi, StackChan」语音唤醒或点击屏幕唤醒,设备顶部 LED 灯中没有绿色亮起(即,没有开始聆听你的语音指令);或者 StackChan 发出的语音断断续续,这通常是网络不畅导致。请更换其他网络重试。

语音唤醒异常

如果你的 StackChan 在 AI Agent 模式中可以点击屏幕唤醒并正常对话,但无法通过「Hi, StackChan」语音唤醒,可参考演示视频中的发音,并靠近 StackChan、增大音量。

小智的绑定与解绑

StackChan 出厂固件的 AI Agent 功能由小智提供,设备也支持其他基于小智的固件。默认固件通过 StackChan World app 配置,而其他固件通常通过 xiaozhi.me 配置。两者并不互通,所以刷入其他基于小智的固件时,需要解绑 StackChan(在 StackChan World app 中操作,或者在 StackChan 出厂固件的设置功能中操作,两者效果相同),否则在 xiaozhi.me 绑定时会遇到异常。反之亦然,如果已经在 xiaozhi.me 上绑定了设备,需要解绑才能在 StackChan World app 中绑定并使用出厂固件。

硬件故障

如果你的 StackChan 出现了疑似硬件故障,比如无法开机、电机转动异常、屏幕显示异常、AI Agent 模式唤醒后亮绿灯但对语音指令没有反应等,请根据实际情况,执行如下测试:

  • 在 StackChan 设备端的设置功能中,执行麦克风、RGB LED 灯、舵机测试。观察麦克风对声音的反应、RGB LED 灯的颜色、点击「Move To Home」后舵机能否从其他位置移动到初始位置;
  • 使用 M5Burner 刷入 CoreS3 UserDemo 的最新版本,执行其中关于 CoreS3 主机各项功能的测试,例如电源测试中的电池电压、USB 电压等信息;
  • 若 StackChan 无法开机,可分别尝试从两个 USB-C 接口供电。若有能力也可以参考操作视频分离主机与身体部分,单独测试主机的功能。

根据实际情况执行以上测试后,可将测试过程、图片视频发送给官方客服寻求帮助。

相关视频

  • StackChan 产品介绍以及功能展示

  • StackChan 使用教程