Skip to content

Latest commit

 

History

History
145 lines (111 loc) · 8.67 KB

devboard.md

File metadata and controls

145 lines (111 loc) · 8.67 KB

Stage A:开发板方案(微雪 ESP32-S3-Touch-AMOLED-1.8)

目标读者:没碰过电烙铁也没关系的软件工程师。本章讲清楚:这块板子内部是怎么连的、 外接喇叭和电池怎么选怎么接、装外壳前要注意什么。

⚠️ 诚实声明:本章的接口/引脚描述以微雪 wiki 的官方原理图为最终依据。 板卡存在批次差异,动手前请务必下载你手上批次对应的原理图核对; 本文不臆造引脚级细节,凡需要你核对的地方都有【核对】标记。

1. 硬件框图

                          ┌────────────────────────────────────────────┐
                          │        ESP32-S3R8 (16MB Flash / 8MB PSRAM)  │
                          │  Wi-Fi 2.4G + BLE5   双核 LX7 @240MHz       │
                          └──┬──────┬──────┬──────┬──────┬─────────┬───┘
                     QSPI ───┘      │I2S   │I2C 总线      │USB      │GPIO
                          ▼         ▼      ▼             ▼         ▼
                   ┌───────────┐ ┌──────────┐  ┌──────────────┐ ┌───────┐
                   │ SH8601    │ │ ES8311   │  │ FT3168 触摸   │ │ BOOT  │
                   │ AMOLED    │ │ codec    │  │ QMI8658 IMU  │ │ 按键   │
                   │ 368x448   │ │  │   │   │  │ AXP2101 PMU  │ │ USB-C │
                   └───────────┘ │  │   │   │  │ PCF85063 RTC │ └───────┘
                                 ▼  ▼   ▼   │  └──────┬───────┘
                            MEMS麦 功放 喇叭│         │
                                        接口│         ▼
                                            │   锂电池接口 (1.25mm)
                                            │   充电/电量计/软开关机

要点:

  • 一条 I2C 总线挂了 4 个从机(触摸/IMU/PMU/RTC),固件里它们共享总线互斥锁; 你写 JS 不用关心,但打自定义板时要记得这个模式(见 custom-pcb.md)。
  • 屏幕走 QSPI 而不是常见的 SPI:4 根数据线并行,刷 368×448 RGB565 全屏才够帧率。
  • 音频链路:MEMS 麦 → ES8311 ADC → I2S → S3;S3 → I2S → ES8311 DAC → 板载功放 → 喇叭接口。 录音和放音共用一颗 codec,这是"能对话"的硬件基础。
  • AXP2101 PMU 负责锂电充电、电量计、多路电源轨,还提供长按开关机(具体键位【核对】wiki)。

2. 关键器件说明(为什么是它们)

器件 作用 软件工程师视角
ESP32-S3R8 主控,R8 表示封装内叠了 8MB Octal PSRAM PSRAM 是"慢一点的大内存",帧缓冲、JS 堆(4MB)都放这里;内部 SRAM 才 512KB,别指望
SH8601 AMOLED 驱动 IC AMOLED 黑色像素不发光 → 像素风 UI 黑底既省电又好看;注意烧屏,长期静止画面要做防烧屏(固件/应用层处理)
FT3168 电容触摸 IC 提供 down/move/up 坐标,px.input.onTouch 的来源
ES8311 单声道音频 codec(ADC+DAC) 一颗芯片同时管"听"和"说",16kHz 语音够用;px.audio 全部 API 的硬件承载
QMI8658 6 轴 IMU 摇一摇/姿态检测;采样率固件里配置
AXP2101 电源管理(PMU) 类比手机的 PMIC:充电曲线、电量百分比(px.system.battery())、各路电压都归它
PCF85063 RTC 实时时钟 断电靠电池走时,配合 NTP 校时

3. 外接喇叭:选型与焊接

3.1 选型

板载功放输出适配小功率喇叭。推荐规格:

参数 推荐值 说明
阻抗 8Ω 【核对】微雪 wiki 标注的功放规格;8Ω 是这类板子的普遍适配值
功率 1W(最大 2W) 桌面距离足够响;功率大了功放推不动也浪费体积
形态 腔体喇叭(带塑料后腔) 强烈推荐!裸喇叭单元没有腔体,低频薄、音量小;常见型号如"2030 腔体喇叭"(20×30mm)或 "3020"/"2818",按外壳空间选
接口 焊线,或自带 1.25mm 插头 部分微雪套餐带喇叭免焊【核对】商品页;若板上是 1.25mm 喇叭座,买"带 MX1.25 端子线的腔体喇叭"可免焊
渠道 淘宝搜"腔体喇叭 8欧 1W" 单价约 ¥3~15(估算)

3.2 焊接(若板子是焊盘出线)

