智能机器人 · STEM 教育 · 创客启蒙

PiCar Mini 2WD 超低成本智能小车

面向 STEM 与嵌入式入门 的二驱智能车平台:WiFi/BLE 便于遥控与二次开发,超声波 实现前方避障,运行按键 控制启停,红绿 LED 指示运行状态;MicroPython 语法友好、适合课堂与创客实践。硬件开源、结构紧凑、装配快捷,引脚与供电等工程细节见正文。

极低成本 · 核心物料¥32.98 · 整车¥35~40

MicroPython 程序设计教程提纲 →

主控:ESP32-C3 SuperMini 语言:MicroPython 驱动:双 H 桥迷你 L298N 测距:HC-SR04(宽电压) 机械:2WD 套件

一、方案概述

基于 ESP32-C3 SuperMini 开发板的超低成本 2WD 智能小车方案,支持 WiFi/BLE 无线控制、超声波避障。电源采用 18650 单节 + 5V 充放电一体小板;行走机构采用 ¥9.9 的 2WD 底盘套件(底盘 + 双轮 + 双 TT 电机 + 万向轮)。状态指示采用 红、绿 3mm LED 灯珠。电机驱动占用 GPIO9/10/20/21,运行按钮占用 GPIO0;板载丝印的 I2C(GPIO8 SDA / GPIO9 SCL) 中 GPIO9 已用于电机,扩展 I2C 外设需改用其它空闲脚(见第四节)。

主控、电池、充放电板、电机驱动与超声波等模块规格与价格见第二节;电池与电源小板说明见第三节;全车供电拓扑与 GPIO 飞线见第三节 §3.3第四节 §4.2

主要配件与模块
图 1  主要配件与模块(含 TT 电机、驱动板、主控、电源与传感器等;底盘以所选 2WD 套件为准)
2WD 底盘套件
图 2  2WD 底盘套件(亚克力底板、双驱动轮、TT 电机 ×2、后置万向轮;具体以所选套件为准)

二、物料清单

1. 核心模块

模块型号 / 规格数量单价小计
电池18650 锂离子电池(2200mAh,XH2.54 2P 插头)1¥6.12¥6.12
充放电主板5V 充放电一体小板(Type-C 同口,B+ / B-,5V± 焊盘)1¥2.65¥2.65
主控板ESP32-C3 SuperMini 开发板(WiFi/BLE)1¥8.76¥8.76
电机驱动2 路直流电机驱动模块(双 H 桥,迷你 L298N)1¥1.05¥1.05
测距传感器HC-SR04 超声波模块(新版 3.3V~5V)1¥4.50¥4.50
2WD 机械套件底盘 + 驱动轮 + TT 电机 ×2(含后置万向轮)1¥9.90¥9.90
核心物料合计¥32.98

2. 辅材(预估)

物料预估价格
杜邦线 / 连接线¥2~3
双面胶、扎带等(固定主板、电池、超声波等)¥0~2
状态指示灯:3mm LED 灯珠(红、绿各 1)+ 220Ω~470Ω 限流电阻各 1¥0.5~2
辅材小计¥2.5~7

3. 总成本

类别金额
核心模块¥32.98
辅材预估¥2.5~7
整车总计¥35.48 ~ ¥39.98

三、电源与模块

1. 18650 电池与 5V 充放电一体模块

电芯经 XH2.54 接小板 B+/B-;升压 5V 供 SuperMini;电机驱动 VM 优先接 B+。焊接前用万用表核对焊盘极性与网络。

18650 锂离子电池 XH2.54
图 3  18650 锂离子电池(XH2.54 2P 出线,红正黑负)
5V 充放电一体模块
图 4  5V 充放电一体小板(Type-C 同口;5V/GNDB+/B- 焊盘以实物为准)

18650 电池(本项目选用)

参数规格
类型18650 锂离子电池
标称电压3.7V
容量2200mAh
充电限制电压4.2V(GB31241-2022)
出线XH2.54 2P,红正黑负
尺寸(约)φ19mm × 66mm,线长约 18cm

5V 充放电一体板 — 接口说明

