GM - commaai/openpilot GitHub Wiki

Chevy

◄ Home

Terms

OpenPilot General Terms

See General-Terms.

GM Specific Terms

Term Abbreviation Definition
Active Safety Control Module ASCM Car computer/module that does sensor fusion from Radar and Camera to create ACC and LKA messages to PCM (powertrain control module). Typically located in the trunk.
Calibration n/a Packaged adjustments to running parameters of firmware running on GM vehicles. Updates available from SPS within TIS2Web
Developmental Programming System DPS Software application that allows direct programming of vehicle modules without an online connection. This allows the possibility of custom programming not otherwise supported by GM.
Diagnosis Trouble Code DTC DTC, General Motors OBD-II Trouble Codes
Firmware FW Base operating system for various devices throughout the vehicle. Updates available from SPS within TIS2Web
Global Diagnostic System 2 GDS2 GM system for advanced diagnostics and firmware flashing
GM Local Area Network GMLAN Single wire propriety interface present on the CAN connector in GM vehicles.
Multiple Diagnostic Interface MDI GM service device connecting the vehicle to a computer. Lower price generics exist such as vxdiag.
Serial Data Gateway Module SDGM Functions as a gateway to isolate the secure networks on the vehicle from unsecured networks. Isolating primary networks helps ensure advanced driver assistance systems and active safety features, such as enhanced collision avoidance, can all operate in conjunction with each other.
Service Programming System SPS Firmware and calibrations within the TIS2Web application. Updates can be seen for vehicles by VIN without cost here.
Tech2 for Windows Tech2Win Emulated legacy diagnostic interfaces for Windows. Runs in an emulated terminal.
Techline Information System TIS2Web ACDelco site providing diagnostics and firmware for cars on a subscription basis. Interacts with vehicle via GM MDI. Java webstart application.
Vehicle Intelligence Platform VIP VIP, which has also been referred to as Global B, is a new electrical architecture that has a five-fold increase in system capacity and responsiveness over the current Global A system that can provide the required electrical bandwidth and data processing power to run advanced driver assistance systems (ADAS) and supports over-the-air updates for the vehicle’s operating system, infotainment and more. Cybersecurity is another key aspect of the Vehicle Intelligence Platform, protecting GM vehicles and their users from data hacking attempts and other cyberattacks.

Vehicle Requirements

The GM RPO code for CRUISE CONTROL AUTOMATIC, ADAPTIVE WITH STOP/GO is KSG. Most GM 2016-2020 vehicles with ACC, LKA can be supported.

Look for the smooth Chevy logo on the grill, which is transparent to radar. Car dealers will often reuse external photos, so don't trust them. The left panel of the steering wheel will have a central button to adjust follow distance.

Volt ASCM is the trunk, on the driver's side, behind the storage cabinet:

Unofficial Vehicles

Any GM vehicle 2016+

Need to have front camera and lane keeping. These will only control steering, not gas/brake. With a comma pedal, limited longitudinal control is possible by using Low gear to decelerate. To upstream these vehicles, find a CAN bus and command to control friction brakes!

Volt '16, '17, and '18 without Adaptive Cruise Control

On Volt LT and Premier (No Radar and ACC), the car's firmware may be modified to enable full longitudinal control. Note that DIY firmware mods come at the risk of bricking your car.

Firmware modifications required for 2017 LT Volt Openpilot

There are also a few hardware modification necessary or optional depending on your car.

  • Radar: Optional if you want to use Vision-Only ACC from OP
  • Premier Steering Wheel Replacement: Required for LT, not for Premier with LKAS
  • LKAS Camera Bypass Plug: Required for Premier with LKAS, not for LT

Hardware modifications required for 2017 LT Volt Openpilot

Bolt

See the openpilot Bolt wiki.

Capabilities

Steering is unavailable under 6 MPH(10 KPH).

Model year differences

On Volt '17, initial engage with openpilot must be at a speed above 18 mph. Sometimes cruise faults at speeds below 18 mph. Auto-resume is supported, which means openpilot will resume following a stopped lead car when the lead car pulls away.

On Volt '18, initial engage starts at 1 mph. Auto-resume is not supported, so you need to either press RES button on control pad or the gas pedal to resume. Auto-resume using a comma pedal is currently WIP.

On Volt '19, control over steering may be accomplished with the Bolt harness sold in the Comma shop (instead of the OBD-II and ASCM harness combo listed below). As mentioned above, limited longitudinal control may be added using a comma pedal.

General experience

No steering under 6 MPH is barely noticeable unless you do a lot of gridlock traffic, since it is slow and does not take long to reach. Some curves are too tight to steer unless vision braking is enabled (see Twilsonco's fork). Highway to highway merges are generally fine. Lane changing is fine. Once on highway it's smooth sailing, interventions generally come down to other people doing the wrong thing, or if you're in the right lane and you need to slow for someone to merge.

Hardware

  1. Comma 3x with OBD-II car harness (The one with USB-C connector)

ASCM Bypass (For Volt Premier with Stock LKAS and ACC)

In Volt with stock LKAS and ACC, radar and camera data will be sent to ASCM to process. ASCM needs to be bypassed to allow normal operation of OP.

  1. ASCM wiring harness (DO NOT Buy if you have an LT or Premier WITHOUT ACC Radar)

Other ASCM Bypass Harness Methods

DIY ASCM Harness Examples

ASCM 14-pin stub

Camera stub

Connect switched +12V (e.g. ignition on, rearview mirror connector or driver fusebox) to pin 9 (radar power) of cam connector. This will turn on the front radar when the car is powered on.

Original instructions from Zoneos

Homemade OBD-II to OBD-C Harness

Map OBD-II to OBD-C female (at comma device) schematic

OBD-II OBD-C
4 GND GND
6 CAN1H A2 CAN0H
14 CAN1L A3 CAN0L
3 CAN2H A11 CAN1H
11 CAN2L A10 CAN1L
12 CAN3H B2 CAN2H
13 CAN3L B3 CAN2L
16 12V VBUS
B8 SBU2 1kΩ to GND

Troubleshooting

CAN Error, OBD-C Connector Orientation

ODB-C cable orientation matters. If you receive a CAN Error, flip the OBD-C connector orientation 180º either at the male-to-male adapter or at the OBD-II car port.

Cruise Fault Warning on Volt (Brake Pedal Positioning)

An issue where ACC brake-pressed is not the same as openpilot brake-pressed. This causes a cruise fault or controls mismatched warning when engaging, tapping the brakes, or hitting bumps.

The pedal failure is addressed by service bulletin for 2016-2017 Volt Brake Pedal Push Rod Retainer (part 39081933), TSB 16-NA-147. If using the top of your foot to pull up on the brake pedal resolves the fault, this is likely the cause.

GM dealerships may fix this fault for free - just make sure to remove the OBD-II splitter and put the ASCM toggle switch in dealer mode before taking the Volt in for service.

This condition is often mis-diagnosed by service centers - their first diagnostic step is usually to re-flash the front camera and/or radar sensor. Politely referencing TSB 16-NA-147 should help guide the service department on the right path.

A loose brake pedal affected by this issue could theoretically be a huge issue. Imagine driving around a curve, and openpilot disengages randomly from this issue! Don't try to fix this issue in software, fix the hardware!!!

Forks that Play Nice with GM Vehicles

Helpful Videos