Короткий ответ: до покупки оборудования и попыток адаптации openpilot полезно сначала доказать, насколько конкретный BYD похож на уже исследованные автомобили.

Если вы ещё не читали общий разбор состояния поддержки BYD, сначала полезно открыть материал «Openpilot для BYD в 2026 году: что уже есть в открытом коде и почему “поддержка BYD” ещё не означает plug-and-play» — это Post 500. Эта статья отвечает уже на другой вопрос: что именно проверить на своей машине.
1. Сначала определите точную конфигурацию автомобиля
Запись «BYD Atto 3» или «BYD Frigate 07» — слишком широкое описание для технической адаптации.
Минимально стоит зафиксировать:
- точную модель;
- год выпуска;
- месяц или производственный период, если известен;
- рынок автомобиля;
- левый или правый руль;
- комплектацию;
- наличие ACC;
- наличие функции удержания или центрирования в полосе;
- тип установленной фронтальной ADAS-камеры;
- номера ключевых блоков, если их можно получить штатной диагностикой.
Это важно не теоретически. Опубликованное исследование BYD Atto 3 относится к одному конкретному автомобилю — 2024 RHD export build, а автор отдельно предупреждает, что автомобили китайского рынка и другие модельные годы могут отличаться. GitHub
Поэтому правильная запись для будущего сравнения выглядит скорее так:
BYD Atto 3 2024 RHD export market ADAS camera:camera firmware: EPS firmware: brake ECU firmware:
а не просто:
BYD Atto 3
2. Камера ADAS — один из первых элементов, которые стоит проверить
Для openpilot важна не только сама модель автомобиля, но и точка подключения к его ADAS-системе.
В опубликованном порте Atto 3 исследован автомобиль с камерой Veoneer MVS4. Для него указаны конкретные номера камеры и её firmware. Но тот же автор отдельно отмечает, что BYD использовал камеры разных поставщиков, включая Veoneer и Bosch, причём разъёмы могут отличаться. GitHub
Практически это означает:
Совпадение модели автомобиля ещё не гарантирует совпадение harness.
Перед покупкой переходника или изготовлением кабеля полезно сохранить:
- фото корпуса камеры;
- фото маркировки;
- BYD part number;
- supplier part number;
- фотографию разъёма;
- количество контактов;
- расположение проводов;
- firmware, если оно доступно диагностически.
Не стоит определять совместимость разъёма “на глаз” только по фотографии чужой машины.
3. Нужно понять CAN-топологию, а не просто обнаружить CAN
Фраза «на машине есть CAN» практически ничего не говорит о готовности openpilot.
В исследованном Atto 3 непосредственно возле ADAS-камеры обнаружены две разные сети: chassis CAN и отдельная private CAN; первая используется для основных автомобильных сообщений, а вторая связывает камеру с радаром. Причём эти сети различаются и по типу транспорта: в описанном автомобиле chassis bus — классический CAN, а private bus — CAN-FD. GitHub
Это хороший пример того, почему перед переносом чужого порта нужно ответить хотя бы на вопросы:
- сколько шин приходит к ADAS-камере;
- CAN это или CAN-FD;
- где находится EPS;
- где виден ACC;
- где находится radar;
- какие сообщения видит камера;
- какие сообщения идут между камерой и другими ADAS ECU.
При этом на первом этапе достаточно пассивно читать и сравнивать данные. Для предварительной идентификации автомобиля нет необходимости сразу переходить к передаче управляющих сообщений.
4. ECU firmware часто важнее названия комплектации
В современной архитектуре opendbc файл fingerprints.py используется как база firmware ECU для автоматической идентификации автомобиля. Сам проект отдельно описывает fingerprinting как процесс распознавания автомобиля и включает firmware versions в структуру автомобильного порта. GitHub
Для исследованного Atto 3 автор сканировал ECU и выделил firmware нескольких ключевых модулей, включая:
- MPC / camera;
- brake;
- EPS;
- forward radar;
- drive unit;
- SRS.
Это не означает, что именно этот набор обязан использовать любой другой BYD. Это пример того, какие аппаратные различия полезно фиксировать до переноса порта. GitHub
Особенно важны для дальнейшего сравнения:
EPS
Electric Power Steering непосредственно связан с возможностью и характером lateral control.
Brake / IPB / ESP
Этот блок критичен, если рассматривается продольное управление.
ADAS camera
Камера часто является центральным узлом штатных LKAS/ACC функций и удобной точкой подключения harness.
Forward radar
Он может находиться на другой CAN-сети и потребовать отдельного radar interface.
5. Что такое fingerprint и чего он не доказывает
Fingerprint нужен для ответа на вопрос:
На какую уже известную конфигурацию похож этот автомобиль?
Но fingerprint не отвечает автоматически на другой вопрос:
Можно ли безопасно управлять этим автомобилем теми же командами?
Архитектура opendbc специально разделяет эти функции: fingerprints.py отвечает за идентификационные данные ECU, carstate.py — за чтение состояния, carcontroller.py — за управляющие сообщения, а opendbc/safety/ — за vehicle-specific safety. GitHub
Поэтому возможна ситуация:
ECU очень похожи + многие CAN сообщения совпадают + автомобиль корректно распознаётся
но при этом:
steering message отличается или checksum отличается или counter отличается или ACC state machine отличается
и готовой совместимости всё равно нет.
Именно поэтому fingerprint нужно рассматривать как сильный диагностический сигнал, а не как разрешение скопировать другой carcontroller.
6. Сравните не только CAN ID, но и реальное поведение сигналов
Если вы собираете пассивный CAN-log, полезнее записать поездку с несколькими понятными событиями, чем просто пять минут движения прямо.
Официальная документация opendbc при reverse engineering рекомендует записывать маршруты с различными событиями — включением LKAS/ACC, движением руля и другими изменениями — а затем сравнивать CAN-поток. GitHub
Для предварительной диагностики интересны события вроде:
- зажигание включено / выключено;
- P / R / N / D;
- тормоз нажат / отпущен;
- газ нажат / отпущен;
- поворот руля в обе стороны;
- левый / правый поворотник;
- ACC выключен / standby / active;
- LKAS выключен / включён;
- изменение заданной скорости ACC.
На этом этапе цель — понять структуру автомобиля, а не заставить его выполнить команду.
7. EPS — отдельный Gate
Даже если удалось полностью прочитать автомобиль, openpilot нужен интерфейс, позволяющий управлять рулевым механизмом.
Официальный opendbc определяет lateral control как управление рулём, а полноценный car port включает соответствующий controller и vehicle-specific safety. GitHub
До активного тестирования имеет смысл выяснить:
- какая ECU отвечает за EPS;
- совпадает ли её firmware с исследованной машиной;
- какие штатные сообщения LKAS видны;
- исчезают ли они при отключении штатной камеры;
- какой блок фактически является источником команды.
Если это неизвестно, наличие подходящего DBC ещё не означает, что lateral port готов.
8. ACC и longitudinal control проверяются отдельно
Продольная часть — газ и торможение — не является автоматическим следствием работающего steering port.
Сам opendbc различает базовый port и более полный port: полный вариант включает lateral и longitudinal control, настройку, radar parsing и fingerprinting. GitHub
Даже официальный BYD bounty сформулирован похожим образом: для BYD требуется качественный lateral port и harness, а longitudinal support указан как желательная дополнительная часть. GitHub
Поэтому результаты лучше фиксировать раздельно:
| Область | Что уже известно |
|---|---|
| Vehicle identification | ECU / firmware / fingerprint |
| State parsing | speed, steering, pedals, gear |
| Lateral | EPS / LKAS architecture |
| Longitudinal | ACC / brake / drive unit |
| Radar | bus / objects / lead information |
| Harness | camera connector / bus topology |
| Safety | limits / allowed messages / tests |
Так значительно сложнее ошибочно объявить машину «поддерживаемой» только потому, что удалось читать скорость и угол руля.