接口说明
Type-C输入输出同口:充电与对外 5V(与焊盘关系以实物为准)
5V 正 / 负升压后 5VGND,接 SuperMini 5V/VIN 与地
B+ / B-接电芯正、负;XH2.54 红线接 B+、黑线接 B-
显示按键短按点亮 4× LED 电量指示(以厂商说明为准)
保护板载电池保护 IC,与主控侧构成双层保护

5V 充放电一体板 — 技术参数(厂商标称)

参数规格
充电电压DC 4.5V ~ 5.5V(推荐 DC 5V)
充电电流0 ~ 2.1A
充满(截止)电压4.2V ± 1%
放电输出5V,最大放电电流约 2.4A
输出电压范围5V ~ 5.15V
放电静态电流80μA
放电效率≤ 96%
工作温度-20°C ~ +85°C

保护功能:过流(OCP)、过压(OVP)、短路(SCP)、过温(OTP);内置锂电池保护。无保护板电芯与带保护板电芯均可配合使用(以电芯规格与厂商说明为准)。

电池兼容性:适用于标称 3.7V 锂电池(含聚合物、18650)。满充电压为 4.2V / 4.35V / 4.4V 等类型均可搭配;充电截止电压固定为 4.2V,高电压体系电芯长期匹配需自行评估。

主要特点:输入输出同口;空载超时后仍保持 5V 输出(多数同类会关断轻载),利于 ESP32-C3 稳定上电(以实测为准);双层保护;体积小,可按需加焊 USB 母座;预留焊线焊盘,便于车内飞线。

2. 2 路直流电机驱动模块

电机驱动引脚
图 5  引脚说明
电机驱动实物
图 6  模块实物
参数规格
名称2 路直流电机驱动模块(双 H 桥,迷你 L298N)
供电电压2V ~ 10V
控制信号电压1.8V ~ 7V
通道2 路(双 H 桥),独立驱动 2 个直流电机
功能PWM 调速、正反转
控制引脚A1/A2(电机 A)、B1/B2(电机 B),亦标注 INT1~INT4
电机输出MOTOR-A、MOTOR-B

H 桥真值表(电机 A): A1 高 A2 低 → 正转;A1 低 A2 高 → 反转;双低 → 滑行;双高 → 刹车。电机 B 同(B1/B2)。PWM 调速时用 PWM 替代高电平,占空比控制速度。

3. 供电分配方案

              18650 + 5V 充放电一体小板
                   ┌────────────────────┐
      5V 焊盘 ←────┤ Type-C 同口        │
        │          │ B+ / B- 接电芯      │
        │          │                    │
        │          │        GND ──┐     │
        │          └──────────────┼─────┘
        │                   ┌────┴────┐
        │                   │电源开关  │(可选,串负极)
        │                   └────┬────┘
        │                        │
        ↓                   公共 GND            ↓
   ┌──────────┐                │          ┌──────────────┐
   │ESP32-C3  │ GPIO9/10/20/21 │          │ 电机驱动板    │
   │SuperMini │────────────────┼─────────→│ 双 H 桥 L298N │
   │          │                │          │ MOTOR-A ──→ 左轮
   │ GPIO1/2  │──→ HC-SR04    │          │ MOTOR-B ──→ 右轮
   │ GPIO5/6  │──→ 红/绿灯珠   │          └──────────────┘
   │ GPIO0    │──→ [运行按钮]──┘
   └────┬─────┘
        └──────────── 公共 GND ─────────────────┘

超声波 Trig / Echo 与运行键所接 GPIO 编号仅以第四节「GPIO 与接线」为准,本文其它位置不再重复,以免多处修改时不同步。

电源开关(若使用)串联在 GND 负极回路时,断开则各模块同时失回路。

运行按钮(大按键模块)

大按键模块
图 7a  大按键模块(3P:VCC / GND / OUT)
按键模块参数
图 7b  按键模块参数说明
参数规格
尺寸20mm × 12mm
接口3P(VCC、GND、OUT)
输出按下高电平,释放低电平
引脚接线
VCCESP32-C3 SuperMini 3.3V(以板丝印为准)
GND公共 GND
OUTESP32-C3 GPIO0(以板丝印为准)
硬件类型功能接法
电源开关拨动开关切断/接通整车供电串联在 5V 负极或公共 GND 回路
运行按钮按压按钮启动/停止运行OUT→GPIO0,VCC→3.3V,GND→公共 GND