没焊过也能一次成功,总共两个点:

  1. 工具:任意 60W 内温控烙铁(约 ¥50~100)、含铅焊锡丝(0.8mm,新手比无铅好焊)、松香或助焊笔。
  2. 烙铁 320~350℃,先给板上 SPK+ / SPK- 两个焊盘各上一点锡(镀锡)。
  3. 喇叭线剥线 2~3mm,线头镀锡。
  4. 线头搭在焊盘上,烙铁按住 1~2 秒熔合,移开烙铁保持不动等凝固。
  5. 极性:喇叭有 +/- 丝印,尽量对应板上 SPK+/SPK-。接反不会烧(单喇叭只是相位反转,听不出差别),不必紧张。

常见翻车:烙铁温度不够 + 停留太久 → 焊盘脱落。宁可温度高一点、动作快一点。

3.3 验证

px.audio.setVolume(70);
px.audio.player.tone(880, 300);   // 能听到"哔"就通了

4. 电池:选型与极性警告

4.1 选型

参数 推荐 说明
类型 3.7V 锂聚合物(LiPo)软包,必须带保护板(商品页写"带保护板/protection") 保护板防过充过放短路,没有它裸电芯很危险
容量 1000~1500mAh AMOLED + Wi-Fi + 语音,1000mAh 大约能撑数小时(实测为准);容量越大越厚,先量外壳空间
尺寸 按型号数字读:如 603450 = 厚6.0×宽34×长50mm 先定外壳内腔再买电池(见 enclosure.md 尺寸链)
插头 1.25mm 间距插头(商家常标 "MX1.25 / PH1.25 / 51021") 【核对】板上电池座的实际型号以微雪 wiki 为准
渠道 淘宝搜"3.7V 锂电池 1.25插头 带保护板 603450" 约 ¥15~30(估算)

4.2 ⚠️ 极性警告(本章最重要的一段)

淘宝购买的电池,插头线序没有行业标准,红黑线接反的概率真实存在。接反瞬间可能烧毁 PMU 甚至电芯起火。

上电前必须做:

  1. 看板上电池座旁的 + / - 丝印(或查原理图),确认哪个孔位是正极。
  2. 万用表直流电压档测电池插头:红表笔碰红线端子、黑表笔碰黑线端子,读数应为 +3.7V 左右; 若是 -3.7V 说明你对线序的假设反了。
  3. 比对 1 和 2:电池红线(正极)必须对应板上 + 孔位。不对应就不要插!
  4. 线序不对的处理:用镊子挑起插头上的塑料卡扣,抽出两根端子对调重插(比剪线重焊安全)。

没有万用表?一只几十元的表是玩硬件的第一件工具,先买它再买电池。

4.3 验证

插上电池、拔掉 USB,设备应继续运行;px.system.battery() 能读到电量与电压; 插回 USB 后 charging 应为 true。

5. 天线注意事项

板载天线(PCB/陶瓷天线)对周围环境极其敏感:

  • 金属是天敌:外壳不要用金属;电池、喇叭的金属体尽量离天线区 ≥ 5mm; 天线正上方/正下方不要压任何金属和大块 PCB(装配堆叠时注意)。
  • 外壳塑料贴着天线一般没问题(FDM/树脂均可),但不要在天线区喷金属漆/贴铜箔贴纸。
  • 摆放:天线朝外/朝上,信号明显更好;若 Wi-Fi RSSI 比手机在同位置差 20dB 以上, 先检查是不是外壳里的电池片/喇叭磁铁盖住了天线。
  • BLE 与 Wi-Fi 共用这根天线(分时),固件已处理共存,应用层无需关心。

6. 散热注意事项

  • 正常负载(动画 + Wi-Fi)整板功耗约 1W 量级,S3 会温热(40~60℃),属正常; px.system.temperature() 可读芯片温度。
  • 语音对话(Wi-Fi 收发 + 功放)是发热峰值场景。封闭外壳建议:
    • 在底部与背部开一排通风孔(和透声孔阵列可以合并设计,见 enclosure.md);
    • 电池不要与 S3 芯片正面贴合,中间留 ≥ 2mm 空气层或垫泡棉——锂电池怕热, 长期 >45℃ 会加速鼓包。
  • AMOLED 本身发热小,但也怕高温烘烤,别把它和电池夹在一起。
  • 不需要风扇/散热片,这个功耗级别设计好通风即可。

7. 装配前 checklist

  • 裸板先跑通 getting-started 全流程(烧录/热更新/语音),再装外壳——装壳后返修麻烦十倍。
  • 喇叭 tone 测试通过。
  • 电池极性用万用表验证,充放电正常。
  • 记住 BOOT/RESET 键位置,外壳要给它们留孔或顶针(救砖必用)。
  • USB-C 口留孔位置量准(见 enclosure.md 尺寸链章节)。
  • 天线区(【核对】原理图上标注位置)周围无金属。