From comma wiki
Revision as of 16:24, 26 September 2019 by Jyoung8607-2 (talk | contribs) (Upgrade Golf to tested and supported)

Jump to: navigation, search


Comma AI currently has no official support for Volkswagen brands, but a community port is available, with plans to upstream for official support in the near future. The community port is designed to support any Volkswagen MQB vehicle with an automatic transmission AND factory ACC and Lane Assist. Check the Vehicle Support section for details and caveats.

User Experience

Lateral control is provided by openpilot. All MQB vehicles tested to-date support steering down to 0mph. Longitudinal control remains with stock ACC, although OP takes control of the engagement process for additional safety and feature needs. The minimum ACC setpoint is 20mph/30kph.

Vehicles with "ACC high" support follow-to-stop and automatic resume if the stop is less than three seconds, from the factory. OP can improve on that by resuming on behalf of the driver after longer delays. "ACC high" requires an electronic parking brake, and does make use of it under certain conditions. If the vehicle in question has an EPB, chances are good it supports "ACC high". Vehicles with "ACC low" support follow-to-stop (XXX review this: may be near-stop only) but will require the driver take over and hold the brake after a very short delay. Resume from stop is moot as ACC low vehicles will not hold themselves at a stop. Any vehicles with a manual parking brake, either foot or hand operated, will fall into this category.

Available steering torque is adequate for most highway driving conditions. All MQB models support the exact same amount of commanded torque, but the different steering rack and suspension geometry between models can result in different effective performance. For example, the Volkswagen Atlas with its high-static ratio steering has been tested to handle curves somewhat better than the Golf GTI or Golf R which have tighter-variable ratio steering suited to higher performance driving.

Factory lane assist will be ignored when Panda is installed and filtering CAN traffic. The Lane Assist enable/disable checkbox in the instrument cluster or infotainment unit will still be present, but will not do anything.

Vehicle Support

Fully Tested and Supported

At least one representative vehicle from each of these vehicle-classes has been tested and verified to work with openpilot. Therefore, we are confident that any vehicle in these model-year-ranges should work with openpilot. Fingerprint updates may still be needed until we have full VIN detection.

  • 2013-current Mk3 Škoda Octavia [Wiki]
  • 2018-2019 Mk1 Volkswagen Atlas (Teramont in some markets) [Wiki]
  • 2012-2019 Mk7 and Mk7.5 Volkswagen Golf variants [Wiki]
    • Golf
    • e-Golf
    • Golf R

Supportable but Untested

These vehicle-classes should work fine with openpilot, to the best of our information, but have not yet been tested. Minor tweaks or other support may be needed. Be cautious if making an openpilot or vehicle purchase decision based on this information. If in doubt, ask on Discord.

  • All MQB vehicles not listed above, with factory ACC and LKAS
    • 2018-current Mk2 Audi A1 (listed as MQB-A0, but confirmed to have factory ACC and LKAS options) Wiki
    • 2012-current Mk3 Audi A3, S3 and RS3 Wiki
    • 2014-current Mk3 Audi TT Wiki
    • 2017-current Mk1 Audi Q2 Wiki
    • 2018-current Mk2 Audi A3 Wiki
    • 2016-current Mk1 SEAT Ateca Wiki
    • 2012-current Mk3 SEAT León Wiki
    • 2019-current Mk1 SEAT Tarraco Wiki
    • 2019-current Mk1 Škoda Kamiq Wiki
    • 2017-current Mk1 Škoda Karoq Wiki
    • 2017-current Mk1 Škoda Kodiaq Wiki
    • 2019-current Mk1 Škoda Scala Wiki
    • 2015-current B8 Škoda Superb Wiki
    • 2018-current Mk1 Volkswagen Arteon Wiki
    • 2018-current Mk4 Volkswagen Bora Wiki
    • 2013-2019 Volkswagen Golf variants not explicitly tested so far (Mk7 and Mk7.5) Wiki
      • Golf Sportwagen
      • Golf Alltrack
      • GTI
      • GTI TCR
      • GTE
      • GTD
      • Sportsvan
    • 2019-current Volkswagen Jetta (except GLI) and Sagitar (Mk7) Wiki
      • The GLI variant is architecturally compatible, but factory ACC appears unavailable (thanks for nothing VW)
    • 2018-current Volkswagen Tiguan (Mk2)

Development Roadmap

We think these vehicles can be supported at some point, but they are not supported just yet. Code changes will be required. There are no firm dates for any of these items. If you have a vehicle in this section and are interested in testing with openpilot, please ask on Discord before proceeding.

  • MQB vehicles that fall outside current support requirements
    • Manual transmission
      • IN PROGRESS as of Sept 2019; tested successfully with @tmatheso, just need to integrate into main code base
      • E-Golf effectively falls into this same category since there is no transmission CAN message; testing for E-Golf is also IN PROGRESS as of Sept 2019
    • No factory Lane Assist (very easy, we just need to test with one)
    • No factory ACC (much more involved, but possible in the long term)
      • Vision-only longitudinal control using visiond to drive known ACC messaging, for vehicles without radar
      • Radar data fusion might be possible later, if radar points are available on the sensor fusion bus, but this is not yet known
  • All PQ35/PQ46/NMS vehicles (hope and plan to support in the long-term future, but not yet)
    • Volkswagen Beetle 2012-2018
    • Volkswagen Passat 2011-present in North America, including the 2020 refresh
  • All MLB and MLBevo vehicles (requires FlexRay support, very long term future)
    • Volkswagen Touareg 2018-present


