Subaru - commaai/openpilot GitHub Wiki

Make-Specific terms
For general terms, go here.
| Term | Abbreviation | Definition |
|---|---|---|
| EyeSight | ES | Subaru's vision based adaptive cruise / emergency braking / lane keeping system |
| Global Platform | Global / gen1 | Subaru's current unified platform, allowing a consistent core between different models. Lowering cost, and improving ease of development. Models using Global Platform include 2017+ Impreza, 2018+ Crosstrek |
| gen2 | Global gen2 | 2020+ Legacy and 2020+ Outback. Same as global gen1, except moved some messages to bus1, especially ones required for long control. Requires EyeSight to be disabled to have long control (POC done). |
| Pre-Global Platform | Pre-Global | Refers to models with ES predating Global Platform, for example 2015-2019 Outback, 2015-2019 Legacy, 2017-2018 Forester |
| Modern Platform | Angle-based | 2023+ Global models using angle-based steering control and Subaru D harness |
Supported Models
Global
| Make | Model (US Market Reference) | Supported Package | ACC | No ACC accel below | No ALC below | Harness |
|---|---|---|---|---|---|---|
| Subaru | Ascent 2019-21 | EyeSight | Stock | 0mph | 0mph | A |
| Subaru | Crosstrek 2018-23 | EyeSight | Stock | 0mph | 0mph | A |
| Subaru | XV 2018-23 | EyeSight | Stock | 0mph | 0mph | A |
| Subaru | Forester 2019-21 | EyeSight | Stock | 0mph | 0mph | A |
| Subaru | Impreza 2017-22 | EyeSight | Stock | 0mph | 0mph | A |
| Subaru | Legacy 2020-22 | EyeSight | Stock | 0mph | 0mph | B |
| Subaru | Outback 2020-22 | EyeSight | Stock | 0mph | 0mph | B |
Openpilot supported vehicles list https://comma.ai/vehicles#subaru
Modern (Angle-Based Steering)
All modern US-market Subarus are angle-based steering and use the Subaru D harness.
There is no indication that modern Subaru EyeSight systems are encrypted (Except the electric vehicles, as they are rebadged Toyotas).
Confirmed Working (Forced Fingerprint Branch)
The following models have been confirmed working using a forced fingerprint branch:
- Crosstrek 2024–2025
- Outback 2023–2025 (3 camera modules confirmed; 2 camera module validated on 2024 Outback)
- Outback 2022 (Australian Model - Different to USDM Outback 2022. See below for AU's Harness)
- Impreza 2025
- Ascent 2023,2025
- Legacy 2022,2025(2 camera)
- Not supported, but forks have existed which worked for them:
- Does not work, but is possible: Forester 2023 (Pre-global, but angle-based)
- Does not work, unconfirmed 2026 Crosstrek Hybrid
Installer branch: https://installer.comma.ai/jacobwaller/master
Required PRs for Upstream Support
Modern Subaru support requires the following PRs:
Until merged upstream, modern Subaru support requires custom branches.
Hardware Requirements
- Comma 3X / 4
- Subaru D harness (US variants)
Installation Notes
- Remove the EyeSight shroud by pushing it forward (parallel to the windshield) with moderate force. This is applicable to the Subarus I have dealt with directly, but some (2023 Outback/Ascent, for example) have screws. Do not break your shroud!
- The Subaru D connector is typically located on the left side of the EyeSight module.
- International (non-US) Models may be different. For example, the Australian 2022 Outback needs a slightly modified harness: https://discord.com/channels/469524606043160576/525718620517564446/1464828879129678069
Example Shroud
The connector you want is behind "B". Push that shroud forward along the windshield
Pre-global
| Make | Model (US Market Reference) | Supported Package | ACC | No ACC accel below | No ALC below | Harness |
|---|---|---|---|---|---|---|
| Subaru | Forester 2017-18 | EyeSight | Stock | 0mph | 0mph | A |
| Subaru | Legacy 2015-19 | EyeSight | Stock | 0mph | 0mph | A |
| Subaru | Levorg 2016-20 | EyeSight | Stock | 0mph | 0mph | A |
| Subaru | Outback 2015-19 | EyeSight | Stock | 0mph | 0mph | A |
| Subaru | WRX 2016-2018 | EyeSight | Stock | 0mph | 0mph | A |
Pre-global models are upstreamed but dashcam only
https://github.com/commaai/opendbc/blob/master/opendbc/car/subaru/interface.py#L21
Work in progress
| Make | Model (US Market Reference) | Supported Package | ACC | No ACC accel below | No ALC below | Comments |
|---|---|---|---|---|---|---|
| Subaru | Crosstrek 2020 Hybrid | EyeSight | Stock | 0mph | 0mph | Subaru B harness, ACC disengage on gas press does not work |
| Subaru | Forester 2020 Hybrid | EyeSight | Stock | 0mph | 0mph | upstream PR open, needs better Cruise_Activated signal |
| Subaru | Forester 2022 | EyeSight | Stock | 0mph | 0mph | Subaru C harness, needs better Cruise_Activated signal |
| Subaru | Ascent 2023 | EyeSight | Angle-based | 0mph | 0mph | Subaru D harness |
| Subaru | Outback 2023–2025 | EyeSight | Angle-based | 0mph | 0mph | Subaru D harness, forced fingerprint branch functional |
| Subaru | Crosstrek 2024–2025 | EyeSight | Angle-based | 0mph | 0mph | Subaru D harness, forced fingerprint branch functional |
| Subaru | Impreza 2025 | EyeSight | Angle-based | 0mph | 0mph | Subaru D harness, forced fingerprint branch functional |
| Subaru | Solterra 2023 | Toyota TSS 3.0 | TBD | TBD | TBD | Toyota B harness, CAN FD, SecOC signed |
WIP models support is incomplete and untested
https://github.com/martinl/openpilot/tree/subaru-community
https://github.com/martinl/openpilot/issues
Not supported models
- BRZ - does not have LKAS
openpilot capabilities
Lateral control
Control over the steering wheel.
Torque (Global / Pre-global)
Older Subarus use torque-based steering control.
Angle (Modern)
Modern Subarus (2023+) use angle-based steering control.
Minimum speeds
0 mph minimum speed for lateral control
Longitudinal control
Control over the gas and brakes.
Longitudinal control is provided by the stock system that came with the car.
Stop and go support
EyeSight ACC stops the car behind a lead vehicle.
On models with electric parking brake:
- ACC will engage hold mode for up to 2 minutes.
- After 2 minutes, the parking brake engages.
- Resume requires manual input.
On traditional handbrake models:
- ACC disengages ~3 seconds after stopping.
Automatic resume for stop and go is implemented in the community-supported branch: https://github.com/martinl/openpilot/tree/subaru-community
Community videos
Subaru harness install
- 2018 Subaru Crosstrek (global): https://www.youtube.com/watch?v=LD7qiOcPFtU
- 2018 Subaru Legacy (pre-global): https://www.youtube.com/watch?v=-1Snpp3cQEg
Drives
- 2018 Subaru Crosstrek City Drive Timelapse: https://www.youtube.com/watch?v=1iNOc3cq8cs
- 2018 Subaru Impreza City Drive Timelapse: https://www.youtube.com/watch?v=LMCTiQE_Ado
Harness pinouts
- Subaru A: https://github.com/commaai/neo/blob/master/car_harness/v3/Subaru_A_Harness.pdf
- Subaru B: https://github.com/commaai/neo/blob/master/car_harness/v3/Subaru_B_Harness.pdf
- Subaru C: https://github.com/commaai/neo/blob/master/car_harness/v3/Subaru_C_Harness.pdf
- Subaru D: https://github.com/commaai/neo/blob/master/car_harness/v3/Subaru_D_Harness.pdf
- Toyota B: https://github.com/commaai/neo/blob/master/car_harness/v3/Toyota_B_Harness.pdf
Subaru A to Subaru B car harness conversion
- 4 <> 8, Can0 High with Can1 High
- 6 <> 10, Can0 Low with Can1 Low
- 18 <> 22, Can1 High with Can2 High
- 20 <> 24, Can1 Low with Can2 Low