pdf-icon

StackChan/StackChan Remote Kit

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 社区的贡献者,特别是:

@stack_chan @mongonta555
Shinya Ishikawa Takao Akaki

注意事项

电机安全
当不确定电机是否通电受控时,请勿强行手动用力旋转与电机相连的可转动部件,否则会导致硬件损坏。

教程 & 快速上手

介绍 StackChan 出厂固件与手机 app 的绑定、设置,以及各项功能的使用说明。

产品特性

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

包装内容

  • 1 x 收纳包或纸盒(取决于所购产品套装)
  • 1 x StackChan 整机(已安装好 CoreS3)
  • 1 x 50cm USB-A to USB-C 数据线
  • 1 x 遥控器(取决于所购产品套装是否包含遥控器)
  • 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.0g
遥控器:37.6g
包装尺寸 StackChan:142.0 x 101.0 x 58.0mm
StackChan Remote Kit:155.0 x 109.0 x 65.0mm
毛重 StackChan:272.4g
StackChan Remote Kit: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

尺寸图

3D

(准备中)

数据手册

软件开发

出厂固件开源地址

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

Arduino

UiFlow2

出厂固件

版本说明
本教程对应出厂固件 V1.2.3 版本、iOS 和 Android app 1.1.1 版本。固件和手机 app 低于此版本无法使用,敬请谅解。

手机 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 复位按钮,按钮旁边的指示灯变为绿色,设备进入下载模式,然后松开按钮。