These vehicles either don't have electric power steering, or we don't have a known control channel.

  • Volkswagen Touareg prior to 2018 (hydraulic power steering, lane departure warning only via steering wheel haptic)
  • Volkswagen Phaeton (hydraulic power steering, lane departure warning only via steering wheel haptic)
  • MQB-A0 supermini and city cars without factory options for ACC or LKAS (willing to reexamine if new evidence is found)
    • SEAT Arona
    • SEAT Ibiza
    • SEAT Mii
    • Škoda Citigo
    • Volkswagen Up!



Each MQB vehicle uses the same basic architecture and CAN messaging, but will need individual tuning for best openpilot performance.

The maximum torque available to stock Lane Assist (and by extension, openpilot) is exactly 3.0 newton-meters across all known MQB vehicles. The effectiveness of that 3.0 nm varies somewhat depending on the exact vehicle model and its steering geometry. Vehicles with more sporty steering, particularly the Golf GTI and Golf R, are expected to have somewhat less ability to handle tighter curves, especially as speed increases.

Vehicle Hardware

The radar and camera are standard Bosch hardware running software customized for VW MQB. The forward radar can be any of three: Bosch LRR3 (very old and uncommon), Bosch MRR1plus (older and common), or Bosch MRREvo14F (newer and common). The camera is Bosch's MPC1(?) monocular multipurpose camera.

Steering rack imposed limits for Heading Control Assist:

  • Cannot steer at a standstill, but appears to work at any nonzero speed
    • HCA goes to not ready and HCA torque is ignored if this is violated; recoverable without a restart
  • Commanded torque limit: 3.0 newton-meters
    • HCA goes to not ready and HCA torque is ignored if this is violated
  • Rate of change: 5.0 nm/seconds
    • Found in certain documentation, but not observed in real world, at least not as a steering-disabling fault
  • Continuous time limit for HCA to be engaged: 180 seconds
    • Documented at 300 seconds in some places, 180 in others, 180 observed in real world testing
    • HCA goes to not ready and HCA torque is ignored if this is violated; recoverable without a restart
    • Working around this by disabling steering for one frame for every zero crossing
  • Same/stuck torque input detection: 6 seconds
    • Not documented anywhere, but observed in real world testing
    • HCA goes to not ready and HCA torque is ignored if this is violated; recoverable without a restart
    • Working around this by introducing slight noise, 0.01nm reduction in torque for one frame 1x/second

Controller Area Network (CAN)


XXX J533 concept

Critical Messages and Flows

XXX detail around certain select messages read or sent by OP

  • LWI_01
  • EPS_01 / LH_EPS_03
  • ACC_06
  • Getribe_11
  • HCA_01
  • LDW_02


XXX wiring diagram

Official Documentation

Volkswagen technical info can be found here:

XXX Legacy Archived Content XXX

Older Volkswagen Wiki content is collected here awaiting updates, cleanup, or decommissioning if no longer applicable.

When you install any variation of the cable or splitter adapter builds, remember to take off the battery. taking off the battery will lead to ton of warnings like "ACC not ready", "tpms not ready", "ESC not ready"

These errors will go away after a short 0.5mile / 1km drive down the runway and residual lights in dash will disasppear after then restarting the car

If you instead get errors with haltex module or anything in-gear then your CAN-bus is not forwarded correctly. This might be due your panda is not flashed with the correct firmware to forward the messages as this Volkswagen proposal requires you to do and they are instead only read in Can1 with stock Panda.

Replacing the stock cable with a Y-harness that routes Extended CAN -bus via Panda will require you to keep Panda connected at all times or create switches similar to Giraffe.

Aciid's cable ( Pinout )

J533_Sniffing_Cable components for J553, create the pinout to mimic the stock adapter, with the following alteration. You still need to route most 20 wires between original connector and the J553 unit, Terminal 15 (ign), Terminal 30 and GND go to Panda as well. Extended CAN goes first to Panda, then is routed back to J533.

Panda pin 6 - J533 pin 17 ( Extended High )
Panda pin 14 - J533 pin 7 ( Extended Low )
Panda pin 11 - Wiring harness connector pin LOW ( Wiring harness Low )
Panda pin 3 - Wiring harness connector pin HIGH ( Wiring harness High )

Can0 - should connect to j533 on 7/17
Can1 - should connect to the car wiring that used to be hooked up to 7/17, along with a 120 ohm termination resistor
Can2 - not used yet
Thanks jyoung8607

J533 Pinout - MQB "Highline trim"

This is just a reference from Skoda Octavia MY17, please check model specific from ERWIN if you are unsure.

1 -     Battery + (terminal 30)
2 -     Not used
3 -     LIN data bus 1
4 -     Not used
5 -     CAN bus Low (convenience)
6 -     CAN bus Low (drive)
7 -     CAN bus Low (extended)
8 -     CAN bus Low (instrument cluster)
9 -     CAN Bus Low (diagnosis)
10 -     CAN Bus Low (infotainment)
11 -     Ground – (terminal 31)
12 -     Ground – (terminal 31)
13 -     Instrument cluster wake-up
14 -     Terminal 15
15 -     CAN bus High (convenience)
16 -     CAN bus High (drive)
17 -     CAN bus High (extended)
18 -     CAN bus High (instrument cluster)
19 -     CAN bus High (diagnosis)
20 - 	 CAN bus High (infotainment)
Thanks P2

The Volkswagen OBDII port delivers only a CAN Diagnose high/low signal. A J533_Sniffing_Cable is needed to connect your panda.

The following is being proposed as a Safety Model for Panda interaction. Work in Progress.

Change your EON to jyoung's repo. EON will flash Panda automatically to a version that uses VW Safety Model by default.

This achieves the following goals

- Filter stock Camera messages from Can1 extended CAN hook up

- Send filter data with crafted OP steering messages to Can0

- Your car works normally without EON, only the lane-assistant function is not available.