章节导航
一、方案概述
二、物料清单
三、驱动板子系统
四、GPIO 与接线
五、方案优势
六、注意事项
七、可选升级
八、软件与调试
九、应用场景
十、预印本与开源
一、方案概述
基于 ESP32-C3 SuperMini 与自制驱动板 v1.1 的超低成本 2WD 智能小车。驱动板将电机驱动、电源防护、状态 LED、轻触开关、超声波接口与全部 GPIO 排针集成到一块 PCB;主控以 1×8×2 排母插接,电机与超声波用 XH2.54 / 4P 接口直连。
核心能力: 双轮差速行走(PWM 调速 / 正反转)、超声波前方测距与近距告警灯光、左右板载按键分别控制左右轮、WiFi/BLE 便于遥控与二次开发。固件采用 MicroPython,适合课堂与创客实践。
图 1 整机实物(前方视角:超声波、驱动板与主控)
图 2 整机实物(侧面视角:驱动轮、万向轮与 18650)
图 3 整机实物(后方视角:电池、电源开关与主控 USB)
图 4 驱动板 v1.1 正面(TC1508A、电源、LED、按键、接口)
图 5 驱动板 v1.1 背面
图 6 驱动板 v1.1 仿真渲染
二、物料清单
1. 核心模块
模块 型号 / 规格 说明
主控板 ESP32-C3 SuperMini(WiFi/BLE,原生 USB) 插接在驱动板 1×8×2 排母上
驱动板 自制 PCB v1.1 集成电机驱动 + 电源 + LED + 按键 + 接口
电机驱动 TC1508A 双 H 桥(板载) PWM 调速、正反转
电源 3.7V 锂电输入 + 防反接 / 滤波 3.7VBAT 直供 TC1508A 与 C3 的 5V/VIN(宽电压)
测距传感器 HC-SR04 超声波(新版 3.3V~5V) 接板上超声波 4P 接口
2WD 机械结构 底盘 + 驱动轮 + TT 电机 ×2 + 万向轮 接板上 motor01 / motor34;整机见上图
状态灯 LED5 / LED6(板载贴片 + 100Ω) 高电平点亮;颜色以实物实测为准
按键 板载轻触开关 SW20 / SW21 低有效,内部上拉
2. 整车成本
核心物料与辅材合计约 ¥35~40 (随打样数量、元件采购与底盘选型浮动)。驱动 PCB 将电机驱动、电源通路、LED、按键一次集成,装配时主要完成插接主控与接插电机 / 超声波 / 电池。
三、驱动板子系统
1. 电源:电池输入、防反接与滤波
项目 说明
输入 3.7V 锂电(XH2.54 2P,接 3.7VBAT / GND)
电源开关 板载 SW1,控制电池输入通断
防护 / 滤波 TVS(如 SMBJ5.0A)+ 电解 / 陶瓷去耦
供电方式 3.7VBAT 直供 TC1508A VDD,并接入 ESP32-C3 SuperMini 的 5V/VIN (宽电压输入)
图 7 18650 锂离子电池(XH2.54 2P 出线,红正黑负)
图 8 TT 减速马达(整机左右驱动各 1 只)
焊接 / 上电前用万用表核对 3.7VBAT 与 GND,避免电池反接或短路。调试时若 USB 枚举异常,优先采用先插 USB 到 C3,再开电池供电 ;异常时短按 RESET。
2. 电机驱动:TC1508A 双 H 桥
项目 规格
芯片 TC1508A(板载,双 H 桥)
输入 INA / INB / INC / IND(4 路逻辑输入)
输出 OUTA/OUTB → motor34;OUTC/OUTD → motor01
电机接口 motor01 / motor34(XH2.54 2P)
供电 VDD 接 3.7VBAT,板载去耦
pin1 pin2 电机状态
PWM LOW 正转(前进)
LOW PWM 反转
LOW LOW 停止(滑行)
HIGH HIGH 刹车
3. 状态指示 LED
以 2026-06-18 实物实测为准: GPIO5 = LED5 = 红色 = 左侧,GPIO6 = LED6 = 绿色 = 右侧。原理图丝印红绿标注可能与实物相反,软件与教学说明一律按实测。
GPIO 板载 颜色 / 方位 接法
GPIO5 LED5 红色,左侧 GPIO5 → 100Ω → LED → GND,高电平点亮
GPIO6 LED6 绿色,右侧 GPIO6 → 100Ω → LED → GND,高电平点亮
综合演示中可用距离控制灯光:远处绿灯常亮,近处红灯频闪(越近越快)。
4. 板载轻触开关 SW20 / SW21
项目 说明
类型 轻触开关,低有效(空闲上拉为高,按下拉低)
引脚 SW20 → GPIO20,SW21 → GPIO21
方位(实测) SW21 = 左侧 ,SW20 = 右侧
软件 Pin(20/21, Pin.IN, Pin.PULL_UP),按下判定 value()==0
程序约定 SW21 控左轮、SW20 控右轮(与左右布局一致)
5. HC-SR04 超声波
图 9 HC-SR04 超声波模块(新版宽电压 3.3V~5V)
参数 规格
工作电压 3.3V ~ 5V
测距范围 2cm ~ 400cm,精度约 ±3mm,探测角约 15°
板载接口 Trig = GPIO7 ,Echo = GPIO10 (不可对调)
6. 拓展接口
板上提供 4P 超声波 / 外设接口及 GND / 3.7VBAT 引出;全部 GPIO 经两组 1×8 排针完整引出(io0~4、io5~21),便于外接循迹、ToF、蜂鸣器等。
7. 供电拓扑
3.7V 锂电(XH2.54)
│
┌────┴────┐
│ SW1 开关 │
└────┬────┘
│ 防反接 / TVS / 滤波
▼
3.7VBAT 公共轨
┌───────┼──────────┐
▼ ▼ ▼
TC1508A ESP32-C3 超声波 VCC
电机 VM 5V/VIN (宽电压版)
│ │
│ GPIO 控制线
▼ ▼
motor01/34 LED / 按键 / Trig·Echo
四、GPIO 与接线
本车各外设所接 GPIO 以下文表格为准;其它章节只描述功能,不再重复编号,以免多处修改时不同步。
图 10 ESP32-C3 SuperMini 引脚图(插接时请与驱动板排母丝印核对,勿反插)
1. 引脚分配(实测验证)
GPIO 分配用途 状态
GPIO0 左轮 motor1 一路(非 strap) 已分配
GPIO1 左轮 motor1 一路 已分配
GPIO2 空闲 ⚠️ strap 脚,保持悬空 可用(慎用)
GPIO3 右轮 motor2 — INB 已分配
GPIO4 右轮 motor2 — INA 已分配
GPIO5 红色 LED5(左侧) 已分配
GPIO6 绿色 LED6(右侧) 已分配
GPIO7 超声波 Trig(非 strap) 已分配
GPIO8 空闲(丝印 I2C SDA)⚠️ strap 脚 可用(慎用)
GPIO9 空闲 ⚠️ strap 脚,保持悬空 可用(慎用)
GPIO10 超声波 Echo(空闲宜为低) 已分配
GPIO20 轻触开关 SW20(右侧,控右轮,低有效) 已分配
GPIO21 轻触开关 SW21(左侧,控左轮,低有效) 已分配
电机 位置 GPIO(pin1 / pin2)
motor1 左轮 GPIO1 / GPIO0
motor2 右轮 GPIO4 / GPIO3
结论:各外设引脚互不重叠;ESP32-C3 三个 strap 脚 GPIO2 / GPIO8 / GPIO9 全部空出,外设均不占用。
2. strap 脚说明(摘要)
ESP32-C3 的 strap 脚为 GPIO2、GPIO8、GPIO9 ,仅在上电 / 复位瞬间被采样,决定启动模式。
超声波 Trig 使用 GPIO7 (非 strap),读数稳定;Echo 必须用 GPIO10 (空闲为低),不可与 Trig 对调。
扩展外设时尽量避开 strap 脚;若必须使用,注意上电电平与上拉。
注意:在 ESP32-C3 上 GPIO0 不是 strap 脚 (与经典 ESP32 不同),可安全用于电机。
3. 接线图
ESP32-C3 SuperMini(插接驱动板) 板载 / 外设
───────────────────────────────── ────────────────
GPIO1 / GPIO0 ─────────────────→ TC1508A → motor1 左轮
GPIO4 / GPIO3 ─────────────────→ TC1508A → motor2 右轮
GPIO7 ─────────────────────────→ HC-SR04 Trig
GPIO10 ←───────────────────────── HC-SR04 Echo
GPIO5 ──→ LED5 红(左侧,经 100Ω)
GPIO6 ──→ LED6 绿(右侧,经 100Ω)
GPIO21 ←── SW21 左侧按键(低有效,控左轮)
GPIO20 ←── SW20 右侧按键(低有效,控右轮)
5V/VIN ←── 3.7VBAT(经防反接 / 滤波)
GND ──── 公共 GND(PCB 已互联)
五、方案优势
优势 说明
成本极低 整车约 ¥35~40 ,适合批量教学与创客入门
PCB 集成 电机驱动、电源、LED、按键、超声波接口一次成型,装配快、可靠性高
引脚清晰 左右轮 / 超声 / 灯 / 键分区明确,strap 脚全部空出
WiFi + BLE ESP32-C3 内置无线,可做手机遥控、Web 控制、OTA
MicroPython 语法友好,配套分层测试脚本,课堂上手快
电源简洁 3.7VBAT 宽电压直供主控 VIN 与电机驱动,链路短
六、注意事项
上电顺序 — 调试时优先先插 USB 到 C3,再开电池 ;异常时短按 RESET。
共地 — ESP32-C3、TC1508A、超声波、电源、LED、按键 GND 已在 PCB 互联;外接模块须共地。
超声波引脚不可对调 — Trig=GPIO7、Echo=GPIO10,对调则读不到回波。
超声波版本 — 须为新版 HC-SR04(3.3V~5V)。
电机电流 — TT 堵转约 250~500mA,避免长时间堵转。
电机方向 — 若某侧转向与预期相反,对调该电机两根输出线,或交换软件中该侧两个引脚常量。
LED / 按键以实测为准 — LED5=红/左、LED6=绿/右;SW21=左、SW20=右。
strap 脚 GPIO2/8/9 — 扩展外设时避免占用,或注意上电电平。
七、可选升级路径
升级方向 方案 备注
测距升级 VL53L0X ToF(I2C) 走空闲脚;注意 GPIO8 为 strap
声音反馈 有源蜂鸣器 接拓展 GPIO
循迹 TCRT5000 ×2 接拓展接口
无线控制 WiFi / BLE 遥控、Web、OTA ESP32-C3 原生支持
整车主程序 避障 + 按键控轮 + LED 状态 可基于已验证组合脚本扩展
八、软件与调试
教学路线: 与本专题硬件一致的程序设计章节与实验安排,见 《MicroPython 智能小车程序设计(2WD v1.1)教程》 (C3 / Thonny / 固件烧录 → 板载 LED → 轻触开关 → 单电机 → 整车运动 → 超声波灯光 → 按键控轮 → 综合项目)。
固件采用 MicroPython (ESP32_GENERIC_C3 v1.27.0)。电机为 PWM + TC1508A;GPIO 分配仅以第四节为准。
1. 程序文件
程序文件 说明
motor_driver.pyMotor / Car 类;左轮 GPIO1/0、右轮 GPIO4/3
test_motor.py8 项电机测试(左右轮正反转 + 前后进 + 左右转)
test_button.pySW20 / SW21 按键状态测试
test_ultrasonic.pyHC-SR04 测距(Trig=7 / Echo=10)
test_ultrasonic_led.py远→绿灯、近→红灯频闪
test_sw_motor.py按键控轮三态循环 + LED 指示
test_sw_motor_ultrasonic_led.py按键控轮 + 超声灯光组合
main.py开机自启入口(可指向组合演示脚本)
2. 综合演示逻辑(推荐)
SW21(左) :左轮在「停止 → 前进 → 反转」间循环
SW20(右) :右轮同样三态循环
超声波灯光 :距离 ≥ 1m 绿灯常亮;< 1m 红灯频闪(越近越快);无回波双灯灭
3. 环境准备与烧录
# 进入下载模式: 按住 BOOT, 插 USB, 松 BOOT
esptool.py --chip esp32c3 --port /dev/cu.usbmodem101 erase_flash
esptool.py --chip esp32c3 --port /dev/cu.usbmodem101 --baud 460800 \
write_flash 0 firmware/ESP32_GENERIC_C3-v1.27.0.bin
# 烧完按一次 RESET 退出下载模式
4. 上传与运行
PORT=/dev/cu.usbmodem101
mpremote connect $PORT cp motor_driver.py :
mpremote connect $PORT cp test_motor.py :
mpremote connect $PORT cp test_ultrasonic.py :
mpremote connect $PORT cp test_sw_motor_ultrasonic_led.py :
mpremote connect $PORT run test_motor.py
mpremote connect $PORT run test_ultrasonic.py
# 设为开机自启(示例)
mpremote connect $PORT cp test_sw_motor_ultrasonic_led.py :main.py
端口名随环境调整(macOS 常见 /dev/cu.usbmodem*)。上电后数秒内可用 Ctrl-C 中断 main.py,避免自启脚本占满 REPL。
九、应用场景
高校与通识实验 — 低成本 2WD 平台,覆盖电源、PWM、测距、按键交互与无线扩展。
创客与 STEM — PCB 集成、硬件透明,便于拆解、改线与二次开发。
原型验证 — BOM 低,适合批量对比算法与课堂分组实验。
十、预印本与开源
智能小车
ESP32-C3 SuperMini
驱动板 v1.1
TC1508A
MicroPython
2WD
超声波避障
板载 LED / 按键
WiFi + BLE
STEM