工作流程:电源开关 ON → SuperMini 上电待机 → 按运行按钮启动 → 再按停止 → 电源开关 OFF 断电。

输出口供给模块电流预估余量
5V(升压)SuperMini + HC-SR04(经板载 3.3V)WiFi 活跃时约百毫安级5V 约 2.4A 能力,逻辑侧充足
B+电机驱动 → 2× TT 马达典型约 300~400mA注意堵转电流

电机驱动优先使用 B+ 供 VM 的理由:

4. HC-SR04 超声波(宽电压版)

HC-SR04
图 8  HC-SR04 超声波模块
参数规格
型号HC-SR04(新版,宽电压)
工作电压3.3V ~ 5V
测距范围2cm ~ 400cm
精度±3mm
探测角度~15° 锥形
接口VCC、Trig、Echo、GND
工作电流~15mA

5. TT 马达与 2WD 套件

2WD 相关物料
图 9  底盘与电机相关物料(与图 1 呼应;具体以所选套件为准)
TT 马达
图 10  TT 减速马达(套件内 2 只)
参数规格
型号TT 马达直流减速电机(单轴,套件内 2 只)
减速比1:48(常见黄盖减速箱,以实物为准)
工作电压3V ~ 6V
额定转速(约)200 RPM @ 3.7V
空载电流~150mA
堵转电流~250~500mA
输出轴单轴,白色塑料 D 型轴

6. 状态指示灯(红 / 绿 3mm LED 灯珠)

3mm LED 灯珠(学名为发光二极管)。下图仅为外形示例,实车仅需红、绿各 1 只

3mm LED 灯珠
图 11  3mm LED 灯珠(直插单色示例;实车用红、绿各 1)
项目说明
LED3mm LED 灯珠,红 ×1、绿 ×1
限流电阻每只 LED 串联 1 只 220Ω~470Ω(1/4W 即可)
连接顺序GPIO → 电阻 → LED 正极(长脚)→ LED 负极 → GND(高电平点亮)
电流每路约几 mA~十余 mA;勿省略电阻
GPIO用途状态含义
GPIO5绿色 3mm LED 灯珠正常运行 / 程序已启动
GPIO6红色 3mm LED 灯珠告警 / 避障触发 / 错误状态

除常亮/熄灭外,可用闪烁周期区分状态(如慢闪待机、快闪行驶)。

7. 电压兼容性

模块工作电压实际供电兼容性
ESP32-C3 SuperMini5V VIN → 板载 3.3V5V 充放电板 5V 焊盘
双 H 桥(迷你 L298N)2~10V(控制 1.8~7V)B+5V 焊盘
HC-SR04(新版)3.3V~5VSuperMini 3.3V
TT 减速马达3V~6V经驱动板,B+ 优先
3mm LED 灯珠(经电阻)GPIO 输出高电平经电阻限流3.3V 逻辑侧

结论:全链路电压兼容,无需电平转换。

四、GPIO 与接线

本车各外设所接 GPIO(含超声波 Trig/Echo、运行键、左右电机)以下文表格与飞线为准;专题页其它章节只描述功能与拓扑,不再重复具体编号,以免多处修改时不同步。

ESP32-C3 SuperMini 开发板引脚图
图 12  ESP32-C3 SuperMini 引脚图(USB Type-C 端朝上;排针表与接线请与此图及实物丝印核对)

板载双排各 8 脚(USB Type-C 端朝上时),本款丝印将 I2C 标在 GPIO8(SDA)、GPIO9(SCL),GPIO5~7 侧为 SPI(MISO/MOSI/SS)等复用。下列顺序与上图及常见 SuperMini 一致;若采购其它外形,以实物丝印为准。

1. 排针顺序(USB 朝上)

