flipper-tesla-fsd 是什么?

flipper-tesla-fsd 是面向 Flipper Zero 与 ESP32 的特斯拉 CAN 总线工具集,通过 MCP2515/TWAI 在 OBD-II 或 X179 接口上做单总线读-改-重发,覆盖 FSD 区域门解锁、TLSSC 恢复、Ban Shield、握盘提醒抑制(Nag Killer)和 BMS 实时仪表,定位是开源、低成本(最低约 14 美元)的 S3XY Commander 替代方案,仅做区域门绕过,不绕过 Tesla 服务端 FSD 订阅校验。

⭐ 499 Stars 🍴 275 Forks C NOASSERTION 作者: hypery11
来源: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

核心功能

HW3/HW4/Legacy 自动识别 + FSD 区域门绕过

通过监听 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.md
TLSSC Restore(0x331 DAS 配置欺骗)

v2.10 新增功能,针对 2026 年 4 月起被 VIN 封禁的车辆。以约 1 Hz 频率读-改-重发 0x331 DAS_autopilotConfig 帧,把 byte[0] 低 6 位写为 0x1B,将 DAS_autopilot 与 DAS_autopilotBase 强制设为 SELF_DRIVING,触发 MCU 重启从而恢复停车标志/红绿灯控制开关。仅恢复 TLSSC,不能恢复完整 FSD 视觉。

来源:README + changelog.md
Ban Shield(0x7FF 配置帧冻结)

v2.9 新增。第一阶段在正常驾驶时学习 GTW_carConfig 的 8 个 mux 帧作为健康基线,第二阶段一旦检测到 0x7FF 帧与基线不一致就立即用快照覆盖重发,理论上在 CAN 层拦截服务端推送的 VIN 封禁。作者自己在 SECURITY.md 里写明 AP ECU 究竟从 CAN 还是以太网读取 0x7FF 仍未确证,效果待社区验证。

来源:changelog.md + SECURITY.md
DAS 感知的 Nag Killer(握盘提醒抑制)

在 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
实时 BMS 与车辆仪表(只读,不需 FSD)

解析 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.h
ESP32 端口与 WiFi Web 仪表

esp32/ 子目录下的固件复用同一套 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.md
三档运行模式 + 安全默认

Active / Listen-Only / Service 三档模式,首次启动默认进 Listen-Only——MCP2515 在硬件层切到只听模式,物理上无法 TX,从源头杜绝误触发。OTA 检测器监听 0x318 GTW_carState,确认 Tesla 在做固件更新时自动暂停 TX,避免与官方升级流冲突。

来源:README + fsd_handler.h + SECURITY.md
Service 模式下的扩展玩法(Extras)

