概要:本车大脑是插在驱动板上的 ESP32-C3 SuperMini。出厂通常没有 MicroPython,需先烧录固件,再用 Thonny 编写 / 运行 Python。
核心能力:认识板卡、安装工具、烧录固件、连接 REPL · 可见结果:Shell 出现 >>>,能执行 print("Hello, PiCar")
本章资料目录:
code/chapter-01/
hello.py— 烧录成功后的第一段程序flash_notes.txt— 烧录步骤速查esptool_flash_example.sh— 命令行烧录示例(可选)
学习目标
- 认识 ESP32-C3 SuperMini:USB-C、BOOT / RESET、与驱动板的插接关系。
- 理解「烧录固件」与「运行 .py 程序」是两件事。
- 安装并配置 Thonny,用其烧录 MicroPython 固件。
- (可选)了解用
esptool命令行烧录同一份 image。 - 烧录后成功打开 REPL,运行
hello.py。
1. 认识 ESP32-C3 SuperMini
| 项目 | 说明 |
|---|---|
| 芯片 | ESP32-C3(RISC-V),内置 WiFi / BLE |
| 开发板 | ESP32-C3 SuperMini,原生 USB-C(USB Serial-JTAG) |
| 常用按键 | BOOT(进下载模式)、RESET(复位) |
| 本项目用法 | 插在驱动板 1×8×2 排母上,由板子供电并引出 GPIO |
| 推荐固件 | MicroPython ESP32_GENERIC_C3(课堂常用 v1.27.0;亦可用 Thonny 安装的稳定版) |
调试上电:优先 先插 USB 到电脑,再开电池;枚举异常时短按 RESET。数据线须支持数据传输(不能是「只能充电」的线)。
2. 编程用什么工具:Thonny
本课程推荐 Thonny(https://thonny.org/):面向初学者的 Python IDE,内置 MicroPython 支持,可完成:
- 烧录 / 更新 MicroPython 固件(底层调用 esptool)
- 打开板载 Shell(REPL),即时执行代码
- 把
.py文件保存到板子 Flash(可作main.py开机自启) - 查看板子上的文件列表、停止正在运行的程序
安装与基本配置
- 从官网下载并安装 Thonny(Windows / macOS / Linux)。
- 用 USB-C 连接 C3 到电脑;确认系统出现串口(macOS 常见
/dev/cu.usbmodem*,Windows 为COMx)。 - 打开 Thonny → 工具 → 选项 → 解释器(Tools → Options → Interpreter)。
- 解释器选 MicroPython (ESP32),端口选刚出现的 C3 串口。
若列表中没有端口:换数据线 / USB 口;按住 BOOT 再点一下 RESET 后松开 BOOT,再刷新端口列表。
3. 如何烧录 MicroPython 固件(image)
「固件 / image」是板子上的 MicroPython 运行时(如 ESP32_GENERIC_C3-….bin)。没有它,就不能直接用 Python 写小车程序。
方法 A(推荐课堂):用 Thonny 一键烧录
- C3 已用 USB 连接到电脑,Thonny 解释器已选 MicroPython (ESP32) 与正确端口。
- 在解释器设置页点击链接:Install or update MicroPython (esptool)。
- 在弹出窗口中设置:
- 端口:你的 C3
- MicroPython family / 系列:选择 ESP32-C3(不要选成经典 ESP32)
- Variant / 变体:generic / ESP32_GENERIC_C3(名称以 Thonny 列表为准)
- Version:建议选稳定版;本项目文档常用 v1.27.0
- (部分板子)点击 Install 后若提示进下载模式:按住 BOOT,点一下 RESET,再松开 BOOT。
- 等待进度条完成,出现 Done!。关闭窗口。
- 若端口号变化,在右下角重新选择端口,点击「停止 / 重启后端」,Shell 应出现 MicroPython 横幅与
>>>。
方法 B(可选):命令行 esptool
适合已下载 .bin 文件、或 Thonny 在线拉固件失败时。固件来源:官方下载页(搜索 ESP32_GENERIC_C3 / micropython.org download)。
# macOS 示例端口,请改成自己的
PORT=/dev/cu.usbmodem101
# 进入下载模式:按住 BOOT → 点一下 RESET → 松开 BOOT
esptool.py --chip esp32c3 --port $PORT erase_flash
esptool.py --chip esp32c3 --port $PORT --baud 460800 \
write_flash 0 ESP32_GENERIC_C3-v1.27.0.bin
# 烧完短按 RESET,再在 Thonny 连接 REPL
示例脚本见 esptool_flash_example.sh。
烧录成功如何判断
| 检查项 | 正常现象 |
|---|---|
| Thonny Shell | 显示 MicroPython 版本、芯片信息,提示符 >>> |
| 交互执行 | 输入 print(1+1) 回车,输出 2 |
| 文件视图 | 能看到「此计算机」与「MicroPython 设备」两侧文件区 |
4. 烧录之后如何编程(Thonny 日常用法)
- Shell 试验:在下方 Shell 直接输入 Python 语句,立刻看结果。
- 编辑文件:新建文件,写代码,菜单 文件 → 另存为 → MicroPython 设备,保存为
hello.py。 - 运行:打开设备上的
hello.py,点绿色「运行」;或在 Shell 用import hello(视文件名而定)。 - 停止:点「停止」或在 Shell 按 Ctrl-C,中断死循环,避免板子「锁死」无法再连。
- 开机自启(后面章节再用):把主程序保存为设备上的
main.py,上电后自动运行。调试时建议在main.py开头加 1~2 秒延时,方便 Ctrl-C。
内容要点(小结)
- C3 SuperMini = 本车主控;先固件、后程序。
- 课堂工具首选 Thonny:烧录 + REPL + 存文件一条龙。
- 烧录时选对 ESP32-C3 系列固件(GENERIC_C3)。
- USB 识别不了:换线、换口、BOOT+RESET 进下载模式、必要时换板。
- 本项目后续 GPIO 以专题页第四节为准;本章只保证「能编程」。
代码说明
| 文件 | 简要说明 |
|---|---|
hello.py | 烧录成功后的冒烟测试:两行 print,确认 REPL 与文件运行链路通。 |
flash_notes.txt | Thonny / esptool 烧录步骤速查(非程序,给人看)。 |
esptool_flash_example.sh | 命令行擦除并写入 ESP32_GENERIC_C3 固件的示例脚本(可选)。 |
实验
- 安装 Thonny,USB 连接 C3,选中正确串口。
- 用 Thonny「Install or update MicroPython」烧录 ESP32-C3 固件。
- 在 Shell 执行
print("Hello, PiCar")。 - 把
hello.py保存到设备并运行。
整车引脚与外设说明见专题页 第四节「GPIO 与接线」。下一章开始点亮板载 LED。