跳到主要内容

NM-EPD-420 快速入门

本指南介绍如何在 NM-EPD-420 开发板上运行工厂测试固件,相关代码位于 GitHub 仓库中。

固件功能

工厂测试固件按固定顺序(T0–T11)检测每一个板载外设,每一步都在电子墨水屏上显示结果页面,操作员可通过 USERBOOT 按键确认或拒绝每一步。最后在单页摘要中列出所有测试项的 PASS / FAIL / SKIP 状态。

  • 上电初始化所有外设驱动
  • 顺序执行 10 项硬件测试
  • 在三色电子纸面板上为每项测试渲染专用页面
  • 通过 ES8311 编解码器播放音频和贝多芬《欢乐颂》
  • 通过 LMD4737 DMIC 录制短语音并计算 RMS 值
  • 探测 I2C 设备、扫描 Wi-Fi、挂载 SD 卡、与 LoRa 模组通信
  • 在电子墨水屏上打印结构化摘要,同时在串口输出机器可解析的结果

完整运行一次约需 3 分钟,主要耗时来自电子纸全刷新(三色面板每页约 10 秒)。

测试序列

测试项目说明屏幕
T0系统启动串口/EPD 初始化,欢迎页面,等待 USERT0
T1EPD 显示全白/全黑/全红 + 文本演示
T2WS2812 RGB LED红→绿→蓝→白循环T2
T3按键USER 和 BOOT 按键检测
T4ES8311 编解码器500/1k/2k/3k Hz 扫频 + 《欢乐颂》T4
T5DMIC 麦克风录音 + 扬声器回环 + RMS 校验T5
T6AHT20 传感器I2C 读取温湿度T6
T7电池 ADC分压电压检测(未安装时 SKIP)
T8Wi-Fi 扫描2.4 GHz AP 扫描,期望 ≥ 1 个网络T8
T9SD 卡读写FSPI 挂载 + 写入/回读校验T9
T10LoRa SPI 总线复位模组,检查 BUSY 低电平
T11摘要每项 PASS/FAIL/SKIP 汇总T11

操作流程

上电


┌─────────────┐
│ T0 欢迎页面 │ ──► 按 USER
└─────────────┘


┌─────────────┐
│ T1 – T10 │
│ 每一项: │
│ 显示页面 │
│ 运行硬件 │
│ USER = 通过
│ BOOT = 失败
└─────────────┘


┌─────────────┐
│ T11 摘要页 │ ──► 停机;重新上电以再次测试
└─────────────┘

按键经过消抖处理(5–10 ms 采样),并与 EPD BUSY 信号互锁,确保在刷新期间的按键不会被误记为下一项的判定。

编译与烧录

前置要求:PlatformIO Core(或 VS Code + PlatformIO 扩展)。

# 克隆仓库后,在项目根目录执行:
$env:IDF_GITHUB_ASSETS = "dl.espressif.cn/github_assets" # 可选,国内镜像
pio run # 编译
pio run --target upload --upload-port COM38 # 烧录
pio device monitor --baud 115200 # 串口监视

或通过 VS Code 任务一键执行:

  • Build (nm-epd-420)
  • Upload (nm-epd-420)

首次编译会下载 ESP-IDF 工具链(约数百 MB)到 %USERPROFILE%\.platformio。后续编译约 25 秒。

串口输出示例

[FACTORY TEST] Board: NM Display 4.2 Inch
[FACTORY TEST] FW: v1.3.10
[FACTORY TEST] T0 - System startup OK
...
[FACTORY TEST] T1 START - EPD Display
[T1] Round 1/4 - Filling screen WHITE ...
[T1] BUSY self-check: sawHigh=1 highMs=2873
...
[FACTORY TEST] ===== SUMMARY =====
[FACTORY TEST] T1 EPD Display [PASS]
[FACTORY TEST] T2 WS2812 RGB LED [PASS]
...
[FACTORY TEST] Overall: FACTORY_TEST=OK

故障排除

问题解决方案
T1 显示 sawHigh=0检查 BUSY 引脚接线(开路、虚焊、GPIO 错误)
移植后 EPD 异常查看 src/ui/display_helper.h 中的 Display::resync()
T4 无声音确认 PIN_PA_CTRL 为高电平且外部功放已使能
T9 SD 卡失败确保 HSPI 引脚(7–11)未被其他功能占用
T8 Wi-Fi 扫描为空靠近 AP 或检查天线连接

参考