Ford - nasser2019/CommaAi GitHub Wiki
Currently there is no official support for Ford/Lincoln vehicles in openpilot. Work to upstream support to openpilot is underway however support is currently provided through community maintained forks. Safety code is not always working properly and these forks should NOT be used without fully understanding the ramifications of such. Make sure to read Safer Control of Steering.
-
Vehicles with the option for "Lane Centering" (LCA) functionality from the factory are potential candidates for future support.
-
Vehicles without this feature are not currently suitable for use with openpilot as the alternative LKA method is subject to a steering lockout on the PSCM, and after 10 seconds, control will drop for approximately 200-300ms.
-
Almost all Ford vehicles support park assist commands, however this cannot be used for steering at speeds greater than 5mph.
If you want to help add support for potentially supported vehicle, you should buy some comma hardware (there is also the option of buying second hand!) and a development harness in order to build your own "Ford harness". The extra parts required vary depending on which IPMA your car has. If you need help, ask on Discord!
Table of Contents
Support for these vehicles is being actively developed. All of these vehicles are "dashcam only" as panda safety code has not yet been upstreamed.
Lateral control is implemented using the LCA/TJA method allowing for steering down to 0mph. Currently, ACC is stock and OP long is not supported.
The vehicle should have the Adaptive Cruise package (or otherwise a radar/retrofit).
- Ford Escape 2020+/Kuga 2019+
- Ford Focus Mk4 2018+ (EU only)
The vehicles below should theoretically be possible to support, provided they have the necessary hardware, but as of yet are untested and do not have any support in openpilot. If you have a vehicle with the option for "Adaptive Cruise with Stop/Go and Lane Centering", it should be possible to add support, as long as it comes with the necessary hardware (a radar, and electric brake booster ABS for stop-and-go ACC). Share it with us in the #ford channel on Discord and read Getting started.
- Ford Fiesta Mk8 2017+
- Ford Puma 2017+
- Ford Edge 2019+
- Ford Transit 2019+
- Ford Explorer 2020+
- Ford F450 2020+
- Ford Bronco 2021+
- Ford Bronco Sport 2021+
- Ford Expedition 2022+
These vehicles cannot be obtained with ACC (radar), however, they may be supported in the future when openpilot has "vision only" longitudinal (no radar), and code is written to replicate the ACC messages.
-
Ford Fiesta Mk8 2017+ ST
The ST variant does not have space for the radar to be installed due to the intercooler.
These vehicles should theoretically be possible to support, but currently no CAN-FD vehicle is supported in openpilot, so may take longer to port. They also use the new IPMA with the MobileEye Q4 chip, which a different harness.
All code listed here is WIP and not expected to work 100%. These branches use the LKA method and are subject to the "10-second lockout".
Make | Model | Supported Package | ACC | No ACC accel below | No LKA below | No Lateral below |
---|---|---|---|---|---|---|
Ford | F150 2015-Present | Lariat or Higher | Stock | 12mph | 35mph | 10mph |
For general terms, go here.
Abbreviation | Term | Definition |
---|---|---|
AHBC | Automatic High Beam Control | |
APA | Active Park Assist | |
APIM | Accessory Protocol Interface Module | SYNC Screen |
BLIS | Blind Spot Information System | |
CADS | Collision Avoidance Detection System | ACC Radar Module for Stop/Go (IPMA does longitudinal calcs) |
CCM | Cruise Control Module | ACC Radar Module for Non Stop/Go |
CTA | Cross Traffic Alert | |
DAS | Driver Alertness System | |
FCIM | Front Controls Interface Module | SYNC Surround (Climate, Hazards, 360 Cam, Hill Descent) |
FDA | Forward Distance Alert | Follow distance warning if you are too close to the vehicle in front. Also known as Forward Alert (FA) |
GWM | Gateway Module | Gatekeeper for all CAN networks in the vehicle |
HUD | Head Up Display | Used for the Collision Warning and Pre-Collision Assist |
iACC | Intelligent Adaptive Cruise Control | Combines TSR, ACC, and navigation data if present, to automatically adjust the cruise speed |
IPC | Instrument Panel Cluster | aka instrument cluster, speedometer... |
IPMA | Image Processing Module A | LKAS Camera |
LCA | Lane Centering Assist | |
PAM | Park Aid Module | |
PCA | Pre-Collision Assist | |
PSCM | Power Steering Control Module | |
SCCM | Steering Column Control Module | SWC Buttons |
SODL | Side Obstacle Detection Left | BLIS Left Module |
SODR | Side Obstacle Detection Right | BLIS Right Module |
TCU | Telematics Control Unit | SYNC Connect LTE |
Operation of openpilot is tied to the stock cruise control being engaged/disengaged. Below is a table showing the range of speeds at which cruise control can be operated. With ACC SnG, openpilot can operate at the full range of speeds.
Transmission | Stop and Go | Min Engage Speed | Disengage Speed |
---|---|---|---|
Manual | - | 20mph | 12mph |
Automatic | No | 20mph | 12mph |
Automatic | Yes | 0mph | - |
Control over the steering wheel.
Method | Min Steer Speed | Max Steer Speed | Notes |
---|---|---|---|
LKA | 35mph | - | Lockout for 200-300ms every 10 seconds |
LCA | 0mph | - | Can only be used with compatible PSCM |
APA | 0mph | 5mph | Cannot be used over 5mph |
Vehicles without LKAS can use openpilot, so long as the LKAS Enable bit is changed in the PSCM with Forscan. This will throw a recurring DTC for a missing IPMA, but will not show up on the IPC. Ford currently has a steering lockout on the PSCM, and after 10 seconds, commands will drop for approximately 200-300ms. A fix has not yet been implemented.
Lateral Control with LKA is tied to the Cruise Control. On non Stop/Go vehicles, Lateral stops at 12mph, and can be manually engaged above 20mph. On Stop/Go vehicles, Lateral stops at 10mph.
Some vehicles (those with the option for LCA/TJA from the factory, or otherwise a compatible PSCM) can use an alternate control method which does not have the steering lockout. The feature can be enabled on supported vehicles by changing the LCA/TJA Enable bit in the PSCM as-built data using Forscan.
Lateral Control with LCA is functional down to 0mph.
Control over the gas and brakes.
On newer vehicles, the IPMA calculates the ACC commands. It has a private CAN bus to the radar. This means we can intercept messages from the camera to the car using the same harness, and openpilot longitudinal is possible to implement.
Most older Ford/Lincoln vehicles do not support OP Longitudinal Control. The CCM on these vehicles (Non Stop/Go) interfaces directly with the HS2 CAN bus and cannot be intercepted. These vehicles run in Lateral Only mode.
Stop and Go vehicles can be intercepted, but this has not been tested.
In order to intercept the CAN messages from the IPMA we need to use a harness. There are a few known variants of the IPMA as Ford introduced new features.
Currently, comma does not sell any Ford harnesses so we have to build our own. You can buy the "Developer Harness" from comma (with the comma power, harness box and fully-wired harness with no connectors) and build your own harness.
Building a harness requires the dev harness, connectors (female connector for car side, and male connector to the camera) and crimp pins for attaching the dev harness wires to the connectors. You can use the information below (pinouts, part lists) to help you source these parts. The pinout for the 26-pin harness wire can be found on GitHub.
The CAN bus from the car should be connected to Panda CAN0, the CAN bus from the camera should be connected to Panda CAN2, and if there is a radar present then its private CAN bus should be connected to Panda CAN1.
This connector is present on the original IPMA which, as far as we know, does not support "Lane Centering" feature.
It is a 14-pin connector from Western Diversified Plastics, who do not sell the part to individuals.
However, STL files exist which can be used to 3D print the connectors. These have kindly been provided by Wahzoo#3094 on Discord. Download on Google Drive.
Click here to reveal images
The newer IPMA contains the MobileEye Q3 chip and introduced the "Lane Centering" feature for vehicles with stop-and-go ACC. It is found on the newer vehicles as early as the Ford Fiesta Mk7 (EU) (Mk8 in UK). All vehicles with this IPMA are potentially supportable by openpilot provided they have, or have retrofitted, Adaptive Cruise Control.
Click here to reveal image
This is a Molex Mini50 Series 12-pin connector.
Pin | Function | Colour |
---|---|---|
1 | LANE DEPARTURE WARNING HEATER FRONT WINDOW - | BU-WH |
2 | - | |
3 | RADAR CAN HIGH | BN-BU |
4 | 12V (IGNITION/ACCESSORY) | BU-BN |
5 | GROUND | BK-WH |
6 | - | |
7 | - | |
8 | LANE DEPARTURE WARNING HEATER FRONT WINDOW + | BU-GY |
9 | CAN BUS HIGH SPEED 2 LOW | GY-BU |
10 | CAN BUS HIGH SPEED 2 HIGH | GN-OG |
11 | RADAR CAN LOW | GY-BU |
12 | - |
Name | Part | Manufacturer | Links | Notes |
---|---|---|---|---|
MINI50 CONN RCPT 12CKT NB NP BLK | 0348240124 | Molex | WM10324-ND at DigiKey | Harness connector |
CONN HEADER R/A 12POS 2MM | 0348260124 | Molex | WM10328-ND at DigiKey | Harness receptacle |
CONN SOCKET 24AWG CRIMP TIN | 5600230421 | Molex | WM8745CT-ND at DigiKey | Pins for harness connector |
The new IPMA with MobileEye Q4 chip for BlueCruise on the CAN-FD platform. The only vehicles using this platform are the Ford Mustang Mach-E 2021+ and the new Ford F-150 Lightning 2022+.
Pin | Function | Colour |
---|---|---|
1 | 12V* | WH-OG |
2 | - | |
3 | - | |
4 | PARKING AID SENSORS REAR - | GN-WH |
5 | SENSOR PARKING AID REAR (RIGHT INNER) | YE-VT |
6 | SENSOR PARKING AID REAR (RIGHT OUTER) | VT-OG |
7 | SENSOR PARKING AID ACTIVE PARK ASSIST (AUTOPARK) FRONT LEFT SIDE | BU |
8 | SENSOR PARKING AID ACTIVE PARK ASSIST (AUTOPARK) FRONT RIGHT SIDE | GY-VT |
9 | SENSOR PARKING AID FRONT (RIGHT INNER) | WH |
10 | SENSOR PARKING AID FRONT (RIGHT OUTER) | BN-WH |
11 | PARKING AID SENSORS FRONT - | YE-OG |
12 | - | |
13 | GROUND | BK |
14 | - | |
15 | PARKING AID SENSORS REAR + | BU-WH |
16 | SENSORS PARKING AID REAR (LEFT INNER) | BU-GY |
17 | SENSORS PARKING AID REAR (LEFT OUTER) | GY-BN |
18 | SENSOR PARKING AID ACTIVE PARK ASSIST (AUTOPARK) REAR RIGHT SIDE | BU-BN |
19 | SENSOR PARKING AID ACTIVE PARK ASSIST (AUTOPARK) REAR LEFT SIDE | BU-GN |
20 | SENSOR PARKING AID FRONT (LEFT INNER) | VT-GN |
21 | SENSOR PARKING AID FRONT (LEFT OUTER) | GN-OG |
22 | PARKING AID SENSORS FRONT + | VT-GY |
23 | - | |
24 | SWITCH - PARKING AID | GN-BN |
- Unclear if this is battery 12V or accessory
Pin | Function | Colour |
---|---|---|
1 | - | |
2 | RIGHT REAR RADAR GROUND | BU-BN |
3 | - | |
4 | - | |
5 | LEFT REAR RADAR GROUND | VT-BN |
6 | LANE DEPARTURE WARNING HEATER FRONT WINDOW - | BU-WH |
7 | CAN BUS HIGH SPEED FD LOW | BU-OG |
8 | CAN BUS HIGH SPEED FD HIGH | YE-OG |
9 | FRONT RADAR GROUND | GN-WH |
10 | - | |
11 | RIGHT REAR RADAR POWER | VT-GY |
12 | REAR RADAR CAN BUS LOW | YE-BU |
13 | REAR RADAR CAN BUS HIGH | GN-VT |
14 | LEFT REAR RADAR POWER | YE-GN |
15 | REAR RADAR CAN BUS LOW | YE-BU |
16 | REAR RADAR CAN BUS HIGH | GN-VT |
17 | LANE DEPARTURE WARNING HEATER FRONT WINDOW + | BU-GY |
18 | FRONT RADAR POWER | GY |
19 | FORWARD LOOKING RADAR CAN BUS LOW | GY-BU |
20 | FORWARD LOOKING RADAR CAN BUS HIGH | BN-BU |
Pin | Function | Colour |
---|---|---|
1 | - | |
2 | RIGHT FRONT RADAR GROUND | GN-BU |
3 | LEFT FRONT RADAR GROUND | BN-GN |
4 | FRONT RADAR CAN BUS LOW | WH-OG |
5 | FRONT RADAR CAN BUS HIGH | WH-VT |
6 | - | |
7 | - | |
8 | - | |
9 | - | |
10 | - | |
11 | RIGHT FRONT RADAR POWER | GN-BU |
12 | FRONT RADAR CAN BUS LOW | WH-OG |
13 | FRONT RADAR CAN BUS HIGH | WH-VT |
14 | LEFT FRONT RADAR POWER | YE-OG |
15 | - | |
16 | - | |
17 | - | |
18 | - | |
19 | - | |
20 | - |
These parts haven't been tested/confirmed - nobody has built one yet!
Name | Part | Manufacturer | Links | Notes |
---|---|---|---|---|
? | ? | TE Connectivity | Need to source C4242A harness connector | |
Generation Y Connector, 20 Pos, 2.54mm | 2288276-1 | TE Connectivity | TE Connectivity | For C4242B and C4242C harness connectors? |
? | ? | TE Connectivity | Need to source harness receptacles |