第 1 / 8 章

ESP32-C3 控制板、Thonny 与固件烧录

认识主控板,安装编程工具 Thonny,把 MicroPython 固件(image)烧进 C3,并跑通第一次 REPL。

教程首页 专题页

概要:本车大脑是插在驱动板上的 ESP32-C3 SuperMini。出厂通常没有 MicroPython,需先烧录固件,再用 Thonny 编写 / 运行 Python。
核心能力:认识板卡、安装工具、烧录固件、连接 REPL · 可见结果:Shell 出现 >>>,能执行 print("Hello, PiCar")

本章资料目录: code/chapter-01/

学习目标

  1. 认识 ESP32-C3 SuperMini:USB-C、BOOT / RESET、与驱动板的插接关系。
  2. 理解「烧录固件」与「运行 .py 程序」是两件事。
  3. 安装并配置 Thonny,用其烧录 MicroPython 固件。
  4. (可选)了解用 esptool 命令行烧录同一份 image。
  5. 烧录后成功打开 REPL,运行 hello.py

1. 认识 ESP32-C3 SuperMini

ESP32-C3 SuperMini 引脚图
ESP32-C3 SuperMini 引脚示意(插驱动板时勿反插)
驱动板
驱动板 v1.1:主控插在排母上
项目说明
芯片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

本课程推荐 Thonnyhttps://thonny.org/):面向初学者的 Python IDE,内置 MicroPython 支持,可完成:

安装与基本配置

  1. 从官网下载并安装 Thonny(Windows / macOS / Linux)。
  2. 用 USB-C 连接 C3 到电脑;确认系统出现串口(macOS 常见 /dev/cu.usbmodem*,Windows 为 COMx)。
  3. 打开 Thonny → 工具 → 选项 → 解释器(Tools → Options → Interpreter)。
  4. 解释器选 MicroPython (ESP32),端口选刚出现的 C3 串口。

若列表中没有端口:换数据线 / USB 口;按住 BOOT 再点一下 RESET 后松开 BOOT,再刷新端口列表。

3. 如何烧录 MicroPython 固件(image)

「固件 / image」是板子上的 MicroPython 运行时(如 ESP32_GENERIC_C3-….bin)。没有它,就不能直接用 Python 写小车程序。

方法 A(推荐课堂):用 Thonny 一键烧录

  1. C3 已用 USB 连接到电脑,Thonny 解释器已选 MicroPython (ESP32) 与正确端口。
  2. 在解释器设置页点击链接:Install or update MicroPython (esptool)
  3. 在弹出窗口中设置:
    • 端口:你的 C3
    • MicroPython family / 系列:选择 ESP32-C3(不要选成经典 ESP32)
    • Variant / 变体:generic / ESP32_GENERIC_C3(名称以 Thonny 列表为准)
    • Version:建议选稳定版;本项目文档常用 v1.27.0
  4. (部分板子)点击 Install 后若提示进下载模式:按住 BOOT,点一下 RESET,再松开 BOOT。
  5. 等待进度条完成,出现 Done!。关闭窗口。
  6. 若端口号变化,在右下角重新选择端口,点击「停止 / 重启后端」,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 日常用法)

  1. Shell 试验:在下方 Shell 直接输入 Python 语句,立刻看结果。
  2. 编辑文件:新建文件,写代码,菜单 文件 → 另存为 → MicroPython 设备,保存为 hello.py
  3. 运行:打开设备上的 hello.py,点绿色「运行」;或在 Shell 用 import hello(视文件名而定)。
  4. 停止:点「停止」或在 Shell 按 Ctrl-C,中断死循环,避免板子「锁死」无法再连。
  5. 开机自启(后面章节再用):把主程序保存为设备上的 main.py,上电后自动运行。调试时建议在 main.py 开头加 1~2 秒延时,方便 Ctrl-C。

内容要点(小结)

  1. C3 SuperMini = 本车主控;先固件、后程序。
  2. 课堂工具首选 Thonny:烧录 + REPL + 存文件一条龙。
  3. 烧录时选对 ESP32-C3 系列固件(GENERIC_C3)。
  4. USB 识别不了:换线、换口、BOOT+RESET 进下载模式、必要时换板。
  5. 本项目后续 GPIO 以专题页第四节为准;本章只保证「能编程」。

代码说明

文件简要说明
hello.py烧录成功后的冒烟测试:两行 print,确认 REPL 与文件运行链路通。
flash_notes.txtThonny / esptool 烧录步骤速查(非程序,给人看)。
esptool_flash_example.sh命令行擦除并写入 ESP32_GENERIC_C3 固件的示例脚本(可选)。

实验

  1. 安装 Thonny,USB 连接 C3,选中正确串口。
  2. 用 Thonny「Install or update MicroPython」烧录 ESP32-C3 固件。
  3. 在 Shell 执行 print("Hello, PiCar")
  4. hello.py 保存到设备并运行。

整车引脚与外设说明见专题页 第四节「GPIO 与接线」。下一章开始点亮板载 LED。

返回教程首页 第 2 章 →