左侧(由上 → 下)右侧(由上 → 下)
5VGPIO5(A5 / MISO)
GNDGPIO6(MOSI)
3.3VGPIO7(SS)
GPIO4(A4 / SCK)GPIO8(I2C SDA
GPIO3(A3)GPIO9(I2C SCL
GPIO2(A2)GPIO10
GPIO1(A1)GPIO20(UART RX)
GPIO0(A0)GPIO21(UART TX)

2. 引脚分配(实测验证)

GPIO分配用途位置(本款,USB 朝上)状态
GPIO0运行按钮(按下高电平)左侧最下脚已分配
GPIO1超声波 Trig左侧自下数第 2 脚已分配
GPIO2超声波 Echo左侧自下数第 3 脚已分配
GPIO3空闲左侧自下数第 4 脚可用
GPIO4空闲左侧自下数第 5 脚可用
GPIO5绿色 3mm LED 灯珠(经电阻接 GND)右侧最上脚已分配
GPIO6红色 3mm LED 灯珠(经电阻接 GND)右侧自上数第 2 脚已分配
GPIO7空闲(SPI SS 等复用)右侧自上数第 3 脚可用
GPIO8空闲(板载丝印 I2C SDA右侧自上数第 4 脚可用
GPIO9电机 A — A1/INT1(左轮)⚠️ strap 脚右侧自上数第 5 脚已分配
GPIO10电机 A — A2/INT2(左轮)右侧自上数第 6 脚已分配
GPIO20电机 B — B1/INT3(右轮,原 UART RX)右侧自下数第 2 脚已分配
GPIO21电机 B — B2/INT4(右轮,原 UART TX)右侧最下脚已分配

已占用 9 个 GPIOGPIO3、GPIO4、GPIO7、GPIO8 仍可扩展。注意事项:

3. 接线图

评估板全景
图 13  评估板全景:ESP32-C3 SuperMini + 双 H 桥驱动 + HC-SR04 + 运行按钮 + 18650 电池供电
ESP32-C3 SuperMini          电机驱动板(双 H 桥)
────────────────────        ────────────────────

GPIO9  ─────────────────→  A1/INT1  ┐
GPIO10 ─────────────────→  A2/INT2  ┘ 电机 A(左轮)

GPIO20 ─────────────────→  B1/INT3  ┐
GPIO21 ─────────────────→  B2/INT4  ┘ 电机 B(右轮)

GND    ─────────────────→  GND(共地)


ESP32-C3 SuperMini          HC-SR04 超声波
────────────────────        ──────────────

GPIO1  ─────────────────→  Trig
GPIO2  ←────────────────   Echo
3.3V   ─────────────────→  VCC
GND    ─────────────────→  GND


ESP32-C3 SuperMini          运行按钮模块
────────────────────        ────────────

GPIO0  ←────────────────   OUT(按下高电平)
3.3V   ─────────────────→  VCC
公共 GND ─────────────────→  GND


ESP32-C3 SuperMini          3mm LED 灯珠(各支路:GPIO→电阻→LED+→LED−→GND)
────────────────────

GPIO5  ──→ [220Ω~470Ω] ──→ 绿色灯珠正 → 负 ──→ GND
GPIO6  ──→ [220Ω~470Ω] ──→ 红色灯珠正 → 负 ──→ GND


5V 充放电一体小板
──────────────────
5V 正 / 5V 负 ────────────→ SuperMini 5V / GND
B+ ─────────────────────→ 电机驱动板 VM/VCC(优先)
B- / 5V 负 ──────────────→ 公共 GND ──┬→ SuperMini GND
                                      ├→ 电机驱动板 GND
                                      ├→ HC-SR04 GND
                                      ├→ 运行按钮 GND
                                      └→ 3mm LED 灯珠负极(共地)

五、方案优势

优势说明
成本极低核心 BOM ¥32.98,整车约 ¥35.5~40(含 3mm LED 灯珠辅材)
WiFi + BLEESP32-C3 内置无线,可做手机遥控、Web 控制、OTA
结构更简单无 OLED,减少 I2C 与屏幕相关代码
GPIO 分配GPIO9/10/20/21 驱动电机;GPIO0 接按钮;GPIO5/6 接红绿 LED;GPIO1/2/7/8 可扩展
MicroPython支持 Python 编程,学习门槛低
机械一体化¥9.9 2WD 套件含底盘、双电机、轮与万向轮,装配快

六、注意事项

  1. 共地连接 — ESP32-C3、电机驱动板、超声波模块、充放电小板、按钮、LED 的 GND 必须互联。
  2. 供电分离 — 电机 VM 走 B+ 或 5V 焊盘,不要从 SuperMini 3.3V 给电机供电。
  3. 超声波版本 — 须为新版 HC-SR04(3.3V~5V);老版仅 5V 不宜直接接 3.3V 逻辑供电。
  4. 充放电小板 — 焊接前核对 B+/B- 与 5V/GND;确认最大电流满足 WiFi 峰值与电机需求。
  5. 电机电流 — TT 堵转约 250~500mA,避免长时间堵转。
  6. GPIO9 是 strap 脚 — 上电时若驱动板把 A1 拉低会让 C3 进入下载模式。建议先上 USB / 主控,再上电池给驱动板供电;启动异常时短按 RESET。
  7. 3mm LED 灯珠 — 每只必须串联限流电阻,禁止 GPIO 直接短接灯珠两脚;负极与整车 GND 共地。
  8. GPIO20/21 — 原 UART0,作电机 PWM 后串口控制台只能走 USB Serial JTAG(mpremote/Thonny 仍可正常用),不要再外接 UART 设备到这两脚。

七、可选升级路径

升级方向方案额外成本
测距升级VL53L0X ToF(I2C,建议软件 I2C 走 GPIO3/GPIO4,因 GPIO9 已用于电机)¥5~8
电机驱动TB6612FNG(效率更高、发热更小)¥2~3
状态指示升级RGB LED(四脚共阴/共阳,需 3 路 GPIO + 限流电阻)¥2~10
声音反馈有源蜂鸣器(如 GPIO7)¥0.3
循迹TCRT5000 ×2¥2~4
人机界面外接显示屏或基于网络的交互界面视选型
融合测距超声波 + ToF¥5~8

八、超声波与 ToF 对比

本方案选用 HC-SR04,下表供选型参考。

特性HC-SR04 超声波VL53L0X ToF
价格约 ¥4.5¥5~8
测距范围2cm ~ 400cm3cm ~ 200cm
精度±3mm±3~5%
探测方式声波 ~15° 锥体,覆盖面宽激光点射,精准但覆盖面窄
工作电压3.3V~5V(新版)2.8~3.3V
接口GPIO(Trig + Echo,占 2 引脚)I2C(GPIO9 已用于电机,建议软件 I2C 走 GPIO3/GPIO4
避障适用性宽角度,更适合简单避障定点精准,适合 SLAM/跟随

选用 HC-SR04 的理由:宽角度探测更适合 2WD 小车避障,成本更低。

九、软件与调试

教学路线:与本书架硬件一致的程序设计章节与实验安排,见专题配套页面 《MicroPython 智能小车程序设计(2WD)教程提纲》(点亮 LED → 按键 → 单电机 → 整车运动 → 超声波 → 避障 → 综合项目)。

固件采用 MicroPython(ESP32_GENERIC_C3 v1.27.0),可按教学需要搭配 REPL、文件同步与无线调试等常规开发方式。电机为 PWM + 双 H 桥;Trig / Echo、运行键及各电机脚位等 GPIO 分配与飞线说明仅以第四节为准。

程序文件说明
motor_driver.pyMotor / Car 类,PWM 调速、正反转、刹车;引脚 GPIO9/10/20/21。
test_motor.py8 项电机测试(左右轮正反转 + 前后进 + 左右转)。
test_button.py按键状态计数测试(GPIO0)。
test_button_forward.py按键控制小车前进 1 秒(演示交互)。
test_ultrasonic.pyHC-SR04 测距,串口实时输出 50 次(GPIO1/2)。

环境准备与烧录

# 进入下载模式: 按住 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 退出下载模式

上传与运行

PORT=/dev/cu.usbmodem101

mpremote connect $PORT cp motor_driver.py :
mpremote connect $PORT cp test_motor.py :
mpremote connect $PORT cp test_button.py :
mpremote connect $PORT cp test_button_forward.py :
mpremote connect $PORT cp test_ultrasonic.py :

mpremote connect $PORT run test_motor.py
mpremote connect $PORT run test_ultrasonic.py

# 设为开机自启(示例)
mpremote connect $PORT cp test_button_forward.py :main.py

详细踩坑记录与烧录流程见项目目录 调试记录-2026-05-20.md;端口名随环境调整(macOS 常见 /dev/cu.usbmodem*)。

十、应用场景

智能小车 ESP32-C3 SuperMini MicroPython 2WD 超声波避障 红绿 LED WiFi + BLE 18650 低成本 STEM