9. Radar тоже нельзя автоматически наследовать от соседней модели
В исследованном Atto 3 radar tracks находятся на отдельной private CAN, а автор community-порта специально реализовал их чтение для своего проекта. При этом связанная upstream-работа могла рассматривать radar иначе. GitHub
Для другой модели BYD нужно отдельно выяснить:
- какой radar установлен;
- доступен ли он через ту же точку;
- на какой шине идут tracks;
- совпадают ли message IDs;
- совпадает ли структура объектов.
Если этого не проверить, перенос radar_interface.py с другого BYD может дать ложные или отсутствующие цели.
10. Harness нельзя выбирать только по названию автомобиля
Официальная схема openpilot предполагает использование vehicle-specific car harness для подключения оборудования к автомобильным сетям. Для ещё не поддерживаемых машин документация opendbc прямо предусматривает разработку собственного connector/harness. GitHub
Для BYD это особенно важно из-за возможной смены поставщика камеры и разъёма между версиями. Community-исследование Atto 3 прямо рекомендует проверять connector своей машины, а не переносить данные с одной исследованной конфигурации. GitHub
Поэтому до покупки harness лучше иметь как минимум:
camera model camera part number connector photo pin count bus topology vehicle year market
Если этих данных нет, обещание «этот переходник подходит для BYD» требует дополнительной проверки.
11. Самая безопасная последовательность — сначала чтение, потом сравнение
Для неподдерживаемого автомобиля разумно разделить работу на этапы.
Этап A — физическая идентификация
Ничего не передавать в автомобиль.
Собрать:
- VIN / модель / год / рынок;
- camera;
- connector;
- radar;
- part numbers.
Этап B — диагностическая идентификация
Получить доступные:
- ECU list;
- firmware versions;
- диагностические identifiers.
Этап C — пассивный CAN
Записать сообщения без подмены штатного ADAS.
Этап D — сравнение
Сравнить:
camera + ECU firmware + CAN buses + DBC signals + stock LKAS + ACC + radar
с уже существующей BYD-кодовой базой.
Только после этого имеет смысл обсуждать активную адаптацию.
12. Почему не стоит сразу проверять управление на дороге
openpilot использует отдельную safety-модель, которая ограничивает допустимые управляющие воздействия. В официальной документации comma отдельно подчёркивает требования к возможности немедленного возврата ручного управления и ограничениям скорости изменения траектории автомобиля. GitHub
В opendbc safety-код также тестируется отдельно для поддерживаемых автомобильных платформ. GitHub
Поэтому для нового BYD неправильная последовательность выглядит так:
нашли похожий GitHub port → скопировали controller → отправили команды → поехали проверять
Разумнее:
идентификация → пассивные данные → сравнение → hardware/harness → controller analysis → safety → закрытая проверка → только затем дорожные испытания
Community-автор Atto 3 также прямо предупреждает не наследовать actuator limits с другой BYD-платформы и проверять их для собственного автомобиля. GitHub
13. Практический чек-лист BYD перед openpilot
Перед тем как считать автомобиль хорошим кандидатом, полезно заполнить такую карточку:
Автомобиль
- [ ] точная модель;
- [ ] год;
- [ ] рынок;
- [ ] комплектация;
- [ ] LHD / RHD;
- [ ] ACC присутствует;
- [ ] LKAS/LCC присутствует.
ADAS camera
- [ ] производитель;
- [ ] BYD part number;
- [ ] supplier part number;
- [ ] фото разъёма;
- [ ] firmware.
ECU
- [ ] camera ECU;
- [ ] EPS;
- [ ] brake/IPB/ESP;
- [ ] radar;
- [ ] drive unit;
- [ ] firmware записаны.
CAN
- [ ] количество доступных bus;
- [ ] classic CAN / CAN-FD определены;
- [ ] записан пассивный log;
- [ ] определены gear / speed / steering / pedals;
- [ ] найдены состояния ACC;
- [ ] найдены состояния LKAS.
Сравнение
- [ ] есть подходящий существующий BYD port;
- [ ] camera совпадает;
- [ ] ECU firmware близки или совпадают;
- [ ] основные CAN messages совпадают;
- [ ] topology совпадает;
- [ ] harness проверен.
Если большая часть этих полей остаётся пустой, покупать оборудование именно ради openpilot пока рано.
14. Как интерпретировать результат
Условно можно получить три ситуации.
Сценарий 1 — высокая схожесть
Совпадают:
- камера;
- connector;
- ECU;
- firmware;
- CAN topology;
- основные сигналы.
Тогда существующий BYD port может стать хорошей отправной точкой. Это всё ещё требует проверки controller и safety, но объём работы потенциально значительно меньше. Официальная документация opendbc также отмечает, что когда похожие автомобили уже совместимы, значительная часть базовой работы может быть выполнена заранее. GitHub
Сценарий 2 — частичное совпадение
Например:
CAN signals похожи но камера другая
или:
camera та же но EPS firmware отличается
Это уже не plug-and-play. Но такой результат всё равно полезен: он показывает, какую часть готовой платформы можно использовать, а какую необходимо исследовать отдельно.
Сценарий 3 — архитектура заметно отличается
Другой camera supplier, иной connector, другие ECU и CAN topology означают, что перенос соседней модели может оказаться почти полноценным новым port.
Именно это и нужно узнать до, а не после покупки hardware.
15. Что это означает для владельцев BYD Frigate 07 и других моделей
Для Frigate 07, Tang, Song, Sealion и других BYD логика одна и та же:
Пример оценки адаптации для одного конкретного автомобиля — в отдельном разборе BYD Frigate 07.
Не спрашивать сначала «поддерживает ли openpilot BYD?».
Лучший первый вопрос:
На какую уже исследованную BYD-платформу похож именно мой автомобиль на уровне ADAS hardware и ECU?
После этого можно перейти от абстрактной «совместимости бренда» к конкретной инженерной задаче:
My BYD vs Known BYD port Camera CAN ECU Firmware EPS ACC Radar Harness Safety
Именно такое сравнение позволяет понять, является ли машина кандидатом на относительно небольшую адаптацию или требует нового полноценного port.
Вывод
Перед установкой openpilot на неподдерживаемый BYD наиболее полезная инвестиция — не оборудование, а хороший технический профиль конкретного автомобиля.
Сначала зафиксируйте:
модель → рынок → camera → connector → ECU → firmware → CAN → EPS → ACC → radar.
Затем сравните эти данные с существующей BYD-кодовой базой.
Fingerprint помогает определить родство платформ. DBC помогает понять сообщения. Но ни одно из них отдельно не доказывает готовность автомобиля к управлению: полноценный port включает controller, hardware integration и safety. GitHub
Такой подход экономит время и, что ещё важнее, позволяет отличить реальную техническую совместимость от слишком общего утверждения:
«Это тоже BYD, значит должно работать».
Sources
- comma.ai — opendbc, architecture and car-port documentation. GitHub
- comma.ai — openpilot Safety documentation. GitHub
- comma.ai — BYD port bounty, requirements for harness and vehicle port. GitHub
- BYD Atto 3 / Yuan Plus community port research — camera, bus topology, ECU firmware, radar and applicability limits. GitHub