Service 模式开放 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

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) MCP2515 CAN 控制器(SPI,主项目自带 mcp_can_2515 驱动)MCP2515 CAN 控… ESP32 TWAI 内置 CAN 外设(M5Stack/Lilygo/Waveshare 板型)ESP32 TWAI 内… autowp/autowp-mcp2515 ^1.3.0(ESP32+MCP2515 板型)autowp/autowp-… Links2004/WebSockets ^2.4.0(ESP32 Web 仪表盘)Links2004/WebS… Adafruit NeoPixel ^1.12.0(状态 LED)Adafruit NeoPi… HW3/HW4/Legacy 自动识别 + FSD 区域门绕过HW3/HW4/Legacy 自动… TLSSC Restore(0x331 DAS 配置欺骗)TLSSC Restore(0x33… Ban Shield(0x7FF 配置帧冻结)Ban Shield(0x7FF… DAS 感知的 Nag Killer(握盘提醒抑制)DAS 感知的 Nag Kill… 实时 BMS 与车辆仪表(只读,不需 FSD)实时 BMS 与车辆仪表(… ESP32 端口与 WiFi Web 仪表ESP32 端口与 WiFi W… 三档运行模式 + 安全默认 Service 模式下的扩展玩法(Extras)Service 模式下的扩展… flipper-tesla-fsd 项目本体 核心功能 关键依赖

中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成

技术栈

语言C(Flipper Zero FAP,主项目)+ C++(ESP32 Arduino 框架,esp32/.firmware)+ 少量 Python(tools/make_demo_gif.py 工具脚本)框架Flipper Zero ufbt 构建系统 + flipperzero-firmware API 87.1(target 7);ESP32 侧 Arduino + PlatformIO(espressif32 平台)
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…
硬件:Flipper Zero(约 170 美元)+ Electronic Cats CAN Add-On(MCP2515 v1.2,约 30 美元)+ OBD-II 或 X179 排针;或 ESP32 单板方案,最低 M5Stack ATOM Lite + ATOMIC CAN 约 14 美元。连接点推荐 X179 第 13/14 针 Bus 6(Gateway 转发的混合总线,全工况活跃),OBD-II 在部分 Model 3/Y 进入 Drive 后会失活。固件构建分别用 ufbt(Flipper)和 pio run -e <board>(ESP32),分发以 .fap 文件投放到 SD Card/apps/GPIO/。
来源:README + esp32/platformio.ini + application.fam + HARDWARE.md

快速上手

# Flipper Zero — 直接下载预编译 FAP # 1. 进入 https://github.com/hypery11/flipper-tesla-fsd/releases # 2. 下载 tesla_mod.fap # 3. 复制到 SD 卡:SD Card/apps/GPIO/tesla_mod.fap # Flipper Zero — 从源码构建 git clone https://github.com/hypery11/flipper-tesla-fsd.git cd flipper-tesla-fsd ufbt # 构建产物:dist/tesla_mod.fap # ESP32 端口(任选一个 board target) git clone https://github.com/hypery11/flipper-tesla-fsd.git cd flipper-tesla-fsd/esp32 pio run -e m5stack-atom # 或 esp32-lilygo / waveshare-s3-can / esp32-mcp2515 # 运行(车上) # 1. 把 CAN Add-On 插到 Flipper Zero(或 ESP32 烧好固件) # 2. CAN-H/CAN-L 接到 OBD-II 或 X179 第 13/14 针 # 3. Apps > GPIO > Tesla Mod # 4. 选 Auto Detect & Start(或强制 HW3/HW4) # 5. 等待 8 秒内的硬件识别完成 # 6. 在车机里启用 TLSSC 开关后即开始改写帧
来源:README

使用场景

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 的开源替代时的参考实现。

来源:综合分析

优势与局限

优势

  • 诚实标注边界:README 与 SECURITY.md 反复强调本项目只做区域门绕过,不绕过 Tesla 服务端订阅,FSD 神经网络权重仍由 Tesla 控制;这种自我设限在改装项目里少见。
  • 默认安全姿态:首次启动强制进入 Listen-Only 模式,MCP2515 在硬件层禁 TX;OTA 检测器监听 0x318 自动暂停写入;TX 写入面在 SECURITY.md 中显式列举,第三方可独立审计。
  • 扩展性优先的代码组织:fsd_handler.h 集中 37 个 CAN ID 常量与全量状态结构体,新增一个 Extras 仅需 ~30 LOC(changelog.md 与 ROADMAP.md 都明确给出 Tier 1/Tier 2 扩展模板),降低社区贡献门槛。
  • 硬件覆盖广:单一仓库同时维护 Flipper Zero 与 4 套 ESP32 硬件目标,通过 PlatformIO build_flags 切换 TWAI 或 MCP2515 CAN 驱动;最低成本 14 美元 vs S3XY Commander 200+ 美元,价格优势具体可量化。
  • 对抗封禁的工程化:Ban Shield(冻结 0x7FF 健康快照)和 TLSSC Restore(0x331 重写)是针对 2026-04 VIN 封禁公开的两条具体路径,作者明确写出在 Palladium/HW4/Intel HW3 上的差异化效果。
  • 社区驱动的可信度:vehicle compatibility 表格逐车型列出测试者 GitHub ID 与固件版本,issue 模板包含专门的 car_compatibility.yml;问题不藏着掖着。

局限

  • 可维护性风险——版本号漂移:application.fam 里 fap_version 仍是 2.11.0,git tag 已到 v2.13.1,changelog.md 也只覆盖到 2.11,发布元数据与代码状态不一致,下游打包者容易拿到错误的版本号。
  • 可扩展性瓶颈——硬编码 CAN ID 表:fsd_handler.h 用 #define 显式列出 37 个 CAN ID,业务逻辑里直接 switch/dispatch;ROADMAP.md 已规划 Tier 1+Tier 2 至少 25 项新功能,再翻一倍后这种集中表会变成维护痛点,缺少基于 ID 的注册式分发机制。
  • 可测试性不足:仓库里看不到任何单元测试或回放装置(无 tests/ 目录),所有验证都依赖 issue 模板里的车主回报,对一个直接写入车辆 CAN 总线的项目来说测试覆盖明显偏弱,回归保护几乎只能靠 community report。
  • 稳定性依赖运行时实测:作者在 SECURITY.md 自己说 Ban Shield 是否真的有效,取决于 AP ECU 究竟从 CAN 还是以太网读 0x7FF——这一关键前提仍未确证;同样 Intel HW3 的 TLSSC 与 AP 互相冲突也是已知 workaround 而非彻底修复。
  • 性能/工艺侧:Flipper Zero 端 MCP2515 走 SPI,在 25–500 帧/秒的 Tesla CAN 总线上受 SPI 时延限制,作者已经在 v2.8 把 nag killer 流量从 25 帧/秒压到接近零,但密集写入场景仍可能错过帧;ESP32 内置 TWAI 性能更好,但又把代码路径分裂成两套需要长期对齐。
  • 法律与运行风险不可外推:项目 GPL-3.0 + 明确声明仅用于私有道路与研究,但实际使用涉及 Tesla 服务条款、各国道路交通法规与车辆保修条款,个人承担全部责任;同时 VIN 级封禁是单向不可逆的,错误使用代价高。
来源:综合分析(README + SECURITY.md + ROADMAP.md + changelog.md + tree.txt)

最新版本

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.md

总结评价

flipper-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 服务条款的法律责任完全由使用者承担。

来源:综合分析
透明度声明
本页内容由 AI(大语言模型)基于以下公开材料自动生成:GitHub README、代码目录结构、依赖文件、Release 信息。 分析时间: 2026-04-28 01:25. 质量评分: 100/100.

数据来源:README、GitHub API、依赖文件