flipper-tesla-fsd 是面向 Flipper Zero 与 ESP32 的特斯拉 CAN 总线工具集,通过 MCP2515/TWAI 在 OBD-II 或 X179 接口上做单总线读-改-重发,覆盖 FSD 区域门解锁、TLSSC 恢复、Ban Shield、握盘提醒抑制(Nag Killer)和 BMS 实时仪表,定位是开源、低成本(最低约 14 美元)的 S3XY Commander 替代方案,仅做区域门绕过,不绕过 Tesla 服务端 FSD 订阅校验。
来源:README + application.fam 查看 GitHub 仓库 →该项目把原本零散的 Tesla CAN 改装研究整合成可在 Flipper Zero 上一键运行的固件,并在 v2.5 之后扩展到 ESP32 端口(M5Stack ATOM、Lilygo T-CAN485、Waveshare ESP32-S3、通用 ESP32+MCP2515 四种板型)。2026 年 4 月 Tesla 启动 VIN 级 FSD 封禁后,作者先后给出 Ban Shield(冻结 0x7FF GTW_carConfig 健康快照)和 TLSSC Restore(在 0x331 上重写 DAS_autopilot 字段恢复停车标志/红绿灯控制)两条对抗路径,并诚实标注了它们在 Palladium、HW4、Intel HW3 上的不同效果,这种 README 直接把限制写出来的态度在车机改装项目里少见。仓库由社区驱动(@THER4iN、@MiniCS、@kp43h8 等十多位贡献者持续做平台测试),README 同时维护英文与简繁中文三版本,是国内用户寻找特斯拉 FSD 解锁、Flipper Zero 教程、Tesla CAN bus 改装、ESP32 自部署方案时的高匹配落点。
来源:README + changelog.md + ROADMAP.md通过监听 0x398 GTW_carConfig 判定硬件版本(das_hw 字段),失败时回退到 0x3FD/0x399/0x3EE 三条候选总线探针。识别成功后对 UI_autopilotControl(HW3/HW4 走 0x3FD bit46/bit60、Legacy HW1/HW2 走 0x3EE bit46)做位级修改并立即重发,覆盖 Model 3/Y/S/X 多代车型。Palladium S/X 还支持 Legacy→HW3 自动升级路径。
来源:README + fsd_handler.h + changelog.mdv2.10 新增功能,针对 2026 年 4 月起被 VIN 封禁的车辆。以约 1 Hz 频率读-改-重发 0x331 DAS_autopilotConfig 帧,把 byte[0] 低 6 位写为 0x1B,将 DAS_autopilot 与 DAS_autopilotBase 强制设为 SELF_DRIVING,触发 MCU 重启从而恢复停车标志/红绿灯控制开关。仅恢复 TLSSC,不能恢复完整 FSD 视觉。
来源:README + changelog.mdv2.9 新增。第一阶段在正常驾驶时学习 GTW_carConfig 的 8 个 mux 帧作为健康基线,第二阶段一旦检测到 0x7FF 帧与基线不一致就立即用快照覆盖重发,理论上在 CAN 层拦截服务端推送的 VIN 封禁。作者自己在 SECURITY.md 里写明 AP ECU 究竟从 CAN 还是以太网读取 0x7FF 仍未确证,效果待社区验证。
来源:changelog.md + SECURITY.md在 0x370 EPAS3P_sysStatus 上做 counter+1 回声。v2.8 起引入两层关键改进:一是基于 0x39B DAS_status 的 hands-on 状态门控(仅在 DAS 真正要求握盘时才发,闲时把总线流量从 25 帧/秒压到接近零);二是用 xorshift32 PRNG 在 1.00–2.40 Nm 内做随机游走,每 5–9 秒插入 3.10–3.30 Nm 的握力脉冲,避免恒定扭矩成为遥测侧的封禁特征。
来源:README + changelog.md解析 0x132 BMS_hvBusStatus(电压/电流)、0x292 BMS_socStatus(SoC)、0x312 BMS_thermalStatus(电池温度)、0x257 DI_speed(车速)、0x108 DI_torque(电机扭矩)、0x129 SCCM_steeringAngleSensor(方向盘角度)等 23 个只读 RX 处理器,提供电池包电压、SoC、温度、转向角、AP nag 等级、变道状态、盲区警告、视觉限速等多项实时数据,不依赖 FSD 订阅即可使用。
来源:README + fsd_handler.hesp32/ 子目录下的固件复用同一套 CAN 业务逻辑,覆盖 M5Stack ATOM Lite + ATOMIC CAN(约 14 美元)、Lilygo T-CAN485、Waveshare ESP32-S3-RS485-CAN、通用 ESP32+MCP2515 四套硬件,按 PlatformIO 环境名分别构建。新增 NVS 设置持久化、深度睡眠、出厂复位、SD 卡 candump 转储(自动 1M 条轮转、15 分钟自动停止)以及 WebSockets 驱动的 WiFi 仪表盘。
来源:esp32/platformio.ini + changelog.mdActive / Listen-Only / Service 三档模式,首次启动默认进 Listen-Only——MCP2515 在硬件层切到只听模式,物理上无法 TX,从源头杜绝误触发。OTA 检测器监听 0x318 GTW_carState,确认 Tesla 在做固件更新时自动暂停 TX,避免与官方升级流冲突。
来源:README + fsd_handler.h + SECURITY.mdService 模式开放 0x249 SCCM_leftStalk 控制(远光闪烁、转向灯、雨刷喷水)、0x101 GTW_epasControl 转向手感切换(COMFORT/STANDARD/SPORT)、0x3F5 VCFRONT_lighting 危险灯、0x229 SCCM_rightStalk 模拟换挡和驻车按钮等,README 标记这些功能为 BETA,需要按车型实测。
来源:changelog.md整体是单总线 read-modify-retransmit 架构,没有 MITM、不需要双总线分流。Flipper Zero 端用 C 写成 FAP 应用:根目录 tesla_fsd_app.c 是入口,scenes/ 下按 Flipper 的 SceneManager 模式拆 main_menu / hw_select / hw_detect / fsd_running / settings / extras / about 七个场景,scenes_config/ 集中注册场景跳转,fsd_logic/ 是与 UI 解耦的核心 CAN 处理层(fsd_handler.h 定义 37 个 CAN ID 常量、TeslaHWVersion 枚举与全量状态结构体),libraries/ 封装 MCP2515 SPI 驱动和日志。ESP32 端口在 esp32/.firmware/ 下另起 main.cpp + can_driver / fsd_handler / web_dashboard / wifi_manager / prefs / led 七个模块,CAN 层用条件编译切换 ESP32 内置 TWAI 或外接 MCP2515(编译期由 build_flags 选择 CAN_DRIVER_TWAI / CAN_DRIVER_MCP2515),上层业务逻辑与 Flipper 端等价。数据流上,每个 CAN ID 对应一个处理器函数,主循环驱动 RX 中断回调,按 ID 查表分发;写路径只动定义清单内的位(0x3FD bit46/47/59/60、0x370 counter+1 等),其余字节原样回传,并在 ISA 帧上重新计算 Tesla 校验和。从设计上看这是一份典型的'最小切面 + 显式状态机'方案:业务逻辑高度集中在 fsd_handler,添加一个新 Extras 玩法约 30 LOC(一个 bool + 一个 toggle + 一个 handler + 一个 dispatch 行),扩展性优于过度抽象的插件框架。值得提的潜在不足是 fap_version 还停留在 2.11.0 而 git tag 已到 v2.13.1,changelog.md 也只覆盖到 2.11,存在版本号漂移;UI 层 scenes_config 里的硬编码场景表在功能进一步增多时会变成维护点。
来源:tree.txt + fsd_handler.h + changelog.md + esp32/platformio.ini中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成
MCP2515 CAN 控制器(SPI,主项目自带 mcp_can_25…ESP32 TWAI 内置 CAN 外设(M5Stack/Lilygo/…autowp/autowp-mcp2515 ^1.3.0(ESP32+M…Links2004/WebSockets ^2.4.0(ESP32 We…Adafruit NeoPixel ^1.12.0(状态 LED)commaai/opendbc(Tesla CAN 信号库的研究依据)ElectronicCats/flipper-MCP2515-CANBU…1) 已购买 FSD 但身处不支持区域的车主:通过区域门绕过让本地 CAN 帧表现为 SELF_DRIVING,配合 SIM 卡拔出降低被动遥测,在私有道路或合规场景下使用。2) 2026 年 4 月起被 VIN 封禁的 Palladium、HW4 Highland、Intel HW3 车主:用 TLSSC Restore 部分恢复停车标志/红绿灯控制(自部署、不依赖任何订阅服务)。3) 不打算买 FSD 的普通车主:仅启用 Nag Killer、ISA 鸣笛抑制、BMS 实时仪表盘等只读/无关订阅功能,把 Flipper Zero 或 14 美元的 ESP32 当便携车辆诊断仪。4) Tesla CAN 总线研究者与开发者:用 Listen-Only 模式做被动嗅探与 candump 抓包(ESP32 端可直接落 SD 卡),改装研究、教程、对比 S3XY Commander 的开源替代时的参考实现。
来源:综合分析GitHub Releases 页面目前没有正式 release(API 返回空数组),但仓库 tag 已发布到 v2.13.1(之前还有 v2.13.0、v2.12.1、v2.12.0、v2.11.2)。application.fam 中 fap_version 仍写成 2.11.0,changelog.md 最新条目是 v2.11——存在元数据漂移。changelog 主要节点:v2.11 修复 Legacy(das_hw=0/1)硬件识别遗漏与 Nag Killer level 3 echo 字节错误,新增 Lilygo T-CAN485 板型支持与 SD 卡 candump;v2.10 引入 TLSSC Restore(0x331);v2.9 引入 Ban Shield(0x7FF);v2.8 把 Nag Killer 改为 DAS 感知 + xorshift32 有机扭矩。建议读者直接看 GitHub Releases 页面或仓库 tag 列表确认实际发布版本。
来源:GitHub Tags + application.fam + changelog.mdflipper-tesla-fsd 是一个把 Tesla CAN 总线改装从论坛碎片研究做成可工程化复现的开源项目,核心价值不在于'解锁 FSD'本身,而在于它把 read-modify-retransmit 单总线模式做到了较高完成度——37 个 CAN 处理器、Flipper Zero + 4 套 ESP32 硬件目标、Listen-Only 默认 + OTA 暂停 + 显式 TX 写入清单的安全护栏,配合 README/SECURITY.md/ROADMAP.md 三份诚实标注限制的文档,在同类改装项目里属于难得的'肯把丑话说在前面'。务实建议:已经有 Flipper Zero 的研究者直接装 .fap 跑 Listen-Only 抓帧入门;想长期车载使用的人买 14 美元的 M5Stack ATOM + ATOMIC CAN 走 ESP32 端口更合算且能用 WiFi 仪表盘;2026-04 之后被 VIN 封禁的车主可以试 TLSSC Restore 但要做好只能恢复停车标志/红绿灯而不是完整 FSD 的预期;普通车主仅启用 BMS 仪表与 Nag Killer 是最低风险用法。不建议在公共道路上启用任何 TX 写入功能,也不建议用它替代 FSD 订阅——项目作者本人就反复强调这是区域门绕过,不是订阅绕过,违反 Tesla 服务条款的法律责任完全由使用者承担。
来源:综合分析