Technical Documentation: commaai/openpilot
โน๏ธ Provenance: Multi-Tier Ingestion ยท CodeWiki Reference
Overview (`README.md`)
Using openpilot in a car
To use openpilot in a car, you need four things:
- Supported Device: a comma four, available at comma.ai/shop/comma-four.
- Software: The setup procedure for the comma four allows users to enter a URL for custom software. Use the URL
openpilot.comma.aito install the release version. - Supported Car: Ensure that you have one of the 300+ supported cars.
- Car Harness: You will also need a car harness to connect your comma four to your car.
We have detailed instructions for how to install the harness and device in a car. Note that it's possible to run openpilot on other hardware, although it's not plug-and-play.
Branches
Running master and other branches directly is supported, but it's recommended to run one of the following prebuilt branches:
| comma four branch | comma 3X branch | URL | description |
|---|---|---|---|
release-mici |
release-tizi |
openpilot.comma.ai | This is openpilot's release branch. |
release-mici-staging |
release-tizi-staging |
openpilot-test.comma.ai | This is the staging branch for releases. Use it to get new releases slightly early. |
nightly |
nightly |
openpilot-nightly.comma.ai | This is the bleeding edge development branch. Do not expect this to be stable. |
nightly-dev |
nightly-dev |
installer.comma.ai/commaai/nightly-dev | Same as nightly, but includes experimental development features for some cars. |
For chestnut, use the following installer URLs:
| branch | URL | description |
|---|---|---|
release-chestnut |
installer.comma.ai/commaai/release-chestnut | This is openpilot's release branch. |
release-chestnut-staging |
installer.comma.ai/commaai/release-chestnut-staging | This is the staging branch for releases. Use it to get new releases slightly early. |
nightly-chestnut |
installer.comma.ai/commaai/nightly-chestnut | This is the bleeding edge development branch. Do not expect this to be stable. |
nightly-chestnut-dev |
installer.comma.ai/commaai/nightly-chestnut-dev | Same as nightly, but includes experimental development features for some cars. |
To start developing openpilot
openpilot is developed by comma and by users like you. We welcome both pull requests and issues on GitHub.
- Join the community Discord
- Check out the contributing docs
- Check out the openpilot tools
- Code documentation lives at https://docs.comma.ai
- Information about running openpilot lives on the community wiki
Want to get paid to work on openpilot? comma is hiring and offers lots of bounties for external contributors.
Safety and Testing
- openpilot observes ISO26262 guidelines, see SAFETY.md for more details.
- openpilot has software-in-the-loop tests that run on every commit.
- The code enforcing the safety model lives in panda and is written in C, see code rigor for more details.
- panda has software-in-the-loop safety tests.
- Internally, we have a hardware-in-the-loop Jenkins test suite that builds and unit tests the various processes.
- panda has additional hardware-in-the-loop tests.
- We run the latest openpilot in a testing closet containing 10 comma devices continuously replaying routes.
MIT Licensed
openpilot is released under the MIT license. Some parts of the software are released under other licenses as specified.
Any user of this software shall indemnify and hold harmless Comma.ai, Inc. and its directors, officers, employees, agents, stockholders, affiliates, subcontractors and customers from and against all allegations, claims, actions, suits, demands, damages, liabilities, obligations, losses, settlements, judgments, costs and expenses (including without limitation attorneysโ fees and costs) which arise out of, relate to or result from any use of this software by user.
THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY. THIS IS NOT A PRODUCT.
YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS.
NO WARRANTY EXPRESSED OR IMPLIED.
User Data and comma Account
By default, openpilot uploads driving data to our servers. You can also access your data through comma connect. We use your data to train better models and improve openpilot for everyone.
openpilot is open source software, and users can disable data collection if they wish.
openpilot logs the road-facing cameras, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs.
The driver-facing camera and microphone are only logged if you explicitly opt-in in settings.
By using openpilot, you agree to our Privacy Policy. You understand that use of this software or its related services will generate certain types of user data, which may be logged and stored at the sole discretion of comma. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma for the use of this data.
Overview (`docs/README.md`)
Docs development
The docs/ tree is the source for docs.comma.ai.
The site is updated on pushes to master by this workflow.
1. Build the site
op docs --build2. Run the site locally (rebuilds on change)
op docsOverview (`tools/README.md`)
openpilot tools
System Requirements
openpilot is developed and tested on Ubuntu 24.04, which is the primary development target aside from the supported embedded hardware.
Most of openpilot should work natively on macOS. On Windows you can use WSL for a nearly native Ubuntu experience. Running natively on any other system is not currently recommended and will likely require modifications.
Native setup on Ubuntu 24.04 and macOS
Follow these instructions for a fully managed setup experience. If you'd like to manage the dependencies yourself, just read the setup scripts in this directory.
1. Clone openpilot
git clone https://github.com/commaai/openpilot.git2. Run the setup script
cd openpilot
tools/op.sh setup3. Activate a Python shell
Activate a shell with the Python dependencies installed:
source .venv/bin/activate4. Build openpilot
scons -uWSL on Windows
Windows Subsystem for Linux (WSL) should provide a similar experience to native Ubuntu. WSL 2 specifically has been reported by several users to be a seamless experience.
Follow these instructions to setup the WSL and install the Ubuntu-24.04 distribution. Once your Ubuntu WSL environment is setup, follow the Linux setup instructions to finish setting up your environment. See these instructions for running GUI apps.
NOTE: If you are running WSL 2 and experiencing performance issues with the UI or simulator, you may need to explicitly enable hardware acceleration by setting GALLIUM_DRIVER=d3d12 before commands. Add export GALLIUM_DRIVER=d3d12 to your ~/.bashrc file to make it automatic for future sessions.
CTF
Learn about the openpilot ecosystem and tools by playing our CTF.
Directory Structure
โโโ car_porting/ # Tools for porting new cars
โโโ release/ # Scripts for building openpilot releases
โโโ scripts/ # Miscellaneous scriptsDevelopment tools such as cabana, plotjuggler, and replay live in openpilot/tools/:
โโโ cabana/ # View and plot CAN messages from drives or in realtime
โโโ camerastream/ # Cameras stream over the network
โโโ joystick/ # Control your car with a joystick
โโโ lib/ # Libraries to support the tools and reading openpilot logs
โโโ plotjuggler/ # A tool to plot openpilot logs
โโโ replay/ # Replay drives and mock openpilot services
โโโ sim/ # Run openpilot in a simulatorOverview (`openpilot/cereal/README.md`)
What is cereal?
cereal is the messaging system for openpilot. It uses msgq as a pub/sub backend, and Cap'n proto for serialization of the structs.
Messaging Spec
You'll find the message types in log.capnp. It uses Cap'n proto and defines one struct called Event.
All Events have a logMonoTime and a valid. Then a big union defines the packet type.
Best Practices
- All fields must describe quantities in SI units, unless otherwise specified in the field name.
- In the context of the message they are in, field names should be completely unambiguous.
- All values should be easy to plot and be human-readable with minimal parsing.
Maintaining backwards-compatibility
When making changes to the messaging spec you want to maintain backwards-compatibility, such that old logs can
be parsed with a new version of cereal. Adding structs and adding members to structs is generally safe, most other
things are not. Read more details here.
Custom forks
Forks of openpilot might want to add things to the messaging
spec, however this could conflict with future changes made in mainline openpilot's cereal spec. Rebasing against mainline openpilot
then means breaking backwards-compatibility with all old logs of your fork. So we added reserved events in
custom.capnp that we will leave empty in mainline openpilot's cereal spec. If you only modify those, you can ensure your
fork will remain backwards-compatible with all versions of mainline openpilot and your fork.
An example of compatible changes:
diff --git a/openpilot/cereal/custom.capnp b/openpilot/cereal/custom.capnp
index 3348e859e..3365c7b98 100644
--- a/openpilot/cereal/custom.capnp
+++ b/openpilot/cereal/custom.capnp
@@ -10,7 +10,11 @@ $Cxx.namespace("cereal");
# DO rename the structs
# DON'T change the identifier (e.g. @0x81c2f05a394cf4af)
-struct CustomReserved0 @0x81c2f05a394cf4af {
+struct SteeringInfo @0x81c2f05a394cf4af {
+ active @0 :Bool;
+ steeringAngleDeg @1 :Float32;
+ steeringRateDeg @2 :Float32;
+ steeringAccelDeg @3 :Float32;
}
struct CustomReserved1 @0xaedffd8f31e7b55d {
diff --git a/openpilot/cereal/log.capnp b/openpilot/cereal/log.capnp
index 1209f3fd9..b189f58b6 100644
--- a/openpilot/cereal/log.capnp
+++ b/openpilot/cereal/log.capnp
@@ -2558,14 +2558,14 @@ struct Event {
# DO change the name of the field
# DON'T change anything after the "@"
- customReservedRawData0 @124 :Data;
+ rawCanData @124 :Data;
customReservedRawData1 @125 :Data;
customReservedRawData2 @126 :Data;
# DO change the name of the field and struct
# DON'T change the ID (e.g. @107)
# DON'T change which struct it points to
- customReserved0 @107 :Custom.CustomReserved0;
+ steeringInfo @107 :Custom.SteeringInfo;
customReserved1 @108 :Custom.CustomReserved1;
customReserved2 @109 :Custom.CustomReserved2;
customReserved3 @110 :Custom.CustomReserved3;Example
import openpilot.cereal.messaging as messaging
# in subscriber
sm = messaging.SubMaster(['sensorEvents'])
while 1:
sm.update()
print(sm['sensorEvents'])# in publisher
pm = messaging.PubMaster(['sensorEvents'])
dat = messaging.new_message('sensorEvents', size=1)
dat.sensorEvents[0] = {"gyro": {"v": [0.1, -0.1, 0.1]}}
pm.send('sensorEvents', dat)Overview (`tools/car_porting/README.md`)
tools/car_porting
Check out this blog post for a high-level overview of porting a car.
Useful car porting utilities
Testing car ports in your car is very time-consuming. Check out these utilities to do basic checks on your work before running it in your car.
[Cabana](/openpilot/tools/cabana/README.md)
View your car's CAN signals through DBC files, which openpilot uses to parse and create messages that talk to the car.
Example:
> openpilot/tools/cabana/cabana '1bbe6bf2d62f58a8|2022-07-14--17-11-43'[tools/car_porting/auto_fingerprint.py](/tools/car_porting/auto_fingerprint.py)
Given a route and platform, automatically inserts FW fingerprints from the platform into the correct place in fingerprints.py
Example:
> python3 tools/car_porting/auto_fingerprint.py '1bbe6bf2d62f58a8|2022-07-14--17-11-43' 'OUTBACK'
Attempting to add fw version for: OUTBACK[openpilot/selfdrive/car/tests/test_car_interfaces.py](/openpilot/selfdrive/car/tests/test_car_interfaces.py)
Finds common bugs for car interfaces, without even requiring a route.
Example: Typo in signal name
> tools/test_runner.py openpilot/selfdrive/car/tests/test_car_interfaces.py -k subaru # replace with the brand you are working on
=====================================================================
FAILED openpilot/selfdrive/car/tests/test_car_interfaces.py::TestCarInterfaces::test_car_interfaces_165_SUBARU_LEGACY_7TH_GEN - KeyError: 'CruiseControlOOPS'[tools/car_porting/test_car_model.py](/tools/car_porting/test_car_model.py)
Given a route, runs most of the car interface to check for common errors like missing signals, blocked panda messages, and safety mismatches.
Example: panda safety mismatch for gasPressed
> python3 tools/car_porting/test_car_model.py '4822a427b188122a|2023-08-14--16-22-21'
=====================================================================
FAIL: test_panda_safety_carstate (__main__.CarModelTestCase.test_panda_safety_carstate)
Assert that panda safety matches openpilot's carState
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/batman/openpilot/opendbc_repo/opendbc/car/tests/test_models.py", line 440, in test_panda_safety_carstate
self.assertFalse(failed_checks, f"panda safety doesn't agree with CarState: {failed_checks}")
AssertionError: {'gasPressed': 116} is not false : panda safety doesn't agree with CarState: {'gasPressed': 116}Jupyter notebooks
To use these notebooks, install Jupyter within your openpilot virtual environment.
uv pip install jupyter ipykernelLaunching:
jupyter notebook[examples/subaru_steer_temp_fault.ipynb](/tools/car_porting/examples/subaru_steer_temp_fault.ipynb)
An example of searching through a database of segments for a specific condition, and plotting the results.
a plot of the steer_warning vs steering angle, where we can see it is clearly caused by a large steering angle change
[examples/subaru_long_accel.ipynb](/tools/car_porting/examples/subaru_long_accel.ipynb)
An example of plotting the response of an actuator when it is active.
a plot of the brake_pressure vs acceleration, where we can see it is a fairly linear response.
[examples/ford_vin_fingerprint.ipynb](/tools/car_porting/examples/ford_vin_fingerprint.ipynb)
In this example, we use the public comma car segments database to check if vin fingerprinting is feasible for ford.
/* Detailed source-code truncated for AI context efficiency. */[examples/find_segments_with_message.ipynb](/tools/car_porting/examples/find_segments_with_message.ipynb)
Searches for segments where a set of given CAN message IDs are present. In the example, we search for all messages
used for CAN-based ignition detection.
Match found: 46b21f1c5f7aa885/2024-01-23--15-19-34/20/s JEEP GRAND CHEROKEE V6 2018 ['VW CAN Ign']
Match found: a63a23c3e628f288/2023-11-05--18-36-20/8/s JEEP GRAND CHEROKEE V6 2018 ['VW CAN Ign']
Match found: ce31b7a998781ba8/2024-01-19--07-05-29/23/s JEEP GRAND CHEROKEE 2019 ['VW CAN Ign']
Match found: e1dfba62a4e33f7b/2023-12-25--19-31-00/4/s JEEP GRAND CHEROKEE 2019 ['VW CAN Ign']
Match found: e1dfba62a4e33f7b/2024-01-10--14-33-57/2/s JEEP GRAND CHEROKEE 2019 ['VW CAN Ign']
Match found: ae679616266f4096/2023-12-05--15-43-46/4/s RAM HD 5TH GEN ['Tesla 3/Y CAN Ign']
Match found: ae679616266f4096/2023-11-18--17-49-42/3/s RAM HD 5TH GEN ['Tesla 3/Y CAN Ign']
Match found: ae679616266f4096/2024-01-03--21-57-09/25/s RAM HD 5TH GEN ['Tesla 3/Y CAN Ign']
Match found: 6dae2984cc53cd7f/2023-12-10--11-53-15/17/s FORD BRONCO SPORT 1ST GEN ['Rivian CAN Ign']
Match found: 6dae2984cc53cd7f/2023-12-03--17-31-17/29/s FORD BRONCO SPORT 1ST GEN ['Rivian CAN Ign']
Match found: 6dae2984cc53cd7f/2023-11-27--23-29-07/1/s FORD BRONCO SPORT 1ST GEN ['Rivian CAN Ign']Overview (`tools/release/README.md`)
openpilot releases
## release checklist
### Go to staging
- [ ] make a GitHub issue to track release with this checklist
- [ ] create release master branch
- [ ] create a branch from upstream master named `zerotentwo` for release `v0.10.2`
- [ ] revert risky commits (double check with autonomy team)
- [ ] push the new branch
- [ ] push to staging:
- [ ] make sure you are on the newly created release master branch (`zerotentwo`)
- [ ] run `BRANCH=devel-staging tools/release/build_stripped.sh`. Jenkins will then automatically build staging on device, run `test_onroad` and update the staging branch
- [ ] bump version on master: `openpilot/common/version.h` and `RELEASES.md`
- [ ] post on Discord, tag `@release crew`
### Go to release
- [ ] before going to release, test the following:
- [ ] update from previous release -> new release
- [ ] update from new release -> previous release
- [ ] fresh install with `openpilot-test.comma.ai`
- [ ] drive on fresh install
- [ ] no submodules; only the Chestnut big driving model uses LFS
- [ ] check MTBF, etc.
- [ ] stress test passes in production
- [ ] publish the blog post
- [ ] `git reset --hard origin/release-mici-staging`
- [ ] tag the release: `git tag v0.X.X <commit-hash> && git push origin v0.X.X`
- [ ] create GitHub release
- [ ] final test install on `openpilot.comma.ai`
- [ ] update factory provisioning
- [ ] close out milestone and issue
- [ ] post on Discord, X, etc.Overview (`openpilot/common/transformations/README.md`)
Reference Frames
Many reference frames are used throughout. This
folder contains all helper functions needed to
transform between them. Generally this is done
by generating a rotation matrix and multiplying.
| Name | [x, y, z] | Units | Notes |
|---|---|---|---|
| Geodetic | [Latitude, Longitude, Altitude] | geodetic coordinates | Sometimes used as [lon, lat, alt], avoid this frame. |
| ECEF | [x, y, z] | meters | We use ITRF14 (IGS14), NOT NAD83. This is the global Mesh3D frame. |
| NED | [North, East, Down] | meters | Relative to earth's surface, useful for visualizing. |
| Device | [Forward, Right, Down] | meters | This is the Mesh3D local frame. Relative to camera, not imu. |
| Calibrated | [Forward, Right, Down] | meters | This is the frame the model outputs are in. More details below. |
| Car | [Forward, Right, Down] | meters | This is useful for estimating position of points on the road. More details below. |
| View | [Right, Down, Forward] | meters | Like device frame, but according to camera conventions. |
| Camera | [u, v, focal] | pixels | Like view frame, but 2d on the camera image. |
| Normalized Camera | [u / focal, v / focal, 1] | / | |
| Model | [u, v, focal] | pixels | The sampled rectangle of the full camera frame the model uses. |
| Normalized Model | [u / focal, v / focal, 1] | / |
Orientation Conventions
Quaternions, rotation matrices and euler angles are three
equivalent representations of orientation and all three are
used throughout the code base.
For euler angles the preferred convention is [roll, pitch, yaw]
which corresponds to rotations around the [x, y, z] axes. All
euler angles should always be in radians or radians/s unless
for plotting or display purposes. For quaternions the hamilton
notations is preferred which is [qw, qx, qy, qz]. All quaternions
should always be normalized with a strictly positive qw. These
quaternions are a unique representation of orientation whereas euler angles
or rotation matrices are not.
To rotate from one frame into another with euler angles the
convention is to rotate around roll, then pitch and then yaw,
while rotating around the rotated axes, not the original axes.
Car frame
Device frame is aligned with the road-facing camera used by openpilot. However, when controlling the vehicle it is helpful to think in a reference frame aligned with the vehicle. These two reference frames can be different.
The orientation of car frame is defined to be aligned with the car's direction of travel and the road plane when the vehicle is driving on a flat road and not turning. The origin of car frame is defined to be directly below device frame (in car frame), such that it is on the road plane. The position and orientation of this frame is not necessarily always aligned with the direction of travel or the road plane due to suspension movements and other effects.
Calibrated frame
It is helpful for openpilot's driving model to take in images that look similar when mounted differently in different cars. To achieve this we "calibrate" the images by transforming it into calibrated frame. Calibrated frame is defined to be aligned with car frame in pitch and yaw, and aligned with device frame in roll. It also has the same origin as device frame.
Example
To transform global Mesh3D positions and orientations (positions_ecef, quats_ecef) into the local frame described by the
first position and orientation from Mesh3D one would do:
ecef_from_local = rot_from_quat(quats_ecef[0])
local_from_ecef = ecef_from_local.T
positions_local = np.einsum('ij,kj->ki', local_from_ecef, postions_ecef - positions_ecef[0])
rotations_global = rot_from_quat(quats_ecef)
rotations_local = np.einsum('ij,kjl->kil', local_from_ecef, rotations_global)
eulers_local = euler_from_rot(rotations_local)Overview (`openpilot/system/ui/README.md`)
ui
The user interfaces here are built with raylib.
Quick start:
- set
BIG=1to run the comma 3X UI (comma four UI runs by default) - set
SHOW_FPS=1to show the FPS - set
STRICT_MODE=1to kill the app if it drops too much below 60fps - set
SCALE=1.5to scale the entire UI by 1.5x - set
BURN_IN=1to get a burn-in heatmap version of the UI - set
GRID=50to show a 50-pixel alignment grid overlay - set
MAGIC_DEBUG=1to show every dropped frames (only on device) - set
RECORD=1to record the screen, output defaults tooutput.mp4but can be set withRECORD_OUTPUT - set
PRIME_TYPEto preview pairing/Prime status:-1unpaired,0paired without Prime,2Prime Lite,1Prime Full - set
PAIRING_PROVIDERto preview the different states based on connect auth providersgoogle,githuborapple - https://www.raylib.com/cheatsheet/cheatsheet.html
- https://electronstudio.github.io/raylib-python-cffi/README.html#quickstart
Style guide:
- All graphical elements should subclass
Widget.- Prefer a stateful widget over a function for easy migration from QT
- All internal class variables and functions should be prefixed with
_
Overview (`openpilot/tools/cabana/README.md`)
Cabana
Cabana is a tool developed to view raw CAN data. One use for this is creating and editing CAN Dictionaries (DBC files), and the tool provides direct integration with commaai/opendbc (a collection of DBC files), allowing you to load the DBC files direct from source, and save to your fork. In addition, you can load routes from comma connect.
Usage Instructions
$ ./cabana -h
Usage: ./cabana [options] [route]
route the drive to replay. find your drives at connect.comma.ai
Options:
--help show this help
--demo use a demo route instead of providing your own
--auto Auto load the route from the best available source (no video):
internal, openpilotci, comma_api, car_segments, testing_closet
--qcam load qcamera
--wide-road load wide road camera (alias: --ecam)
--cabin load cabin camera (alias: --dcam)
--msgq read can messages from the msgq
--panda read can messages from panda
--panda-serial <serial> read can messages from panda with given serial
--socketcan <device> read can messages from given SocketCAN device
--zmq <ip-address> read can messages from zmq at the specified ip-address
--data_dir <dir> local directory with routes
--no-vipc do not output video
--no-cache turn off the local route file cache
--dbc <file> dbc file to openExamples
Running Cabana in Demo Mode
To run Cabana using a built-in demo route, use the following command:
cabana --demoLoading a Specific Route
To load a specific route for replay, provide the route as an argument:
cabana "5beb9b58bd12b691/0000010a--a51155e496"Replace "5beb9b58bd12b691/0000010a--a51155e496" with your desired route identifier.
Running Cabana with multiple cameras
To run Cabana with multiple cameras, use the following command:
cabana "5beb9b58bd12b691/0000010a--a51155e496" --cabin --wide-roadStreaming CAN Messages from a comma Device
SSH into your device and start the bridge with the following command:
cd /data/openpilot
./openpilot/cereal/messaging/bridge &Then Run Cabana with the device's IP address:
cabana --zmq <ipaddress>Replace <ipaddress> with your comma device's IP address.
While streaming from the device, Cabana will log the CAN messages to a local directory. By default, this directory is ~/cabana_live_stream/. You can change the log directory in Cabana by navigating to menu -> tools -> settings.
After disconnecting from the device, you can replay the logged CAN messages from the stream selector dialog -> browse local route.
Streaming CAN Messages from Panda
To read CAN messages from a connected Panda, use the following command:
cabana --pandaUsing the Stream Selector Dialog
If you run Cabana without any arguments, a stream selector dialog will pop up, allowing you to choose the stream.
cabanaAdditional Information
For more information, see the openpilot wiki
Overview (`openpilot/tools/camerastream/README.md`)
Camera stream
compressed_vipc.py connects to a remote device running openpilot, decodes the video streams, and republishes them over VisionIPC.
Usage
On the device
SSH into the device and run following in separate terminals:
cd /data/openpilot && ./openpilot/cereal/messaging/bridge
cd /data/openpilot/system/loggerd && ./encoderd
cd /data/openpilot/system/camerad && ./camerad
Note that both the device and your PC must be on the same openpilot commit.
Alternatively paste this as a single command:
(
cd /data/openpilot
./openpilot/cereal/messaging/bridge &
cd /data/openpilot/system/camerad/
./camerad &
cd /data/openpilot/system/loggerd/
./encoderd &
wait
) ; trap 'kill $(jobs -p)' SIGINTCtrl+C will stop all three processes.
On the PC
Decode the stream with compressed_vipc.py:
cd ~/openpilot/tools/camerastream && ./compressed_vipc.py <ip>
To actually display the stream, run watch3 in separate terminal:
cd ~/openpilot/selfdrive/ui/ && ./watch3.py
compressed_vipc.py usage
$ python3 compressed_vipc.py -h
usage: compressed_vipc.py [-h] [--cams CAMS] [--server SERVER] [--silent] addr
Decode video streams and broadcast on VisionIPC
positional arguments:
addr Address of comma three
options:
-h, --help show this help message and exit
--cams CAMS Cameras to decode
--server SERVER choose vipc server name
--silent Suppress debug outputExample:
cd ~/openpilot/tools/camerastream && ./compressed_vipc.py comma-ffffffff --cams 0
cd ~/openpilot/selfdrive/ui/ && ./watch3.pyOverview (`openpilot/tools/joystick/README.md`)
Joystick
Hardware needed: device running openpilot, laptop, joystick (optional)
With joystick_control, you can connect your laptop to your comma device over the network and debug controls using a joystick or keyboard.
joystick_control uses inputs which supports many common gamepads and joysticks.
Usage
The car must be off, and openpilot must be offroad before starting joystick_control.
Using a keyboard
SSH into your comma device and start joystick_control with the following command:
openpilot/tools/joystick/joystick_control.py --keyboardThe available buttons and axes will print showing their key mappings. In general, the WASD keys control gas and brakes and steering torque in 5% increments.
Joystick on your comma three
Plug the joystick into your comma three aux USB-C port. Then, SSH into the device and start joystick_control.py.
Joystick on your laptop
In order to use a joystick over the network, we need to run joystick_control locally from your laptop and have it send testJoystick packets over the network to the comma device.
- Connect a joystick to your PC.
- Connect your laptop to your comma device's hotspot and open a new SSH shell. Since joystick_control is being run on your laptop, we need to write a parameter to let controlsd know to start in joystick debug mode:shell
# on your comma device echo -n "1" > /data/params/d/JoystickDebugMode - Run bridge with your laptop's IP address. This republishes the
testJoystickpackets sent from your laptop so that openpilot can receive them:shell# on your comma device openpilot/cereal/messaging/bridge {LAPTOP_IP} testJoystick - Start joystick_control on your laptop in ZMQ mode.shell
# on your laptop export ZMQ=1 openpilot/tools/joystick/joystick_control.py
Now start your car and openpilot should go into joystick mode with an alert on startup! The status of the axes will display on the alert, while button statuses print in the shell.
Make sure the conditions are met in the panda to allow controls (e.g. cruise control engaged). You can also make a modification to the panda code to always allow controls.
Overview (`openpilot/tools/lateral_maneuvers/README.md`)
Lateral Maneuvers Testing Tool
[!WARNING]
Use caution when using this tool.
Test your vehicle's lateral control tuning with this tool. The tool will test the vehicle's ability to follow a few lateral maneuvers and includes a tool to generate a report from the route.
Instructions
Check out a development branch such as
masteron your comma device.The full maneuver suite runs at 20 and 30 mph.
Enable "Lateral Maneuver Mode" in Settings > Developer on the device while offroad. Alternatively, set the parameter manually:
shecho -n 1 > /data/params/d/LateralManeuverModeTurn your vehicle back on. You will see "Lateral Maneuver Mode".
Ensure the area ahead is clear, as openpilot will command lateral acceleration steps in this mode. Once you are ready, set ACC manually to the target speed shown on screen and let openpilot stabilize lateral. After 1 seconds of steady straight driving, the maneuver will begin automatically. openpilot lateral control stays engaged between maneuvers normally while waiting for the next maneuver's readiness conditions. The maneuver will be aborted and repeated if speed is out of range, steering is touched or openpilot disengages.
When the testing is complete, you'll see an alert that says "Maneuvers Finished." Complete the route by pulling over and turning off the vehicle.
Visit https://connect.comma.ai and locate the route(s). They will stand out with lots of orange intervals in their timeline. Ensure "All logs" show as "uploaded."
Gather the route ID and then run the report generator. The file will be exported to the same directory:
sh$ python openpilot/tools/lateral_maneuvers/generate_report.py 98395b7c5b27882e/000001cc--5a73bde686 processing report for KIA_EV6 plotting maneuver: step right 20mph, runs: 3 plotting maneuver: step left 20mph, runs: 3 plotting maneuver: sine 0.5Hz 20mph, runs: 3 plotting maneuver: step right 30mph, runs: 3 Opening report: /home/batman/openpilot/tools/lateral_maneuvers/lateral_reports/KIA_EV6_98395b7c5b27882e_000001cc--5a73bde686.html
You can reach out on Discord if you have any questions about these instructions or the tool itself.
Overview (`openpilot/tools/lib/README.md`)
LogReader
Route is a class for conveniently accessing all the logs from your routes. The LogReader class reads the non-video logs, i.e. rlog.bz2 and qlog.bz2. There's also a matching FrameReader class for reading the videos.
from openpilot.tools.lib.route import Route
from openpilot.tools.lib.logreader import LogReader
r = Route("a2a0ccea32023010|2023-07-27--13-01-19")
# get a list of paths for the route's rlog files
print(r.log_paths())
# and road camera (fcamera.hevc) files
print(r.camera_paths())
# setup a LogReader to read the route's first rlog
lr = LogReader(r.log_paths()[0])
# print out all the messages in the log
import codecs
codecs.register_error("strict", codecs.backslashreplace_errors)
for msg in lr:
print(msg)
# setup a LogReader for the route's second qlog
lr = LogReader(r.log_paths()[1])
# print all the steering angles values from the log
for msg in lr:
if msg.which() == "carState":
print(msg.carState.steeringAngleDeg)Segment Ranges
We also support a new format called a "segment range":
344c5c15b34f2d8a / 2024-01-03--09-37-12 / 2:6 / q
[ dongle id ] [ timestamp ] [ selector ] [ query type]you can specify which segments from a route to load
lr = LogReader("a2a0ccea32023010|2023-07-27--13-01-19/4") # 4th segment
lr = LogReader("a2a0ccea32023010|2023-07-27--13-01-19/4:6") # 4th and 5th segment
lr = LogReader("a2a0ccea32023010|2023-07-27--13-01-19/-1") # last segment
lr = LogReader("a2a0ccea32023010|2023-07-27--13-01-19/:5") # first 5 segments
lr = LogReader("a2a0ccea32023010|2023-07-27--13-01-19/1:") # all except first segmentand can select which type of logs to grab
lr = LogReader("a2a0ccea32023010|2023-07-27--13-01-19/4/q") # get qlogs
lr = LogReader("a2a0ccea32023010|2023-07-27--13-01-19/4/r") # get rlogs (default)Overview (`openpilot/tools/longitudinal_maneuvers/README.md`)
Longitudinal Maneuvers Testing Tool
Test your vehicle's longitudinal control tuning with this tool. The tool will test the vehicle's ability to follow a few longitudinal maneuvers and includes a tool to generate a report from the route.
Sample snapshot of a report.
Instructions
Check out a development branch such as
masteron your comma device.Locate either a large empty parking lot or road devoid of any car or foot traffic. Flat, straight road is preferred. The full maneuver suite can take 1 mile or more if left running, however it is recommended to disengage openpilot between maneuvers and turn around if there is not enough space.
Turn off the vehicle and set this parameter which will signal to openpilot to start the longitudinal maneuver daemon:
shecho -n 1 > /data/params/d/LongitudinalManeuverModeTurn your vehicle back on. You will see the "Longitudinal Maneuver Mode" alert:
Ensure the road ahead is clear, as openpilot will not brake for any obstructions in this mode. Once you are ready, press "Set" on your steering wheel to start the tests. The tests will run for about 4 minutes. If you need to pause the tests, press "Cancel" on your steering wheel. You can resume the tests by pressing "Resume" on your steering wheel.
Note: For GM cars, it is recommended to hold down the resume button for all low-speed tests (starting, stopping and creep) to avoid the car entering standstill.
When the testing is complete, you'll see an alert that says "Maneuvers Finished." Complete the route by pulling over and turning off the vehicle.
Visit https://connect.comma.ai and locate the route(s). They will stand out with lots of orange intervals in their timeline. Ensure "All logs" show as "uploaded."
Gather the route ID and then run the report generator. The file will be exported to the same directory:
sh$ python openpilot/tools/longitudinal_maneuvers/generate_report.py 57048cfce01d9625/0000010e--5b26bc3be7 'pcm accel compensation' processing report for LEXUS_ES_TSS2 plotting maneuver: start from stop, runs: 4 plotting maneuver: creep: alternate between +1m/s^2 and -1m/s^2, runs: 2 plotting maneuver: gas step response: +1m/s^2 from 20mph, runs: 2 Report written to /home/batman/openpilot/tools/longitudinal_maneuvers/longitudinal_reports/LEXUS_ES_TSS2_57048cfce01d9625_0000010e--5b26bc3be7.html
You can reach out on Discord if you have any questions about these instructions or the tool itself.
Overview (`openpilot/tools/plotjuggler/README.md`)
PlotJuggler
PlotJuggler is a tool to quickly visualize time series data, and we've written plugins to parse openpilot logs. Check out our plugins: https://github.com/commaai/PlotJuggler.
Installation
Once you've set up the openpilot environment, this command will download PlotJuggler and install our plugins:
cd openpilot/tools/plotjuggler && ./juggle.py --install
Usage
$ ./juggle.py -h
usage: juggle.py [-h] [--demo] [--can] [--stream] [--layout [LAYOUT]] [--install] [--dbc DBC]
[route_or_segment_name]
A helper to run PlotJuggler on openpilot routes
positional arguments:
route_or_segment_name
The route or segment name to plot (cabana share URL accepted) (default: None)
optional arguments:
-h, --help show this help message and exit
--demo Use the demo route instead of providing one (default: False)
--can Parse CAN data (default: False)
--stream Start PlotJuggler in streaming mode (default: False)
--layout [LAYOUT] Run PlotJuggler with a pre-defined layout (default: None)
--install Install or update PlotJuggler + plugins (default: False)
--dbc DBC Set the DBC name to load for parsing CAN data. If not set, the DBC will be automatically
inferred from the logs. (default: None)Example using route name:
./juggle.py "5beb9b58bd12b691/0000010a--a51155e496"
Examples using segment:
./juggle.py "5beb9b58bd12b691/0000010a--a51155e496/1"
./juggle.py "5beb9b58bd12b691/0000010a--a51155e496/1/q" # use qlogs
Example using segment range:
./juggle.py "5beb9b58bd12b691/0000010a--a51155e496/0:1"
Streaming
Explore live data from your car! Follow these steps to stream from your comma device to your laptop:
- Enable wifi tethering on your comma device
- SSH into your device and run
cd /data/openpilot && ./openpilot/cereal/messaging/bridge - On your laptop, connect to the device's wifi hotspot
- Start PlotJuggler with
ZMQ=1 ./juggle.py --stream, find theCereal Subscriberplugin in the dropdown under Streaming, and clickStart.
If streaming to PlotJuggler from a replay on your PC, simply run: ./juggle.py --stream and start the cereal subscriber.
Demo
For a quick demo, go through the installation step and run this command:
./juggle.py --demo --layout=layouts/tuning.xml
Layouts
If you create a layout that's useful for others, consider upstreaming it.
Tuning
Use this layout to improve your car's tuning and generate plots for tuning PRs. Also see the tuning wiki and tuning PR template.
--layout layouts/tuning.xml
Overview (`openpilot/tools/replay/README.md`)
Replay
replay allows you to simulate a driving session by replaying all messages logged during the use of openpilot. This provides a way to analyze and visualize system behavior as if it were live.
Setup
Before starting a replay, you need to authenticate with your comma account using auth.py. This will allow you to access your routes from the server.
# Authenticate to access routes from your comma account:
python3 openpilot/tools/lib/auth.pyReplay a Remote Route
You can replay a route from your comma account by specifying the route name.
# Start a replay with a specific route:
openpilot/tools/replay/replay <route-name>
# Example:
openpilot/tools/replay/replay '5beb9b58bd12b691/0000010a--a51155e496'
# Replay the default demo route:
openpilot/tools/replay/replay --demoReplay a Local Route
To replay a route stored locally on your machine, specify the route name and provide the path to the directory where the route files are stored.
# Replay a local route
openpilot/tools/replay/replay <route-name> --data_dir="/path_to/route"
# Example:
# If you have a local route stored at /path_to_routes with segments like:
# 5beb9b58bd12b691/0000010a--a51155e496--0
# 5beb9b58bd12b691/0000010a--a51155e496--1
# You can replay it like this:
openpilot/tools/replay/replay "5beb9b58bd12b691/0000010a--a51155e496" --data_dir="/path_to_routes"Send Messages via ZMQ
By default, replay sends messages via MSGQ. To switch to ZMQ, set the ZMQ environment variable.
# Start replay and send messages via ZMQ:
ZMQ=1 openpilot/tools/replay/replay <route-name>Usage
For more information on available options and arguments, use the help command:
$ openpilot/tools/replay/replay -h
Usage: openpilot/tools/replay/replay [options] route
Mock openpilot components by publishing logged messages.
Options:
-h, --help Displays this help.
-a, --allow <allow> whitelist of services to send (comma-separated)
-b, --block <block> blacklist of services to send (comma-separated)
-c, --cache <n> cache <n> segments in memory. default is 5
-s, --start <seconds> start from <seconds>
-x <speed> playback <speed>. between 0.2 - 3
--demo use a demo route instead of providing your own
--auto Auto load the route from the best available source (no video):
internal, openpilotci, comma_api, car_segments, testing_closet
--data_dir <data_dir> local directory with routes
--prefix <prefix> set OPENPILOT_PREFIX
--cabin load cabin camera
--wide-road load wide road camera
--no-loop stop at the end of the route
--no-cache turn off local cache
--qcam load qcamera
--no-hw-decoder disable HW video decoding
--no-vipc do not output video
--all do output all messages including uiDebug, userBookmark.
this may causes issues when used along with UI
Arguments:
route the drive to replay. find your drives at
connect.comma.aiVisualize the Replay in the openpilot UI
To visualize the replay within the openpilot UI, run the following commands:
openpilot/tools/replay/replay <route-name>
cd openpilot/selfdrive/ui && ./ui.pyWork with plotjuggler
If you want to use replay with plotjuggler, you can stream messages by running:
openpilot/tools/replay/replay <route-name>
openpilot/tools/plotjuggler/juggle.py --streamwatch3
watch all three cameras simultaneously from your comma three routes with watch3
simply replay a route using the --cabin and --wide-road flags:
# start a replay
cd openpilot/tools/replay && ./replay --demo --cabin --wide-road
# then start watch3
cd openpilot/selfdrive/ui && ./watch3.pyStream CAN messages to your device
Replay CAN messages as they were recorded using a panda jungle. The jungle has 6x OBD-C ports for connecting all your comma devices. Check out the jungle repo for more info.
In order to run your device as if it was in a car:
- connect a panda jungle to your PC
- connect a comma device or panda to the jungle via OBD-C
- run
can_replay.py
batman:replay$ ./can_replay.py -h
usage: can_replay.py [-h] [route_or_segment_name]
Replay CAN messages from a route to all connected pandas and jungles
in a loop.
positional arguments:
route_or_segment_name
The route or segment name to replay. If not
specified, a default public route will be
used. (default: None)
optional arguments:
-h, --help show this help message and exitOverview (`openpilot/tools/sim/README.md`)
openpilot in simulator
openpilot implements a bridge that allows it to run in the MetaDrive simulator.
Launching openpilot
First, start openpilot.
# Run locally
./openpilot/tools/sim/launch_openpilot.shBridge usage
$ ./run_bridge.py -h
usage: run_bridge.py [-h] [--joystick] [--high_quality] [--dual_camera]
Bridge between the simulator and openpilot.
options:
-h, --help show this help message and exit
--joystick
--high_quality
--dual_cameraBridge Controls:
- To engage openpilot press 2, then press 1 to increase the speed and 2 to decrease.
- To disengage, press "S" (simulates a user brake)
All inputs:
| key | functionality |
|------|-----------------------|
| 1 | Cruise Resume / Accel |
| 2 | Cruise Set / Decel |
| 3 | Cruise Cancel |
| r | Reset Simulation |
| i | Toggle Ignition |
| q | Exit all |
| wasd | Control manually |MetaDrive
Launching Metadrive
Start bridge processes located in openpilot/tools/sim:
./run_bridge.pyOverview (`openpilot/selfdrive/modeld/models/README.md`)
Neural networks in openpilot
To view the architecture of the ONNX networks, you can use netron
Overview (`openpilot/selfdrive/test/process_replay/README.md`)
Process replay
Process replay is a regression test designed to identify any changes in the output of a process. This test replays a segment through individual processes and compares the output to a known good replay. Each make is represented in the test with a segment.
If the test fails, make sure that you didn't unintentionally change anything. If there are intentional changes, the reference logs will be updated.
Use test_processes.py to run the test locally.
Log files are cached by default. Use DISABLE_FILEREADER_CACHE='1' test_processes.py to disable caching.
Currently the following processes are tested:
- controlsd
- radard
- plannerd
- calibrationd
- dmonitoringd
- locationd
- paramsd
- ubloxd
- torqued
Usage
Usage: test_processes.py [-h] [--whitelist-procs PROCS] [--whitelist-cars CARS] [--blacklist-procs PROCS]
[--blacklist-cars CARS] [--ignore-fields FIELDS] [--ignore-msgs MSGS] [--update-refs]
Regression test to identify changes in a process's output
optional arguments:
-h, --help show this help message and exit
--whitelist-procs PROCS Whitelist given processes from the test (e.g. controlsd)
--whitelist-cars WHITELIST_CARS Whitelist given cars from the test (e.g. HONDA)
--blacklist-procs BLACKLIST_PROCS Blacklist given processes from the test (e.g. controlsd)
--blacklist-cars BLACKLIST_CARS Blacklist given cars from the test (e.g. HONDA)
--ignore-fields IGNORE_FIELDS Extra fields or msgs to ignore (e.g. driverMonitoringState.events)
--ignore-msgs IGNORE_MSGS Msgs to ignore (e.g. onroadEvents)
--update-refs Updates reference logs using current commitForks
openpilot forks can use this test with their own reference logs, by default test_proccesses.py saves logs locally.
To generate new logs:
./test_processes.py
Then, check in the new logs using git-lfs. Make sure to also update the ref_commit file to the current commit.
API
Process replay test suite exposes programmatic APIs for simultaneously running processes or groups of processes on provided logs.
def replay_process_with_name(name: Union[str, Iterable[str]], lr: LogIterable, *args, **kwargs) -> List[capnp._DynamicStructReader]:
def replay_process(
cfg: Union[ProcessConfig, Iterable[ProcessConfig]], lr: LogIterable, frs: Optional[Dict[str, Any]] = None,
fingerprint: Optional[str] = None, return_all_logs: bool = False, custom_params: Optional[Dict[str, Any]] = None, disable_progress: bool = False
) -> List[capnp._DynamicStructReader]:Example usage:
from openpilot.selfdrive.test.process_replay import replay_process_with_name
from openpilot.tools.lib.logreader import LogReader
lr = LogReader(...)
# provide a name of the process to replay
output_logs = replay_process_with_name('locationd', lr)
# or list of names
output_logs = replay_process_with_name(['ubloxd', 'locationd'], lr)Supported processes:
- controlsd
- radard
- plannerd
- calibrationd
- dmonitoringd
- locationd
- paramsd
- ubloxd
- torqued
- modeld
- dmonitoringmodeld
Certain processes may require an initial state, which is usually supplied within Params and persists from segment to segment (for example CalibrationParams or the learner cache keys like LiveParametersV2). The custom_params is a dictionary used to prepopulate Params with arbitrary values. The get_custom_params_from_lr helper is provided to fetch meaningful values from log files.
from openpilot.selfdrive.test.process_replay import get_custom_params_from_lr
previous_segment_lr = LogReader(...)
current_segment_lr = LogReader(...)
custom_params = get_custom_params_from_lr(previous_segment_lr, 'last')
output_logs = replay_process_with_name('calibrationd', lr, custom_params=custom_params)Replaying processes that use VisionIPC (e.g. modeld, dmonitoringmodeld) require additional frs dictionary with camera states as keys and FrameReader objects as values.
from openpilot.tools.lib.framereader import FrameReader
frs = {
'narrowRoadCameraState': FrameReader(...),
'wideRoadCameraState': FrameReader(...),
'cabinCameraState': FrameReader(...),
}
output_logs = replay_process_with_name(['modeld', 'dmonitoringmodeld'], lr, frs=frs)To capture stdout/stderr of the replayed process, captured_output_store can be provided.
output_store = dict()
# pass dictionary by reference, it will be filled with standard outputs - even if process replay fails
output_logs = replay_process_with_name(['radard', 'plannerd'], lr, captured_output_store=output_store)
# entries with captured output in format { 'out': '...', 'err': '...' } will be added to provided dictionary for each replayed process
print(output_store['radard']['out']) # radard stdout
print(output_store['radard']['err']) # radard stderrOverview (`openpilot/system/camerad/webcam/README.md`)
Run openpilot with webcam on PC
Setup openpilot
- Follow this readme to install and build the requirements
Connect the hardware
- Connect the camera first
- Connect your computer to panda
GO
USE_WEBCAM=1 openpilot/system/manager/manager.py- Start the car, then the UI should show the road webcam's view
- Adjust and secure the webcam
- Finish calibration and engage!
Specify Cameras
Use the ROAD_CAM (default 0) and optional DRIVER_CAM, WIDE_CAM environment variables to specify which camera is which (ie. ROAD_CAM=1 uses /dev/video1, on Ubuntu, for the road camera):
USE_WEBCAM=1 ROAD_CAM=1 openpilot/system/manager/manager.pyIndex (`docs/index.md`)
What is openpilot?
openpilot is an open source driver assistance system. Currently, openpilot performs the functions of Adaptive Cruise Control (ACC), Automated Lane Centering (ALC), Forward Collision Warning (FCW), and Lane Departure Warning (LDW) for a growing variety of supported car makes, models, and model years. In addition, while openpilot is engaged, a camera-based Driver Monitoring (DM) feature alerts distracted and asleep drivers. See more about the vehicle integration and limitations.
How do I use it?
openpilot is designed to be used on the comma four.
How does it work?
In short, openpilot uses the car's existing APIs for the built-in ADAS system and simply provides better acceleration, braking, and steering inputs than the stock system.
CARS (`docs/CARS.md`)
Supported Cars
A supported vehicle is one that just works when you install a comma device. All supported cars provide a better experience than any stock system. Supported vehicles reference the US market unless otherwise specified.
335 Supported Cars
| Make | Model | Supported Package | ACC | No ACC accel below | No ALC below | Steering Torque | Resume from stop | Hardware Needed | Video | Setup Video |
|---|---|---|---|---|---|---|---|---|---|---|
| Acura | ILX 2016-18 | Technology Plus Package or AcuraWatch Plus | openpilot | 26 mph | 25 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Acura ILX 2016-18) | ||||
| Acura | ILX 2019 | All | openpilot | 26 mph | 25 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Acura ILX 2019) | ||||
| Acura | MDX 2022-24 | All | openpilot available1,5 | 0 mph | 43 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Acura MDX 2022-24) | ||||
| Acura | MDX 2025-26 | All except Type S | Stock | 0 mph | 0 mph | Parts- 1 Honda Bosch C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Acura MDX 2025-26) | ||||
| Acura | RDX 2016-18 | AcuraWatch Plus or Advance Package | openpilot | 26 mph | 12 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Acura RDX 2016-18) | ||||
| Acura | RDX 2019-21 | All | openpilot available1,5 | 0 mph | 3 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Acura RDX 2019-21) | ||||
| Acura | TLX 2021-22 | All | openpilot available1,5 | 0 mph | 0 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Acura TLX 2021-22) | ||||
| Acura | TLX 2025 | All | Stock | 0 mph | 0 mph | Parts- 1 Honda Bosch C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Acura TLX 2025) | ||||
| Audi12 | A3 2014-19 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Audi A3 2014-19) | ||||
| Audi12 | A3 Sportback e-tron 2017-18 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Audi A3 Sportback e-tron 2017-18) | ||||
| Audi12 | Q2 2018 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Audi Q2 2018) | ||||
| Audi12 | Q3 2019-24 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Audi Q3 2019-24) | ||||
| Audi12 | RS3 2018 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Audi RS3 2018) | ||||
| Audi12 | S3 2015-17 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Audi S3 2015-17) | ||||
| Chevrolet | Bolt EUV 2022-23 | Premier or Premier Redline Trim, without Super Cruise Package | openpilot available1 | 3 mph | 6 mph | Parts- 1 GM connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Chevrolet Bolt EUV 2022-23) | ||||
| Chevrolet | Bolt EV 2022-23 | 2LT Trim with Adaptive Cruise Control Package | openpilot available1 | 3 mph | 6 mph | Parts- 1 GM connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Chevrolet Bolt EV 2022-23) | ||||
| Chevrolet | Equinox 2019-22 | Adaptive Cruise Control (ACC) | openpilot available1 | 3 mph | 6 mph | Parts- 1 GM connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Chevrolet Equinox 2019-22) | ||||
| Chevrolet | Silverado 1500 2020-21 | Safety Package II | openpilot available1 | 0 mph | 6 mph | Parts- 1 GM connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Chevrolet Silverado 1500 2020-21) | ||||
| Chevrolet | Trailblazer 2021-22 | Adaptive Cruise Control (ACC) | openpilot available1 | 3 mph | 6 mph | Parts- 1 GM connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Chevrolet Trailblazer 2021-22) | ||||
| Chrysler | Pacifica 2017-18 | Adaptive Cruise Control (ACC) | Stock | 0 mph | 9 mph | Parts- 1 FCA connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Chrysler Pacifica 2017-18) | ||||
| Chrysler | Pacifica 2019-20 | Adaptive Cruise Control (ACC) | Stock | 0 mph | 39 mph | Parts- 1 FCA connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Chrysler Pacifica 2019-20) | ||||
| Chrysler | Pacifica 2021-23 | All | Stock | 0 mph | 39 mph | Parts- 1 FCA connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Chrysler Pacifica 2021-23) | ||||
| Chrysler | Pacifica Hybrid 2017-18 | Adaptive Cruise Control (ACC) | Stock | 0 mph | 9 mph | Parts- 1 FCA connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Chrysler Pacifica Hybrid 2017-18) | ||||
| Chrysler | Pacifica Hybrid 2019-25 | Adaptive Cruise Control (ACC) | Stock | 0 mph | 39 mph | Parts- 1 FCA connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Chrysler Pacifica Hybrid 2019-25) | ||||
| comma | body | All | openpilot | 0 mph | 0 mph | None | ||||
| CUPRA12 | Ateca 2018-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=CUPRA Ateca 2018-23) | ||||
| CUPRA | Born 2021-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW MEB connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=CUPRA Born 2021-23) | ||||
| Dodge | Durango 2020-21 | Adaptive Cruise Control (ACC) | Stock | 0 mph | 39 mph | Parts- 1 FCA connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Dodge Durango 2020-21) | ||||
| Ford | Bronco Sport 2021-24 | Co-Pilot360 Assist+ | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Bronco Sport 2021-24) | ||||
| Ford | Escape 2020-22 | Co-Pilot360 Assist+ | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Escape 2020-22) | ||||
| Ford | Escape 2023-24 | Co-Pilot360 Assist+ | openpilot available1 | 0 mph | 0 mph | Parts- 1 Ford Q4 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Escape 2023-24) | ||||
| Ford | Escape Hybrid 2020-22 | Co-Pilot360 Assist+ | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Escape Hybrid 2020-22) | ||||
| Ford | Escape Hybrid 2023-24 | Co-Pilot360 Assist+ | openpilot available1 | 0 mph | 0 mph | Parts- 1 Ford Q4 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Escape Hybrid 2023-24) | ||||
| Ford | Escape Plug-in Hybrid 2020-22 | Co-Pilot360 Assist+ | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Escape Plug-in Hybrid 2020-22) | ||||
| Ford | Escape Plug-in Hybrid 2023-24 | Co-Pilot360 Assist+ | openpilot available1 | 0 mph | 0 mph | Parts- 1 Ford Q4 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Escape Plug-in Hybrid 2023-24) | ||||
| Ford | Expedition 2022-24 | Co-Pilot360 Assist 2.0 | openpilot available1 | 0 mph | 0 mph | Parts- 1 Ford Q4 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Expedition 2022-24) | ||||
| Ford | Explorer 2020-24 | Co-Pilot360 Assist+ | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Explorer 2020-24) | ||||
| Ford | Explorer Hybrid 2020-24 | Co-Pilot360 Assist+ | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Explorer Hybrid 2020-24) | ||||
| Ford | F-150 2021-23 | Co-Pilot360 Assist 2.0 | openpilot available1 | 0 mph | 0 mph | Parts- 1 Ford Q4 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford F-150 2021-23) | ||||
| Ford | F-150 Hybrid 2021-23 | Co-Pilot360 Assist 2.0 | openpilot available1 | 0 mph | 0 mph | Parts- 1 Ford Q4 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford F-150 Hybrid 2021-23) | ||||
| Ford | Focus 2018-222 | Adaptive Cruise Control with Lane Centering | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Focus 2018-22) | ||||
| Ford | Focus Hybrid 2018-222 | Adaptive Cruise Control with Lane Centering | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Focus Hybrid 2018-22) | ||||
| Ford | Kuga 2020-23 | Adaptive Cruise Control with Lane Centering | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Kuga 2020-23) | ||||
| Ford | Kuga Hybrid 2020-23 | Adaptive Cruise Control with Lane Centering | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Kuga Hybrid 2020-23) | ||||
| Ford | Kuga Hybrid 2024 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Ford Q4 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Kuga Hybrid 2024) | ||||
| Ford | Kuga Plug-in Hybrid 2020-23 | Adaptive Cruise Control with Lane Centering | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Kuga Plug-in Hybrid 2020-23) | ||||
| Ford | Kuga Plug-in Hybrid 2024 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Ford Q4 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Kuga Plug-in Hybrid 2024) | ||||
| Ford | Maverick 2022 | LARIAT Luxury | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Maverick 2022) | ||||
| Ford | Maverick 2023-24 | Co-Pilot360 Assist | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Maverick 2023-24) | ||||
| Ford | Maverick Hybrid 2022 | LARIAT Luxury | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Maverick Hybrid 2022) | ||||
| Ford | Maverick Hybrid 2023-24 | Co-Pilot360 Assist | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Maverick Hybrid 2023-24) | ||||
| Ford | Mustang Mach-E 2021-24 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Ford Q4 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Mustang Mach-E 2021-24) | ||||
| Ford | Ranger 2024 | Adaptive Cruise Control with Lane Centering | openpilot available1 | 0 mph | 0 mph | Parts- 1 Ford Q4 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ford Ranger 2024) | ||||
| Genesis | G70 2018 | All | Stock | 0 mph | 0 mph | Parts- 1 Hyundai F connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis G70 2018) | ||||
| Genesis | G70 2019-21 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai F connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis G70 2019-21) | ||||
| Genesis | G70 2022-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai L connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis G70 2022-23) | ||||
| Genesis | G80 2017 | All | Stock | 19 mph | 37 mph | Parts- 1 Hyundai J connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis G80 2017) | ||||
| Genesis | G80 2018-19 | All | Stock | 0 mph | 0 mph | Parts- 1 Hyundai H connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis G80 2018-19) | ||||
| Genesis | G80 (2.5T Advanced Trim, with HDA II) 2024 | Highway Driving Assist II | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai P connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis G80 (2.5T Advanced Trim, with HDA II) 2024) | ||||
| Genesis | G90 2017-20 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis G90 2017-20) | ||||
| Genesis | GV60 (Advanced Trim) 2023 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis GV60 (Advanced Trim) 2023) | ||||
| Genesis | GV60 (Performance Trim) 2022-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis GV60 (Performance Trim) 2022-23) | ||||
| Genesis | GV70 (2.5T Trim, without HDA II) 2022-24 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai L connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis GV70 (2.5T Trim, without HDA II) 2022-24) | ||||
| Genesis | GV70 (3.5T Trim, without HDA II) 2022-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai M connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis GV70 (3.5T Trim, without HDA II) 2022-23) | ||||
| Genesis | GV70 Electrified (Australia Only) 2022 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai Q connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis GV70 Electrified (Australia Only) 2022) | ||||
| Genesis | GV70 Electrified (with HDA II) 2023-24 | Highway Driving Assist II | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai Q connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis GV70 Electrified (with HDA II) 2023-24) | ||||
| Genesis | GV80 2023 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai M connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Genesis GV80 2023) | ||||
| GMC | Sierra 1500 2020-21 | Driver Alert Package II | openpilot available1 | 0 mph | 6 mph | Parts- 1 GM connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=GMC Sierra 1500 2020-21) | ||||
| Honda | Accord 2018-22 | All | openpilot available1,5 | 0 mph | 3 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Accord 2018-22) | ||||
| Honda | Accord 2023-25 | All | Stock | 0 mph | 0 mph | Parts- 1 Honda Bosch C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Accord 2023-25) | ||||
| Honda | Accord Hybrid 2018-22 | All | openpilot available1,5 | 0 mph | 3 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Accord Hybrid 2018-22) | ||||
| Honda | Accord Hybrid 2023-26 | All | Stock | 0 mph | 0 mph | Parts- 1 Honda Bosch C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Accord Hybrid 2023-26) | ||||
| Honda | City (Brazil only) 2023 | All | openpilot available1,5 | 0 mph | 14 mph | Parts- 1 Honda Bosch B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda City (Brazil only) 2023) | ||||
| Honda | Civic 2016-18 | Honda Sensing | openpilot | 0 mph | 12 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Civic 2016-18) | ||||
| Honda | Civic 2019-21 | All | openpilot available1,5 | 0 mph | 2 mph4 | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Civic 2019-21) | ||||
| Honda | Civic 2022-26 | All | openpilot available1,5 | 0 mph | 0 mph | Parts- 1 Honda Bosch B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Civic 2022-26) | ||||
| Honda | Civic Hatchback 2017-18 | Honda Sensing | openpilot available1,5 | 0 mph | 12 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Civic Hatchback 2017-18) | ||||
| Honda | Civic Hatchback 2019-21 | All | openpilot available1,5 | 0 mph | 12 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Civic Hatchback 2019-21) | ||||
| Honda | Civic Hatchback 2022-24 | All | openpilot available1,5 | 0 mph | 0 mph | Parts- 1 Honda Bosch B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Civic Hatchback 2022-24) | ||||
| Honda | Civic Hatchback Hybrid 2025-26 | All | openpilot available1,5 | 0 mph | 0 mph | Parts- 1 Honda Bosch B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Civic Hatchback Hybrid 2025-26) | ||||
| Honda | Civic Hatchback Hybrid (Europe only) 2023 | All | openpilot available1,5 | 0 mph | 0 mph | Parts- 1 Honda Bosch B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Civic Hatchback Hybrid (Europe only) 2023) | ||||
| Honda | Civic Hybrid 2025-26 | All | openpilot available1,5 | 0 mph | 0 mph | Parts- 1 Honda Bosch B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Civic Hybrid 2025-26) | ||||
| Honda | CR-V 2015-16 | Touring Trim | openpilot | 26 mph | 12 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda CR-V 2015-16) | ||||
| Honda | CR-V 2017-22 | Honda Sensing | openpilot available1,5 | 0 mph | 15 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda CR-V 2017-22) | ||||
| Honda | CR-V 2023-26 | All | Stock | 0 mph | 0 mph | Parts- 1 Honda Bosch C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda CR-V 2023-26) | ||||
| Honda | CR-V Hybrid 2017-22 | Honda Sensing | openpilot available1,5 | 0 mph | 12 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda CR-V Hybrid 2017-22) | ||||
| Honda | CR-V Hybrid 2023-26 | All | Stock | 0 mph | 0 mph | Parts- 1 Honda Bosch C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda CR-V Hybrid 2023-26) | ||||
| Honda | e 2020 | All | openpilot available1,5 | 0 mph | 3 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda e 2020) | ||||
| Honda | Fit 2018-20 | Honda Sensing | openpilot | 26 mph | 12 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Fit 2018-20) | ||||
| Honda | Freed 2020 | Honda Sensing | openpilot | 26 mph | 12 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Freed 2020) | ||||
| Honda | HR-V 2019-22 | Honda Sensing | openpilot | 26 mph | 12 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda HR-V 2019-22) | ||||
| Honda | HR-V 2023-27 | All | openpilot available1,5 | 0 mph | 0 mph | Parts- 1 Honda Bosch B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda HR-V 2023-27) | ||||
| Honda | Insight 2019-22 | All | openpilot available1,5 | 0 mph | 3 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Insight 2019-22) | ||||
| Honda | Inspire 2018 | All | openpilot available1,5 | 0 mph | 3 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Inspire 2018) | ||||
| Honda | N-Box 2018 | All | openpilot available1,5 | 0 mph | 11 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda N-Box 2018) | ||||
| Honda | Odyssey 2018-20 | Honda Sensing | openpilot | 26 mph | 0 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Odyssey 2018-20) | ||||
| Honda | Odyssey 2021-26 | All | openpilot available1,5 | 0 mph | 43 mph | Parts- 1 Honda Bosch A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Odyssey 2021-26) | ||||
| Honda | Odyssey (Singapore) 2021 | Honda Sensing | openpilot | 19 mph | 0 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Odyssey (Singapore) 2021) | ||||
| Honda | Odyssey (Taiwan) 2018-19 | Honda Sensing | openpilot | 19 mph | 0 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Odyssey (Taiwan) 2018-19) | ||||
| Honda | Passport 2019-25 | All | openpilot | 26 mph | 12 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Passport 2019-25) | ||||
| Honda | Passport 2026 | All | Stock | 0 mph | 0 mph | Parts- 1 Honda Bosch C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Passport 2026) | ||||
| Honda | Pilot 2016-22 | Honda Sensing | openpilot | 26 mph | 12 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Pilot 2016-22) | ||||
| Honda | Pilot 2023-25 | All | Stock | 0 mph | 0 mph | Parts- 1 Honda Bosch C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Pilot 2023-25) | ||||
| Honda | Ridgeline 2017-25 | Honda Sensing | openpilot | 26 mph | 12 mph | Parts- 1 Honda Nidec connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Honda Ridgeline 2017-25) | ||||
| Hyundai | Azera 2022 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Azera 2022) | ||||
| Hyundai | Azera Hybrid 2019 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Azera Hybrid 2019) | ||||
| Hyundai | Azera Hybrid 2020 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Azera Hybrid 2020) | ||||
| Hyundai | Custin 2023 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Custin 2023) | ||||
| Hyundai | Elantra 2017-18 | Smart Cruise Control (SCC) | Stock | 19 mph | 32 mph | Parts- 1 Hyundai B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Elantra 2017-18) | ||||
| Hyundai | Elantra 2019 | Smart Cruise Control (SCC) | Stock | 19 mph | 32 mph | Parts- 1 Hyundai G connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Elantra 2019) | ||||
| Hyundai | Elantra 2021-23 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Elantra 2021-23) | ||||
| Hyundai | Elantra GT 2017-20 | Smart Cruise Control (SCC) | Stock | 0 mph | 32 mph | Parts- 1 Hyundai E connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Elantra GT 2017-20) | ||||
| Hyundai | Elantra Hybrid 2021-23 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Elantra Hybrid 2021-23) | ||||
| Hyundai | Genesis 2015-16 | Smart Cruise Control (SCC) | Stock | 19 mph | 37 mph | Parts- 1 Hyundai J connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Genesis 2015-16) | ||||
| Hyundai | i30 2017-19 | Smart Cruise Control (SCC) | Stock | 0 mph | 32 mph | Parts- 1 Hyundai E connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai i30 2017-19) | ||||
| Hyundai | Ioniq 5 (Southeast Asia and Europe only) 2022-24 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai Q connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq 5 (Southeast Asia and Europe only) 2022-24) | ||||
| Hyundai | Ioniq 5 (with HDA II) 2022-24 | Highway Driving Assist II | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai Q connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq 5 (with HDA II) 2022-24) | ||||
| Hyundai | Ioniq 5 (without HDA II) 2022-24 | Highway Driving Assist | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq 5 (without HDA II) 2022-24) | ||||
| Hyundai | Ioniq 6 (with HDA II) 2023-24 | Highway Driving Assist II | Stock | 0 mph | 0 mph | Parts- 1 Hyundai P connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq 6 (with HDA II) 2023-24) | ||||
| Hyundai | Ioniq 6 (without HDA II) 2023-24 | Highway Driving Assist | Stock | 0 mph | 0 mph | Parts- 1 Hyundai L connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq 6 (without HDA II) 2023-24) | ||||
| Hyundai | Ioniq Electric 2019 | Smart Cruise Control (SCC) | Stock | 0 mph | 32 mph | Parts- 1 Hyundai C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq Electric 2019) | ||||
| Hyundai | Ioniq Electric 2020 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai H connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq Electric 2020) | ||||
| Hyundai | Ioniq Hybrid 2017-19 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 32 mph | Parts- 1 Hyundai C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq Hybrid 2017-19) | ||||
| Hyundai | Ioniq Hybrid 2020-22 | Smart Cruise Control (SCC) | Stock | 0 mph | 0 mph | Parts- 1 Hyundai H connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq Hybrid 2020-22) | ||||
| Hyundai | Ioniq Plug-in Hybrid 2019 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 32 mph | Parts- 1 Hyundai C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq Plug-in Hybrid 2019) | ||||
| Hyundai | Ioniq Plug-in Hybrid 2020-22 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai H connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Ioniq Plug-in Hybrid 2020-22) | ||||
| Hyundai | Kona 2020 | Smart Cruise Control (SCC) | openpilot available1 | 6 mph | 0 mph | Parts- 1 Hyundai B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Kona 2020) | ||||
| Hyundai | Kona Electric 2018-21 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai G connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Kona Electric 2018-21) | ||||
| Hyundai | Kona Electric 2022-23 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai O connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Kona Electric 2022-23) | ||||
| Hyundai | Kona Electric (with HDA II, Korea only) 2023 | Smart Cruise Control (SCC) | Stock | 0 mph | 0 mph | Parts- 1 Hyundai R connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Kona Electric (with HDA II, Korea only) 2023) | ||||
| Hyundai | Kona Hybrid 2020 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai I connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Kona Hybrid 2020) | ||||
| Hyundai | Nexo 2021 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai H connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Nexo 2021) | ||||
| Hyundai | Palisade 2020-22 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai H connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Palisade 2020-22) | ||||
| Hyundai | Santa Cruz 2022-24 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai N connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Santa Cruz 2022-24) | ||||
| Hyundai | Santa Fe 2019-20 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai D connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Santa Fe 2019-20) | ||||
| Hyundai | Santa Fe 2021-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai L connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Santa Fe 2021-23) | ||||
| Hyundai | Santa Fe Hybrid 2022-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai L connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Santa Fe Hybrid 2022-23) | ||||
| Hyundai | Santa Fe Plug-in Hybrid 2022-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai L connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Santa Fe Plug-in Hybrid 2022-23) | ||||
| Hyundai | Sonata 2018-19 | Smart Cruise Control (SCC) | Stock | 0 mph | 0 mph | Parts- 1 Hyundai E connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Sonata 2018-19) | ||||
| Hyundai | Sonata 2020-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Sonata 2020-23) | ||||
| Hyundai | Sonata Hybrid 2020-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Sonata Hybrid 2020-23) | ||||
| Hyundai | Staria 2023 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Staria 2023) | ||||
| Hyundai | Tucson 2021 | Smart Cruise Control (SCC) | openpilot available1 | 19 mph | 0 mph | Parts- 1 Hyundai L connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Tucson 2021) | ||||
| Hyundai | Tucson 2022 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai N connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Tucson 2022) | ||||
| Hyundai | Tucson 2023-24 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai N connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Tucson 2023-24) | ||||
| Hyundai | Tucson Diesel 2019 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai L connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Tucson Diesel 2019) | ||||
| Hyundai | Tucson Hybrid 2022-24 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai N connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Tucson Hybrid 2022-24) | ||||
| Hyundai | Tucson Plug-in Hybrid 2024 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai N connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Tucson Plug-in Hybrid 2024) | ||||
| Hyundai | Veloster 2019-20 | Smart Cruise Control (SCC) | Stock | 5 mph | 0 mph | Parts- 1 Hyundai E connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Hyundai Veloster 2019-20) | ||||
| Jeep | Grand Cherokee 2016-18 | Adaptive Cruise Control (ACC) | Stock | 0 mph | 9 mph | Parts- 1 FCA connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Jeep Grand Cherokee 2016-18) | ||||
| Jeep | Grand Cherokee 2019-21 | Adaptive Cruise Control (ACC) | Stock | 0 mph | 39 mph | Parts- 1 FCA connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Jeep Grand Cherokee 2019-21) | ||||
| Kia | Carnival 2022-24 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Carnival 2022-24) | ||||
| Kia | Carnival (China only) 2023 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Carnival (China only) 2023) | ||||
| Kia | Ceed 2019-21 | Smart Cruise Control (SCC) | Stock | 0 mph | 0 mph | Parts- 1 Hyundai E connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Ceed 2019-21) | ||||
| Kia | EV6 (Southeast Asia only) 2022-24 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai P connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia EV6 (Southeast Asia only) 2022-24) | ||||
| Kia | EV6 (with HDA II) 2022-24 | Highway Driving Assist II | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai P connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia EV6 (with HDA II) 2022-24) | ||||
| Kia | EV6 (without HDA II) 2022-24 | Highway Driving Assist | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai L connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia EV6 (without HDA II) 2022-24) | ||||
| Kia | Forte 2019-21 | Smart Cruise Control (SCC) | openpilot available1 | 6 mph | 0 mph | Parts- 1 Hyundai G connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Forte 2019-21) | ||||
| Kia | Forte 2022-23 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai E connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Forte 2022-23) | ||||
| Kia | K5 2021-24 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia K5 2021-24) | ||||
| Kia | K5 Hybrid 2020-22 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia K5 Hybrid 2020-22) | ||||
| Kia | K7 2017 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia K7 2017) | ||||
| Kia | K8 Hybrid (with HDA II) 2023 | Highway Driving Assist II | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai Q connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia K8 Hybrid (with HDA II) 2023) | ||||
| Kia | Niro EV 2019 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai H connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro EV 2019) | ||||
| Kia | Niro EV 2020 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai F connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro EV 2020) | ||||
| Kia | Niro EV 2021 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro EV 2021) | ||||
| Kia | Niro EV 2022 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai H connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro EV 2022) | ||||
| Kia | Niro EV (with HDA II) 2024-25 | Highway Driving Assist II | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai R connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro EV (with HDA II) 2024-25) | ||||
| Kia | Niro EV (without HDA II) 2023-25 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro EV (without HDA II) 2023-25) | ||||
| Kia | Niro Hybrid 2018 | Smart Cruise Control (SCC) | Stock | 10 mph | 32 mph | Parts- 1 Hyundai C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro Hybrid 2018) | ||||
| Kia | Niro Hybrid 2021 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai D connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro Hybrid 2021) | ||||
| Kia | Niro Hybrid 2022 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai F connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro Hybrid 2022) | ||||
| Kia | Niro Hybrid 2023-24 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro Hybrid 2023-24) | ||||
| Kia | Niro Plug-in Hybrid 2018-19 | All | Stock | 10 mph | 32 mph | Parts- 1 Hyundai C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro Plug-in Hybrid 2018-19) | ||||
| Kia | Niro Plug-in Hybrid 2020 | Smart Cruise Control (SCC) | Stock | 0 mph | 32 mph | Parts- 1 Hyundai D connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro Plug-in Hybrid 2020) | ||||
| Kia | Niro Plug-in Hybrid 2021 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai D connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro Plug-in Hybrid 2021) | ||||
| Kia | Niro Plug-in Hybrid 2022 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai F connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Niro Plug-in Hybrid 2022) | ||||
| Kia | Optima 2017 | Advanced Smart Cruise Control | Stock | 0 mph | 32 mph | Parts- 1 Hyundai B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Optima 2017) | ||||
| Kia | Optima 2019-20 | Smart Cruise Control (SCC) | Stock | 0 mph | 0 mph | Parts- 1 Hyundai G connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Optima 2019-20) | ||||
| Kia | Optima Hybrid 2019 | Smart Cruise Control (SCC) | Stock | 0 mph | 0 mph | Parts- 1 Hyundai H connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Optima Hybrid 2019) | ||||
| Kia | Seltos 2021 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Seltos 2021) | ||||
| Kia | Sorento 2018 | Advanced Smart Cruise Control & LKAS | Stock | 0 mph | 0 mph | Parts- 1 Hyundai E connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Sorento 2018) | ||||
| Kia | Sorento 2019 | Smart Cruise Control (SCC) | Stock | 0 mph | 0 mph | Parts- 1 Hyundai E connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Sorento 2019) | ||||
| Kia | Sorento 2021-23 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Sorento 2021-23) | ||||
| Kia | Sorento Hybrid 2021-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Sorento Hybrid 2021-23) | ||||
| Kia | Sorento Plug-in Hybrid 2022-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Sorento Plug-in Hybrid 2022-23) | ||||
| Kia | Sportage 2023-24 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai N connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Sportage 2023-24) | ||||
| Kia | Sportage Hybrid 2023 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai N connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Sportage Hybrid 2023) | ||||
| Kia | Stinger 2018-20 | Smart Cruise Control (SCC) | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai C connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Stinger 2018-20) | ||||
| Kia | Stinger 2022-23 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai K connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Stinger 2022-23) | ||||
| Kia | Telluride 2020-22 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 Hyundai H connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Kia Telluride 2020-22) | ||||
| Lexus | CT Hybrid 2017-18 | Lexus Safety System+ | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus CT Hybrid 2017-18) | ||||
| Lexus | ES 2017-18 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus ES 2017-18) | ||||
| Lexus | ES 2019-25 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus ES 2019-25) | ||||
| Lexus | ES Hybrid 2017-18 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus ES Hybrid 2017-18) | ||||
| Lexus | ES Hybrid 2019-25 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus ES Hybrid 2019-25) | ||||
| Lexus | GS F 2016 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus GS F 2016) | ||||
| Lexus | IS 2017-19 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus IS 2017-19) | ||||
| Lexus | IS 2022-24 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus IS 2022-24) | ||||
| Lexus | LC 2024-25 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus LC 2024-25) | ||||
| Lexus | LS 2018 | All except Lexus Safety System+ A | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus LS 2018) | ||||
| Lexus | NX 2018-19 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus NX 2018-19) | ||||
| Lexus | NX 2020-21 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus NX 2020-21) | ||||
| Lexus | NX Hybrid 2018-19 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus NX Hybrid 2018-19) | ||||
| Lexus | NX Hybrid 2020-21 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus NX Hybrid 2020-21) | ||||
| Lexus | RC 2018-20 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus RC 2018-20) | ||||
| Lexus | RC 2023 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus RC 2023) | ||||
| Lexus | RX 2016 | Lexus Safety System+ | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus RX 2016) | ||||
| Lexus | RX 2017-19 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus RX 2017-19) | ||||
| Lexus | RX 2020-22 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus RX 2020-22) | ||||
| Lexus | RX Hybrid 2016 | Lexus Safety System+ | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus RX Hybrid 2016) | ||||
| Lexus | RX Hybrid 2017-19 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus RX Hybrid 2017-19) | ||||
| Lexus | RX Hybrid 2020-22 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus RX Hybrid 2020-22) | ||||
| Lexus | UX Hybrid 2019-24 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lexus UX Hybrid 2019-24) | ||||
| Lincoln | Aviator 2020-24 | Co-Pilot360 Plus | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lincoln Aviator 2020-24) | ||||
| Lincoln | Aviator Plug-in Hybrid 2020-24 | Co-Pilot360 Plus | openpilot | 0 mph | 0 mph | Parts- 1 Ford Q3 connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Lincoln Aviator Plug-in Hybrid 2020-24) | ||||
| MAN12 | eTGE 2020-24 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 31 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=MAN eTGE 2020-24) | ||||
| MAN12 | TGE 2017-24 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 31 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=MAN TGE 2017-24) | ||||
| Mazda | CX-5 2022-25 | All | Stock | 0 mph | 0 mph | Parts- 1 Mazda connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Mazda CX-5 2022-25) | ||||
| Mazda | CX-9 2021-23 | All | Stock | 0 mph | 28 mph | Parts- 1 Mazda connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Mazda CX-9 2021-23) | ||||
| Nissan6 | Altima 2019-24 | ProPILOT Assist | Stock | 0 mph | 0 mph | Parts- 1 Nissan B connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Nissan Altima 2019-24) | ||||
| Nissan6 | Leaf 2018-23 | ProPILOT Assist | Stock | 0 mph | 0 mph | Parts- 1 Nissan A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Nissan Leaf 2018-23) | ||||
| Nissan6 | Rogue 2018-20 | ProPILOT Assist | Stock | 0 mph | 0 mph | Parts- 1 Nissan A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Nissan Rogue 2018-20) | ||||
| Nissan6 | X-Trail 2017 | ProPILOT Assist | Stock | 0 mph | 0 mph | Parts- 1 Nissan A connector- 1 OBD-C cable (2 ft)- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Nissan X-Trail 2017) | ||||
| Ram | 1500 2019-24 | Adaptive Cruise Control (ACC) | Stock | 0 mph | 32 mph | Parts- 1 OBD-C cable (2 ft)- 1 Ram connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Ram 1500 2019-24) | ||||
| Rivian | R1S 2022-24 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Rivian A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Rivian R1S 2022-24) | ||||
| Rivian | R1T 2022-24 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Rivian A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Rivian R1T 2022-24) | ||||
| SEAT12 | Ateca 2016-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=SEAT Ateca 2016-23) | ||||
| SEAT12 | Leon 2014-20 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=SEAT Leon 2014-20) | ||||
| Subaru | Ascent 2019-21 | All7 | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Subaru A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Subaru Ascent 2019-21)Tools- 1 Pry Tool- 1 Socket Wrench 8mm or 5/16" (deep) | ||||
| Subaru | Crosstrek 2018-19 | EyeSight Driver Assistance7 | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Subaru A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Subaru Crosstrek 2018-19)Tools- 1 Pry Tool- 1 Socket Wrench 8mm or 5/16" (deep) | ||||
| Subaru | Crosstrek 2020-23 | EyeSight Driver Assistance7 | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Subaru A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Subaru Crosstrek 2020-23)Tools- 1 Pry Tool- 1 Socket Wrench 8mm or 5/16" (deep) | ||||
| Subaru | Forester 2019-21 | All7 | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Subaru A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Subaru Forester 2019-21)Tools- 1 Pry Tool- 1 Socket Wrench 8mm or 5/16" (deep) | ||||
| Subaru | Impreza 2017-19 | EyeSight Driver Assistance7 | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Subaru A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Subaru Impreza 2017-19)Tools- 1 Pry Tool- 1 Socket Wrench 8mm or 5/16" (deep) | ||||
| Subaru | Impreza 2020-22 | EyeSight Driver Assistance7 | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Subaru A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Subaru Impreza 2020-22)Tools- 1 Pry Tool- 1 Socket Wrench 8mm or 5/16" (deep) | ||||
| Subaru | Legacy 2020-22 | All7 | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Subaru B connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Subaru Legacy 2020-22)Tools- 1 Pry Tool- 1 Socket Wrench 8mm or 5/16" (deep) | ||||
| Subaru | Outback 2020-22 | All7 | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Subaru B connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Subaru Outback 2020-22)Tools- 1 Pry Tool- 1 Socket Wrench 8mm or 5/16" (deep) | ||||
| Subaru | XV 2018-19 | EyeSight Driver Assistance7 | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Subaru A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Subaru XV 2018-19)Tools- 1 Pry Tool- 1 Socket Wrench 8mm or 5/16" (deep) | ||||
| Subaru | XV 2020-21 | EyeSight Driver Assistance7 | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Subaru A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Subaru XV 2020-21)Tools- 1 Pry Tool- 1 Socket Wrench 8mm or 5/16" (deep) | ||||
| ล koda | Fabia 2022-2315 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=ล koda Fabia 2022-23)17 | ||||
| ล koda | Kamiq 2021-2313,15 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=ล koda Kamiq 2021-23)17 | ||||
| ล koda12 | Karoq 2019-2315 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=ล koda Karoq 2019-23) | ||||
| ล koda12 | Kodiaq 2017-2315 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=ล koda Kodiaq 2017-23) | ||||
| ล koda12 | Octavia 2015-1915 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=ล koda Octavia 2015-19) | ||||
| ล koda12 | Octavia RS 201615 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=ล koda Octavia RS 2016) | ||||
| ล koda12 | Octavia Scout 2017-1915 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=ล koda Octavia Scout 2017-19) | ||||
| ล koda | Scala 2020-2315 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=ล koda Scala 2020-23)17 | ||||
| ล koda12 | Superb 2015-2215 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=ล koda Superb 2015-22) | ||||
| Tesla10 | Model 3 (with HW3) 2019-239 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Tesla A connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Tesla Model 3 (with HW3) 2019-23) | ||||
| Tesla10 | Model 3 (with HW4) 2024-259 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Tesla B connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Tesla Model 3 (with HW4) 2024-25) | ||||
| Tesla10 | Model Y (with HW3) 2020-249 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Tesla A connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Tesla Model Y (with HW3) 2020-24) | ||||
| Tesla10 | Model Y (with HW4) 2023-259 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Tesla B connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Tesla Model Y (with HW4) 2023-25) | ||||
| Toyota | Alphard 2019-20 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Alphard 2019-20) | ||||
| Toyota | Alphard Hybrid 2021 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Alphard Hybrid 2021) | ||||
| Toyota | Avalon 2016 | Toyota Safety Sense P | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Avalon 2016) | ||||
| Toyota | Avalon 2017-18 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Avalon 2017-18) | ||||
| Toyota | Avalon 2019-21 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Avalon 2019-21) | ||||
| Toyota | Avalon 2022 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Avalon 2022) | ||||
| Toyota | Avalon Hybrid 2019-21 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Avalon Hybrid 2019-21) | ||||
| Toyota | Avalon Hybrid 2022 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Avalon Hybrid 2022) | ||||
| Toyota | C-HR 2017-20 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota C-HR 2017-20) | ||||
| Toyota | C-HR 2021 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota C-HR 2021) | ||||
| Toyota | C-HR Hybrid 2017-20 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota C-HR Hybrid 2017-20) | ||||
| Toyota | C-HR Hybrid 2021-22 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota C-HR Hybrid 2021-22) | ||||
| Toyota | Camry 2018-20 | All | Stock | 0 mph11 | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Camry 2018-20) | ||||
| Toyota | Camry 2021-24 | All | openpilot | 0 mph11 | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Camry 2021-24) | ||||
| Toyota | Camry Hybrid 2018-20 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Camry Hybrid 2018-20) | ||||
| Toyota | Camry Hybrid 2021-24 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Camry Hybrid 2021-24) | ||||
| Toyota | Corolla 2017-19 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Corolla 2017-19) | ||||
| Toyota | Corolla 2020-22 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Corolla 2020-22) | ||||
| Toyota | Corolla Cross (Non-US only) 2020-23 | All | openpilot | 17 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Corolla Cross (Non-US only) 2020-23) | ||||
| Toyota | Corolla Cross Hybrid (Non-US only) 2020-22 | All | openpilot | 17 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Corolla Cross Hybrid (Non-US only) 2020-22) | ||||
| Toyota | Corolla Hatchback 2019-22 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Corolla Hatchback 2019-22) | ||||
| Toyota | Corolla Hybrid 2020-22 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Corolla Hybrid 2020-22) | ||||
| Toyota | Corolla Hybrid (South America only) 2020-23 | All | openpilot | 17 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Corolla Hybrid (South America only) 2020-23) | ||||
| Toyota | Highlander 2017-19 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Highlander 2017-19) | ||||
| Toyota | Highlander 2020-23 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Highlander 2020-23) | ||||
| Toyota | Highlander Hybrid 2017-19 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Highlander Hybrid 2017-19) | ||||
| Toyota | Highlander Hybrid 2020-23 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Highlander Hybrid 2020-23) | ||||
| Toyota | Mirai 2021 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Mirai 2021) | ||||
| Toyota | Prius 2016 | Toyota Safety Sense P | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Prius 2016) | ||||
| Toyota | Prius 2017-20 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Prius 2017-20) | ||||
| Toyota | Prius 2021-22 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Prius 2021-22) | ||||
| Toyota | Prius Prime 2017-20 | All | Stock | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Prius Prime 2017-20) | ||||
| Toyota | Prius Prime 2021-22 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Prius Prime 2021-22) | ||||
| Toyota | Prius v 2017 | Toyota Safety Sense P | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Prius v 2017) | ||||
| Toyota | RAV4 2016 | Toyota Safety Sense P | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota RAV4 2016) | ||||
| Toyota | RAV4 2017-18 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota RAV4 2017-18) | ||||
| Toyota | RAV4 2019-21 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota RAV4 2019-21) | ||||
| Toyota | RAV4 2022 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota RAV4 2022) | ||||
| Toyota | RAV4 2023-25 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota RAV4 2023-25) | ||||
| Toyota | RAV4 Hybrid 2016 | Toyota Safety Sense P | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota RAV4 Hybrid 2016) | ||||
| Toyota | RAV4 Hybrid 2017-18 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota RAV4 Hybrid 2017-18) | ||||
| Toyota | RAV4 Hybrid 2019-21 | All | openpilot | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota RAV4 Hybrid 2019-21) | ||||
| Toyota | RAV4 Hybrid 2022 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota RAV4 Hybrid 2022) | ||||
| Toyota | RAV4 Hybrid 2023-25 | All | openpilot available1 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota RAV4 Hybrid 2023-25) | ||||
| Toyota | Sienna 2018-20 | All | Stock | 19 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 Toyota A connector- 1 comma four- 1 comma power v3- 1 harness box- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Toyota Sienna 2018-20) | ||||
| Volkswagen12 | Arteon 2018-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Arteon 2018-23) | ||||
| Volkswagen12 | Arteon eHybrid 2020-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Arteon eHybrid 2020-23) | ||||
| Volkswagen12 | Arteon R 2020-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Arteon R 2020-23) | ||||
| Volkswagen12 | Arteon Shooting Brake 2020-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Arteon Shooting Brake 2020-23) | ||||
| Volkswagen12 | Atlas 2018-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Atlas 2018-23) | ||||
| Volkswagen12 | Atlas Cross Sport 2020-22 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Atlas Cross Sport 2020-22) | ||||
| Volkswagen12 | California 2021-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 31 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen California 2021-23) | ||||
| Volkswagen12 | Caravelle 2020 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 31 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Caravelle 2020) | ||||
| Volkswagen12 | CC 2018-22 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen CC 2018-22) | ||||
| Volkswagen12 | Crafter 2017-24 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 31 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Crafter 2017-24) | ||||
| Volkswagen12 | e-Crafter 2018-24 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 31 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen e-Crafter 2018-24) | ||||
| Volkswagen12 | e-Golf 2014-20 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen e-Golf 2014-20) | ||||
| Volkswagen12 | Golf 2015-20 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Golf 2015-20) | ||||
| Volkswagen12 | Golf Alltrack 2015-19 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Golf Alltrack 2015-19) | ||||
| Volkswagen12 | Golf GTD 2015-20 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Golf GTD 2015-20) | ||||
| Volkswagen12 | Golf GTE 2015-20 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Golf GTE 2015-20) | ||||
| Volkswagen12 | Golf GTI 2015-21 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Golf GTI 2015-21) | ||||
| Volkswagen12 | Golf R 2015-19 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Golf R 2015-19) | ||||
| Volkswagen12 | Golf SportsVan 2015-20 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Golf SportsVan 2015-20) | ||||
| Volkswagen12 | Grand California 2019-24 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 31 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Grand California 2019-24) | ||||
| Volkswagen | ID.4 2021-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW MEB connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen ID.4 2021-23) | ||||
| Volkswagen | ID.4 2024-25 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW MEB connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen ID.4 2024-25) | ||||
| Volkswagen12 | Jetta 2019-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Jetta 2019-23) | ||||
| Volkswagen12 | Jetta GLI 2021-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Jetta GLI 2021-23) | ||||
| Volkswagen | Passat 2015-2214 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Passat 2015-22) | ||||
| Volkswagen12 | Passat Alltrack 2015-22 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Passat Alltrack 2015-22) | ||||
| Volkswagen12 | Passat GTE 2015-22 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Passat GTE 2015-22) | ||||
| Volkswagen | Polo 2018-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Polo 2018-23)17 | ||||
| Volkswagen | Polo GTI 2018-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Polo GTI 2018-23)17 | ||||
| Volkswagen | T-Cross 2021 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen T-Cross 2021)17 | ||||
| Volkswagen12 | T-Roc 2018-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen T-Roc 2018-23) | ||||
| Volkswagen12 | Taos 2022-24 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Taos 2022-24) | ||||
| Volkswagen12 | Teramont 2018-22 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Teramont 2018-22) | ||||
| Volkswagen12 | Teramont Cross Sport 2021-22 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Teramont Cross Sport 2021-22) | ||||
| Volkswagen12 | Teramont X 2021-22 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Teramont X 2021-22) | ||||
| Volkswagen12 | Tiguan 2018-24 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Tiguan 2018-24) | ||||
| Volkswagen12 | Tiguan eHybrid 2021-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Tiguan eHybrid 2021-23) | ||||
| Volkswagen12 | Touran 2016-23 | Adaptive Cruise Control (ACC) & Lane Assist | openpilot available1,16 | 0 mph | 0 mph | Parts- 1 OBD-C cable (2 ft)- 1 VW J533 connector- 1 comma four- 1 harness box- 1 long OBD-C cable (9.5 ft)- 1 mount[Buy Here](https://comma.ai/shop/comma-3x?harness=Volkswagen Touran 2016-23) |
Footnotes
1openpilot Longitudinal Control (Alpha) is available behind a toggle; the toggle is only available in non-release branches such as nightly-dev.
2Refers only to the Focus Mk4 (C519) available in Europe/China/Taiwan/Australasia, not the Focus Mk3 (C346) in North and South America/Southeast Asia.
3See more setup details for GM.
42019 Honda Civic 1.6L Diesel Sedan does not have ALC below 12mph.
5Enabling longitudinal control (alpha) will disable all CMBS functionality, including AEB and FCW.
6See more setup details for Nissan.
7In the non-US market, openpilot requires the car to come equipped with EyeSight with Lane Keep Assistance.
8Enabling longitudinal control (alpha) will disable all EyeSight functionality, including AEB, LDW, and RAB.
9Model years 2023 and 2024 can have either hardware type, depending on build date and factory. To check which hardware type your vehicle has, look for Autopilot computer under Software -> Additional Vehicle Information on your vehicle's touchscreen. See this page for more information.
10See more setup details for Tesla.
11openpilot operates above 28mph for Camry 4CYL L, 4CYL LE and 4CYL SE which don't have Full-Speed Range Dynamic Radar Cruise Control.
12The J533 harness plugs in at the CAN gateway under the dashboard, just above the steering column. More information can be found at this guide.
13Not including the China market Kamiq, which is based on the (currently) unsupported PQ34 platform.
14Refers only to the MQB-based European B8 Passat, not the NMS Passat in the USA/China/Mideast markets.
15Some ล koda vehicles are equipped with heated windshields, which are known to block GPS signal needed for some comma four functionality.
16Only available for vehicles using a gateway (J533) harness. At this time, vehicles using a camera harness are limited to using stock ACC.
17Model-years 2022 and beyond may have a combined CAN gateway and BCM, which is supported by openpilot in software, but doesn't yet have a harness available from the comma store.
Community Maintained Cars
Although they're not upstream, the community has openpilot running on other makes and models. See the 'Community Supported Models' section of each make on our wiki.
Don't see your car here?
openpilot can support many more cars than it currently does. There are a few reasons your car may not be supported.
If your car doesn't fit into any of the incompatibility criteria here, then there's a good chance it can be supported! We're adding support for new cars all the time. We don't have a roadmap for car support, and in fact, most car support comes from users like you!
Which cars are able to be supported?
openpilot uses the existing steering, gas, and brake interfaces in your car. If your car lacks any one of these interfaces, openpilot will not be able to control the car. If your car has ACC and any form of LKAS/LCA, then it almost certainly has these interfaces. These features generally started shipping on cars around 2016. Note that manufacturers will often make their own marketing terms for these features, such as Hyundai's "Smart Cruise Control" branding of Adaptive Cruise Control.
If your car has the following packages or features, then it's a good candidate for support.
| Make | Required Package/Features |
|---|---|
| Acura | Any car with AcuraWatch will work. AcuraWatch comes standard on many newer models. |
| Ford | Any car with Lane Centering will likely work. |
| Honda | Any car with Honda Sensing will work. Honda Sensing comes standard on many newer models. |
| Subaru | Any car with EyeSight will work. EyeSight comes standard on many newer models. |
| Nissan | Any car with ProPILOT will likely work. |
| Toyota & Lexus | Any car that has Toyota/Lexus Safety Sense with "Lane Departure Alert with Steering Assist (LDA w/SA)" and/or "Lane Tracing Assist (LTA)" will work. Note that LDA without Steering Assist will not work. These features come standard on most newer models. |
| Hyundai, Kia, & Genesis | Any car with Smart Cruise Control (SCC) and Lane Following Assist (LFA) or Lane Keeping Assist (LKAS) will work. LKAS/LFA comes standard on most newer models. Any form of SCC will work, such as NSCC. |
| Chrysler, Jeep, & Ram | Any car with LaneSense and Adaptive Cruise Control will likely work. These come standard on many newer models. |
FlexRay
All the cars that openpilot supports use a CAN bus for communication between all the car's computers, however a CAN bus isn't the only way that the computers in your car can communicate. Most, if not all, vehicles from the following manufacturers use FlexRay instead of a CAN bus: BMW, Mercedes, Audi, Land Rover, and some Volvo. These cars may one day be supported, but we have no immediate plans to support FlexRay.
Toyota Security
openpilot does not yet support these Toyota models due to a new message authentication method.
Vote if you'd like to see openpilot support on these models.
- Toyota RAV4 Prime 2021+
- Toyota Sienna 2021+
- Toyota Venza 2021+
- Toyota Sequoia 2023+
- Toyota Tundra 2022+
- Toyota Highlander 2024+
- Toyota Corolla Cross 2022+ (only US model)
- Toyota Camry 2025+
- Lexus NX 2022+
- Toyota bZ4x 2023+
- Subaru Solterra 2023+
CONTRIBUTING (`docs/CONTRIBUTING.md`)
How to contribute
Our software is open source so you can solve your own problems without needing help from others. And if you solve a problem and are so kind, you can upstream it for the rest of the world to use. Check out our post about externalization.
Development is coordinated through Discord and GitHub.
Getting Started
- Set up your development environment
- Join our Discord
- Docs are at https://docs.comma.ai and https://blog.comma.ai
What contributions are we looking for?
openpilot's priorities are safety, stability, quality, and features, in that order.
openpilot is part of comma's mission to solve self-driving cars while delivering shippable intermediaries, and all development is towards that goal.
What gets merged?
The probability of a pull request being merged is a function of its value to the project and the effort it will take us to get it merged.
If a PR offers some value but will take lots of time to get merged, it will be closed.
Simple, well-tested bug fixes are the easiest to merge, and new features are the hardest to get merged.
All of these are examples of good PRs:
- typo fix: https://github.com/commaai/openpilot/pull/30678
- removing unused code: https://github.com/commaai/openpilot/pull/30573
- simple car model port: https://github.com/commaai/openpilot/pull/30245
- car brand port: https://github.com/commaai/openpilot/pull/23331
What doesn't get merged?
- style changes: code is art, and it's up to the author to make it beautiful
- 500+ line PRs: clean it up, break it up into smaller PRs, or both
- PRs without a clear goal: every PR must have a singular and clear goal
- UI design: we do not have a good review process for this yet
- New features: We believe openpilot is mostly feature-complete, and the rest is a matter of refinement and fixing bugs. As a result of this, most feature PRs will be immediately closed, however the beauty of open source is that forks can and do offer features that upstream openpilot doesn't.
- Negative expected value: This is a class of PRs that makes an improvement, but the risk or validation costs more than the improvement. The risk can be mitigated by first getting a failing test merged.
First contribution
Projects / openpilot bounties is the best place to get started and goes in-depth on what's expected when working on a bounty.
There are a lot of bounties that don't require a comma four or a car.
Pull Requests
Pull requests should be against the master branch.
A good pull request has all of the following:
- a clearly stated purpose
- every line changed directly contributes to the stated purpose
- verification, i.e. how did you test your PR?
- justification
- if you've optimized something, post benchmarks to prove it's better
- if you've improved your car's tuning, post before and after plots
- passes the CI tests
Contributing without Code
- Report bugs in GitHub issues.
- Report driving issues in the
#driving-feedbackDiscord channel. - Consider opting into cabin camera uploads to improve the driver monitoring model.
- Connect your device to Wi-Fi regularly, so that we can pull data for training better driving models.
- Run the
nightlybranch and report issues. This branch is likemasterbut it's built just like a release. - Annotate images in the comma10k dataset.
Contributing Training Data
A guide for forks
In order for your fork's data to be eligible for the training set:
- Your cereal messaging structs must be compatible
- The definitions of all the stock messaging structs must not change: Do not change how any of the fields are set, including everything from
selfdriveState.enabledtocarState.steeringAngleDeg. Instead, create your own structs and set them however you'd like. - Do not include cars that are not supported in upstream platforms: Instead, create new opendbc platforms for cars that you'd like to support outside of upstream, even if it's just a trim-level difference.
DEBUGGING SAFETY (`docs/DEBUGGING_SAFETY.md`)
Debugging Panda Safety with Replay Drive + LLDB
1. Start the debugger in VS Code
2. Attach LLDB
- When prompted, pick the running
replay_driveprocess. - โ ๏ธ Attach quickly, or
replay_drivewill start consuming messages.
[!TIP]
Add a Python breakpoint at the start ofreplay_drive.pyto pause execution and give yourself time to attach LLDB.
3. Set breakpoints in VS Code
Breakpoints can be set directly in modes/xxx.h (or any C file).
No extra LLDB commands are required โ just place breakpoints in the editor.
4. Resume execution
Once attached, you can step through both Python (on the replay) and C safety code as CAN logs are replayed.
[!NOTE]
- Use short routes for quicker iteration.
- Pause
replay_driveearly to avoid wasting log messages.
Video
View a demo of this workflow on the PR that added it: https://github.com/commaai/openpilot/pull/36055#issue-3352911578
INTEGRATION (`docs/INTEGRATION.md`)
Integration with Stock Features
In all supported cars:
- Stock Lane Keep Assist (LKA) and stock ALC are replaced by openpilot ALC, which only functions when openpilot is engaged by the user.
- Stock LDW is replaced by openpilot LDW.
Additionally, on specific supported cars (see ACC column in supported cars):
- Stock ACC is replaced by openpilot ACC.
- openpilot FCW operates in addition to stock FCW.
openpilot should preserve all other vehicle's stock features, including, but not limited to: FCW, Automatic Emergency Braking (AEB), auto high-beam, blind spot warning, and side collision warning.
LIMITATIONS (`docs/LIMITATIONS.md`)
Limitations
Limitations of openpilot ALC and LDW
openpilot ALC and openpilot LDW do not automatically drive the vehicle or reduce the amount of attention that must be paid to operate your vehicle. The driver must always keep control of the steering wheel and be ready to correct the openpilot ALC action at all times.
While changing lanes, openpilot is not capable of looking next to you or checking your blind spot. Only nudge the wheel to initiate a lane change after you have confirmed it's safe to do so.
Many factors can impact the performance of openpilot ALC and openpilot LDW, causing them to be unable to function as intended. These include, but are not limited to:
- Poor visibility (heavy rain, snow, fog, etc.) or weather conditions that may interfere with sensor operation.
- The road facing camera is obstructed, covered or damaged by mud, ice, snow, etc.
- Obstruction caused by applying excessive paint or adhesive products (such as wraps, stickers, rubber coating, etc.) onto the vehicle.
- The device is mounted incorrectly.
- When in sharp curves, like on-off ramps, intersections etc...; openpilot is designed to be limited in the amount of steering torque it can produce.
- In the presence of restricted lanes or construction zones.
- When driving on highly banked roads or in presence of strong cross-wind.
- Extremely hot or cold temperatures.
- Bright light (due to oncoming headlights, direct sunlight, etc.).
- Driving on hills, narrow, or winding roads.
The list above does not represent an exhaustive list of situations that may interfere with proper operation of openpilot components. It is the driver's responsibility to be in control of the vehicle at all times.
Limitations of openpilot ACC and FCW
openpilot ACC and openpilot FCW are not systems that allow careless or inattentive driving. It is still necessary for the driver to pay close attention to the vehicleโs surroundings and to be ready to re-take control of the gas and the brake at all times.
Many factors can impact the performance of openpilot ACC and openpilot FCW, causing them to be unable to function as intended. These include, but are not limited to:
- Poor visibility (heavy rain, snow, fog, etc.) or weather conditions that may interfere with sensor operation.
- The road facing camera or radar are obstructed, covered, or damaged by mud, ice, snow, etc.
- Obstruction caused by applying excessive paint or adhesive products (such as wraps, stickers, rubber coating, etc.) onto the vehicle.
- The device is mounted incorrectly.
- Approaching a toll booth, a bridge or a large metal plate.
- When driving on roads with pedestrians, cyclists, etc...
- In presence of traffic signs or stop lights, which are not detected by openpilot at this time.
- When the posted speed limit is below the user selected set speed. openpilot does not detect speed limits at this time.
- In presence of vehicles in the same lane that are not moving.
- When abrupt braking maneuvers are required. openpilot is designed to be limited in the amount of deceleration and acceleration that it can produce.
- When surrounding vehicles perform close cut-ins from neighbor lanes.
- Driving on hills, narrow, or winding roads.
- Extremely hot or cold temperatures.
- Bright light (due to oncoming headlights, direct sunlight, etc.).
- Interference from other equipment that generates radar waves.
The list above does not represent an exhaustive list of situations that may interfere with proper operation of openpilot components. It is the driver's responsibility to be in control of the vehicle at all times.
Limitations of openpilot DM
openpilot DM should not be considered an exact measurement of the alertness of the driver.
Many factors can impact the performance of openpilot DM, causing it to be unable to function as intended. These include, but are not limited to:
- Low light conditions, such as driving at night or in dark tunnels.
- Bright light (due to oncoming headlights, direct sunlight, etc.).
- The driver's face is partially or completely outside field of view of the cabin camera.
- The cabin camera is obstructed, covered, or damaged.
The list above does not represent an exhaustive list of situations that may interfere with proper operation of openpilot components. A driver should not rely on openpilot DM to assess their level of attention.
SAFETY (`docs/SAFETY.md`)
Safety
openpilot is an Adaptive Cruise Control (ACC) and Automated Lane Centering (ALC) system.
Like other ACC and ALC systems, openpilot is a failsafe passive system and it requires the
driver to be alert and to pay attention at all times.
To assist the driver in maintaining alertness, openpilot includes a driver monitoring feature
that alerts when it detects driver distraction.
However, even with an attentive driver, we must make further efforts for the system to be
safe. We repeat, driver alertness is necessary, but not sufficient, for openpilot to be
used safely and openpilot is provided with no warranty of fitness for any purpose.
openpilot is developed in good faith to be compliant with FMVSS requirements and to follow
industry standards of safety for Level 2 Driver Assistance Systems. In particular, we observe
ISO26262 guidelines, including those from pertinent documents
released by NHTSA. In addition, we impose strict coding guidelines (like MISRA C : 2012)
on parts of openpilot that are safety relevant. We also perform software-in-the-loop,
hardware-in-the-loop, and in-vehicle tests before each software release.
Following Hazard and Risk Analysis and FMEA, at a very high level, we have designed openpilot
ensuring two main safety requirements.
- The driver must always be capable to immediately retake manual control of the vehicle,
by stepping on the brake pedal or by pressing the cancel button. - The vehicle must not alter its trajectory too quickly for the driver to safely
react. This means that while the system is engaged, the actuators are constrained
to operate within reasonable limits[^1].
For additional safety implementation details, refer to panda safety model. For vehicle specific implementation of the safety concept, refer to opendbc/safety/safety.
[^1]: For these actuator limits we observe ISO11270 and ISO15622. Lateral limits described there translate to 0.9 seconds of maximum actuation to achieve a 1m lateral deviation.
Forks of openpilot
- Do not disable or nerf driver monitoring
- Do not disable or nerf excessive actuation checks
- If your fork modifies any of the code in
opendbc/safety/:- your fork cannot use the openpilot trademark
- your fork must preserve the full safety test suite and all tests must pass, including any new coverage required by the fork's changes
Failure to comply with these standards will get you and your users banned from comma.ai servers.
comma.ai strongly discourages the use of openpilot forks with safety code either missing or not fully meeting the above requirements.
Concepts Logs (`docs/concepts/logs.md`)
Logging
openpilot records routes in one minute chunks called segments. A route starts on the rising edge of ignition and ends on the falling edge.
Check out our Python library for reading openpilot logs. Also checkout our tools to replay and view your data. These are the same tools we use to debug and develop openpilot.
For each segment, openpilot records the following log types:
rlog.zst
rlogs contain all the messages passed amongst openpilot's processes. See openpilot/cereal/services.py for a list of all the logged services. They're a zstd archive of the serialized Capโn Proto messages.
camera video files
Each camera stream is H.265 encoded and written to its respective file.
fcamera.hevcis the narrow road camera (the main forward camera)ecamera.hevcis the wide road cameradcamera.hevcis the cabin camera
qlog.zst & qcamera.ts
qlogs are a decimated subset of the rlogs. Check out openpilot/cereal/services.py for the decimation.
qcameras are H.264 encoded, lower res versions of the fcamera.hevc. The video shown in comma connect is from the qcameras.
qlogs and qcameras are designed to be small enough to upload instantly on slow internet, yet useful enough for most analysis and debugging.
Contributing Feedback (`docs/contributing/feedback.md`)
How to Give Feedback
Feedback is one of the highest leverage ways to contribute to openpilot as a user.
Driving
Got feedback about how your car drives?
Join the community Discord, then use the form in #submit-feedback.
Before posting feedback, please ensure:
- openpilot is up to date you should be on the latest openpilot release or nightly
- both road-facing cameras have a clear view your windshield is clean, lenses are clean, etc.
- your device is mounted properly your device must be mounted horizontally center and relatively high on the windshield
Driver Monitoring
If you find DM annoying while being perfectly attentive, these are likely false positives and we want to fix them!
In general, driver monitoring feedback is very actionable, and we can fix your complaint within a release cycle.
To post your feedback:
- Join the community Discord.
- If cabin camera recording is toggled off, temporarily enable cabin camera recording in the settings until you reproduce the issue.
- Using comma connect, identify the relevant segment and upload the segment's logs and cabin camera.
- Post the segment in the
#openpilot-experiencechannel on Discord with a good description.
Before posting feedback, please ensure:
- openpilot is up to date you should be on the latest openpilot release or nightly
- the cabin camera has a clear view of the driver ensure nothing blocks view of the driver (e.g. a cable), the lens is clean, etc.
- your device is mounted properly your device must be mounted horizontally center and relatively high on the windshield
Other bugs
Got an issue with something else? Open an issue on our GitHub issue tracker.
Contributing Roadmap (`docs/contributing/roadmap.md`)
Roadmap
This is the roadmap for the next major openpilot releases. Also check out
- Milestones for minor releases
- Projects for shorter-term projects not tied to releases
- Bounties for paid individual issues
- #current-projects in Discord for discussion on work-in-progress projects
openpilot 1.0
openpilot 1.0 will feature a fully end-to-end driving policy.
- End-to-end longitudinal control in Chill mode
- Driver monitoring with sleep detection
- Rolling updates/releases pushed out by CI
- panda safety 1.0
How To Car Port (`docs/how-to/car-port.md`)
What is a car port?
A car port enables openpilot support on a particular car. Each car model openpilot supports needs to be individually ported. The complexity of a car port varies depending on many factors including:
- existing openpilot support for similar cars
- architecture and APIs available in the car
Structure of a car port
All car-specific code is contained in the opendbc project.
opendbc
Each car brand is supported by a standard interface structure in opendbc/car/[brand]:
interface.py: Interface for the car, defines the CarInterface classcarstate.py: Reads CAN messages from the car and builds openpilot CarState messagescarcontroller.py: Control logic for executing openpilot CarControl actions on the car[brand]can.py: Composes CAN messages for carcontroller to sendvalues.py: Limits for actuation, general constants for cars, and supported car documentationradar_interface.py: Interface for parsing radar points from the car, if applicable
safety
opendbc/safety/modes/[brand].h: Brand-specific safety logicopendbc/safety/tests/test_[brand].py: Brand-specific safety CI tests
openpilot
For historical reasons, openpilot still contains a small amount of car-specific logic. This will eventually be migrated to opendbc or otherwise removed.
openpilot/selfdrive/car/car_specific.py: Brand-specific event logic
How do I port car?
Jason Young gave a talk at COMMA_CON with an overview of the car porting process. The talk is available on YouTube:
https://www.youtube.com/watch?v=XxPS5TpTUnI
Brand Port
A brand port is a port of openpilot to a substantially new car brand or platform within a brand.
Here's an example of one: https://github.com/commaai/openpilot/pull/23331.
Model Port
A model port is a port of openpilot to a new car model within an already supported brand. Model ports are easier than brand ports because the car's existing APIs are already known.
Here's an example of one: https://github.com/commaai/openpilot/pull/30672/.
How To Connect To Comma (`docs/how-to/connect-to-comma.md`)
connect to a comma 3X or comma four
A comma device is a normal Linux computer that exposes SSH and a serial console.
Serial Console
On the comma 3X, the serial console is accessible from the main OBD-C port, forwarded through the panda.
Access it using panda/scripts/som_debug.sh.
comma four also exposes a serial console, albeit through an internal debug connector. Dedicated debug hardware coming soon to the comma shop.
Login to the default user with:
- Username:
comma - Password:
comma
SSH
In order to SSH into your device, you'll need a GitHub account with SSH keys. See this GitHub article for getting your account setup with SSH keys.
- Enable SSH in your device's settings
- Enter your GitHub username in the device's settings
- Connect to your device
- Username:
comma - Port:
22
- Username:
Here's an example command for connecting to your device using its tethered connection:ssh [email protected] -i ~/.ssh/my_github_key
For doing development work on device, it's recommended to use SSH agent forwarding.
ADB
In order to use ADB on your device, you'll need to perform the following steps using the image below for reference:
- Plug your device into constant power using port 2, letting the device boot up
- Enable ADB in your device's settings
- Plug in your device to your PC using port 1
- Connect to your device
adb shellover USBadb connectover WiFi- Here's an example command for connecting to your device using its tethered connection:
adb connect 192.168.43.1:5555
[!NOTE]
The default port for ADB is 5555.
For more info on ADB, see the Android Debug Bridge (ADB) documentation.
Notes
The public keys are only fetched from your GitHub account once. In order to update your device's authorized keys, you'll need to re-enter your GitHub username.
The id_rsa key in this directory only works while your device is in the setup state with no software installed. After installation, that default key will be removed.
ssh.comma.ai proxy
With a comma prime subscription, you can SSH into your comma device from anywhere.
With the below SSH configuration, you can type ssh comma-{dongleid} to connect to your device through ssh.comma.ai.
Host comma-*
Port 22
User comma
IdentityFile ~/.ssh/my_github_key
ProxyCommand ssh %[email protected] -W %h:%p
Host ssh.comma.ai
Hostname ssh.comma.ai
Port 22
IdentityFile ~/.ssh/my_github_keyOne-off connection
ssh -i ~/.ssh/my_github_key -o ProxyCommand="ssh -i ~/.ssh/my_github_key -W %h:%p -p %p %[email protected]" comma@ffffffffffffffff(Replace ffffffffffffffff with your dongle_id)
ssh.comma.ai host key fingerprint
Host key fingerprint is SHA256:X22GOmfjGb9J04IA2+egtdaJ7vW9Fbtmpz9/x8/W1X4
+---[RSA 4096]----+
| |
| |
| . |
| + o |
| S = + +..|
| + @ = .=|
| . B @ ++=|
| o * B XE|
| .o o OB/|
+----[SHA256]-----+How To Replay A Drive (`docs/how-to/replay-a-drive.md`)
Replay
Replaying is a critical tool for openpilot development and debugging.
Replaying a route
Hardware required: none
Just run openpilot/tools/replay/replay --demo.
Replaying CAN data
Hardware required: jungle and comma four
- Connect your PC to a jungle.
How To Turn The Speed Blue (`docs/how-to/turn-the-speed-blue.md`)
Turn the speed blue
A getting started guide for openpilot development
In 30 minutes, we'll get an openpilot development environment set up on your computer and make some changes to openpilot's UI.
And if you have a comma four, we'll deploy the change to your device for testing.
1. Set up your development environment
Run this to clone openpilot and install all the dependencies:
bash <(curl -fsSL openpilot.comma.ai)Navigate to openpilot folder & activate a Python virtual environment
cd openpilot
source .venv/bin/activateThen, compile openpilot:
scons2. Run replay
We'll run the replay tool with the demo route to get data streaming for testing our UI changes.
# in terminal 1
openpilot/tools/replay/replay --demo
# in terminal 2
./openpilot/selfdrive/ui/ui.pyThe openpilot UI should launch and show a replay of the demo route.
If you have your own comma device, you can replace --demo with one of your own routes from comma connect.
3. Make the speed blue
Now letโs update the speed display color in the UI.
Search for the function responsible for rendering the current speed:
git grep "_draw_current_speed" openpilot/selfdrive/ui/onroad/hud_renderer.pyYou'll find the relevant code inside openpilot/selfdrive/ui/onroad/hud_renderer.py, in this function:
def _draw_current_speed(self, rect: rl.Rectangle) -> None:
"""Draw the current vehicle speed and unit."""
speed_text = str(round(self.speed))
speed_text_size = measure_text_cached(self._font_bold, speed_text, FONT_SIZES.current_speed)
speed_pos = rl.Vector2(rect.x + rect.width / 2 - speed_text_size.x / 2, 180 - speed_text_size.y / 2)
rl.draw_text_ex(self._font_bold, speed_text, speed_pos, FONT_SIZES.current_speed, 0, COLORS.white) # <- this sets the speed text colorChange COLORS.white to make it blue instead of white. A nice soft blue is #8080FF, which you can change inline:
- rl.draw_text_ex(self._font_bold, speed_text, speed_pos, FONT_SIZES.current_speed, 0, COLORS.white)
+ rl.draw_text_ex(self._font_bold, speed_text, speed_pos, FONT_SIZES.current_speed, 0, rl.Color(0x80, 0x80, 0xFF, 255))4. Re-run the UI
After making changes, re-run the UI to see your new UI:
./openpilot/selfdrive/ui/ui.pyYou should now see the speed displayed in a nice blue shade during the demo replay.
5. Push your fork to GitHub
Click "Fork" on the Openpilot GitHub repo. Then push with:
git remote rm origin
git remote add origin [email protected]:<your-github-username>/openpilot.git
git add .
git commit -m "Make the speed display blue"
git push --set-upstream origin master6. Run your fork on your comma device
Uninstall Openpilot through the settings on your device.
Then reinstall using your own GitHub-hosted fork:
installer.comma.ai/<your-github-username>/master7. Admire your work IRL ๐๐จ
Youโve now successfully modified Openpilotโs UI and deployed it to your own car!
--- METRICS ---
- Files Extracted: 34
- Estimated Token Budget: ~57037 tokens
- Canonical Reference: https://codewiki.google/github.com/commaai/openpilot