ESP32‑DualCAN 是开源硬件项目,基于 ESP32‑C6 打造,作为免费替代品对标商用 S3XY‑Commander 车载 CAN 调试设备。硬件搭载两路 CAN 收发器,支持 5‑58V 车载宽压供电;依靠 BLE‑WiFi 无线通信,搭配网页端控制台加载 DBC 文件解析 CAN 报文,可运行 Berry 脚本处理 CAN 数据;硬件兼容 Enthuato 原厂线束,PCB、固件全部开源,主要用于 Cybertruck 等车辆 CAN 总线嗅探调试,爱好者可自制硬件,省去购买昂贵商用设备的成本。


一、项目整体概况
开源协议:CERN‑OHL‑W‑2.0(开源硬件协议,硬件 PCB、固件代码全部开放)
核心定位:针对 Cybertruck 等 5‑8V 车载设备,双 CAN 总线硬件 + BLE/Wi‑Fi + Web 网页控制台,实现 DBC 加载、CAN 报文收发、自定义脚本运行。
组成部分:
firmware:ESP32‑C6 固件(PlatformIO 开发);webui:Node.js 开发的前端网页,支持 Web‑Bluetooth 连接 ESP32;hardware:PCB 原理图和硬件 BOM;scripts/tests:Berry 脚本,用于 CAN 报文处理。
二、硬件组成(IC 清单)
器件 | 作用 |
|---|---|
ESP32‑C6‑SuperMini(备选 ESP32‑C6‑Zero) | 内置 2 路 TWAI (CAN2.0) 控制器、BLE‑5.0、Wi‑Fi、RGB 指示灯 |
2×TCAN1044 | CAN‑BUS 收发器,实现车载 CAN 总线电平转换 |
TI LV2862 DC‑DC | 车载降压,适配汽车 5‑58V 宽电压输入 |
Molex 连接器 | 和 Enthuato 原厂线束直接兼容;预留 2.54mm 排针用于自定义扩展 |
物理尺寸:19.5 ×41.5mm;
供电范围:5‑58V,适配 Cybertruck 车辆电源;
通信能力:双独立 CAN 总线 + BLE + Wi‑Fi + USB‑C 调试。
三、软件使用方法
1. 源码下载(必须拉取子模块)
bash
运行
git clone https://github.com/did26/ESP32-DualCAN.git --recurse-submodules
#后续更新子模块
git submodule update --init --recursive
BLE 和 Berry 脚本库都作为 git 子模块,不下载子模块会编译失败。
2. 固件编译烧录(PlatformIO)
bash
运行
cd firmware
pio run #编译正式版固件
pio run -t upload #烧录固件到开发板
pio run -t monitor #串口查看日志
pio test -t native #运行单元测试
pio test -t esp32-c6-tests-arduino #硬件在线测试
3. Web 前端(电脑 Chrome 浏览器)
环境依赖:Node.js;
bash
运行
cd webui
npm install
npm run dev #开发模式,本地访问 http://localhost:5173
npm run build #打包生产版本输出到dist文件夹
使用限制:
仅支持 Chrome 浏览器,依靠Web‑Bluetooth和 ESP32‑C6 建立连接;
可以离线加载 DBC 文件,解析 CAN 报文;
BLE 配对仅支持 BLE‑4.0 安全配对,只有中央设备可以发起连接。
四、硬件按键与配对规则
BOOT 按键功能
短按:开启 BLE 开放配对窗口,持续 60 秒;出厂默认开机 60 秒可配对;
长按 15 秒:恢复出厂设置,清除蓝牙绑定、凭证、自定义脚本。
LED 指示灯状态:不同闪烁状态对应配对、连接、错误状态,详情参考项目文档
docs/ble.md。
BLE 配对逻辑
首次使用:必须短按 BOOT 按键打开配对窗口;
安全机制:采用 BLE 4.0 安全连接,预共享密钥,防止其他设备随意接入设备;完整连接流程参考文档。
五、核心功能
双 CAN 总线并行监听:两路独立 CAN‑2.0 通道同时收发报文,用来监听车辆内部多条 CAN 总线;
DBC 文件解析:网页端上传 DBC 文件,解析车辆 CAN 信号,和 S3XY‑Commander 功能完全一致;
Berry 脚本引擎:在 ESP32 硬件里运行自定义脚本,修改 CAN 报文、添加过滤器;
无线操作:电脑网页通过蓝牙实时控制设备,无需 USB 有线连接;
扩展能力:板上预留排针,可以额外接入按键,实现链式级联。
六、适用场景
特斯拉 Cybertruck 的 CAN 总线调试、报文嗅探;
汽车爱好者替代昂贵商用 S3XY‑Commander;
车载 CAN 学习、逆向工程、自定义 CAN 报文修改;
工业双 CAN 总线开发(ESP‑C6 的 TWAI 双 CAN 控制器)。
七、补充要点
原理图:项目内置完整硬件原理图,可以自行打板制作;
开发语言:固件 C/C++,WebUI TypeScript,脚本使用 Berry 语言;
分支:main 为正式发布分支,nightly 是每日构建版本;Release 里提供编译好的固件二进制文件。
