ZoneOS home

Openpilot port for General Motors cars

Level 2 autonomy for less than $1,000

openpilot is an open source driving agent with a much better lane keep assist than General Motors cars come with from the factory, and a ton of other features. On a highway, you can expect to be able to let go of both steering wheel and gas/brake pedals. Of course, the driver must still keep attention and is liable at all times. This guide uses pictures and pinouts for 2017 Chevrolet Volt with Adaptive Cruise Control (ACC) package, but should work pretty much the same way for any ACC-equipped GM car, except for Impala and supercruise models. Check out pull requests on openpilot github repo for current status of GMC Acadia and Chevy Malibu interface updates.




Installation Guide


  • Get a GM-made car with Adaptive Cruise Control package, except for Impala or supercruise-equipped car. In some cars, ACC is a part of Driver Confidence II package, for some it's a separate package. Non-ACC cars don't have a front radar, and (at least currently) are not supported by openpilot. Most often Premier trim is required to be able to add ACC package. Chevrolet Volt Premier 2017+ with ACC is currently the best supported GM car.
  • Buy an EON and a Panda. All types of pandas are supported, grey and white.
  • Ordering a GM Giraffe is optional. Giraffe simplifies powering front radar module.
  • Check out #gm slack channel for latest news. Ask a lot of questions, and suggest improvements to this guide.
  • Turn off the car, and wait for couple minutes until car's dashboard screen turns off completely, no backlight. Car doesn't turn off quite fully with just pressing the start button, and it effectively turns on for every user interaction, like pressing a button, pedal, closing the door, etc. Proceeding while car is turned on may result in ECUs throwing communication errors (engine light comes on).
  • Pull out fuse marked "OBS DET" (stands for obstacle detection). Fuse descriptions are usually located on the fuse box cover. On Volt, it's the fuse F19 located in the trunk. This will power off adaptive cruise modules, as well as side alert system. This way ACC ECUs won't throw errors due to not seeing other modules.
  • If you have a GM Giraffe, just swap stock adaptive cruise control module with a GM giraffe, put the fuse back in, and you're done. If you don't have a giraffe, follow the steps below.
  • Remove the front camera module outer cover, and unplug the module. Leave rear view mirror and camera module itself as-is, no need to remove those.
  • Car-specific step, the pinout and connector are for Chevy Volt. Manufacture 12-pin Molex 34825 plug to manually control the radar power. On the adapter, short pins 5&7, and 6&8 (CAN_H "high" shorted to another CAN_H, same for CAN_L "low") to keep continuity of the "object detection" CAN bus, and pins 3&9 to provide power to the radar. Feel free to make 3&9 connection through a rocker switch, for convenience.
  • Camera Module pinout, for Chevy Volt:
    pindescription
    1ground
    2not connected
    3+12v power
    4not connected
    5object detection CAN high, can_h
    6object detection CAN low, can_l
    7object detection CAN high, can_h
    8object detection CAN low, can_l
    9+12v radar power
    10not connected
    11single-wire GMLAN
    12not connected
  • Don't leave radar powered on when you leave the car: radar may have to be restarted if left running for a long time; it uses about 6 watts of power, which is a bit much radiation to be exposed to; and the worst thing is it will drain your lead-acid 12v car battery, if left running for about a week without a charger cord connected.






  • Optional step, for setup convenience. You can reach also the ACC module through the emergency hole just as well. Pull out the interior panel to the left of rear seats. Locate the adaptive cruise control module, right behind the storage compartment, and unplug it.





  • On the 16-pin harness, put 120 Ohm resistor between pins 6&14 on the unplugged harness. This is terminating CAN bus resistor for object detection CAN bus.
  • On the 16-pin harness, short pairs of pins 1&2, 3&4, 9&10 and 11&12 on the unplugged harness, to keep continuity of the chassis and object CAN buses. This shorts CAN_H to another CAN_H of the same bus, same goes for CAN_L. Never drive your Volt without continuity on chassis and powertrain CAN buses!
  • Alternative setup. You can leave ACC module's 16-pin connector plugged in, to provide equivalent continuity and bus termination. If you do this, ignore the two steps above.
  • On the 14-pin harness, short pins 6&7, and 13&14 (CAN_H shorted to another CAN_H, same for CAN_L) on the unplugged harness, to keep continuity of the powertrain CAN bus. Never drive your Volt without continuity on chassis and powertrain CAN buses!
  • ACC Module pinout, for Chevy Volt:
    pindescription, 16-pin connector
    1chassis CAN high, can_h
    2chassis CAN high, can_h
    3object detection CAN high, can_h
    4object detection CAN high, can_h
    6object detection CAN high, can_h
    7single-wire GMLAN
    9chassis CAN low, can_l
    10chassis CAN low, can_l
    11object detection CAN low, can_l
    12object detection CAN low, can_l
    14object detection CAN low, can_l

    pindescription, 14-pin connector
    1+12v power
    3steering wheel LKA LED control
    6powertrain CAN high, can_h
    7powertrain CAN high, can_h
    8ground
    9+12v radar power
    12???
    13powertrain CAN low, can_l
    14powertrain CAN low, can_l

  • Plug back obstacle detection fuse (F19 for Volt). Note that you will see "Service adaptive cruise control" and "Service front camera" if the ignition is on but EON is not plugged in.



Limitations

  • Openpilot must be engaged with pressing "set/-" button while going above 18 MPH, with ACC enabled. Press main ACC steering wheel button to get a white speedometer icon on dashboard, to enable ACC.
  • After first openpilot engagement, and until car is restarted (or ACC mode is tuned off and on), openpilot can be engaged with either "set/-" or "res/+" buttons. In other words, car needs to be put in adaptive cruise control mode first, for "resume" steering wheel button to work.
  • In a stop-and-go traffic, if car comes to a full stop, press "res/+" button to take off. Auto-resume is a work-in-progress, currently there is a solution known for 2017 Volt that unfortunately doesn't work on other cars.
  • Lane keep is unavailable while driving under about 7 MPH.
  • Lane keep torque is limited. Expect to have to take over on curvy highway stretches.

More...

Lane keep assist system for cars with hydraulic power steering.



Home | Projects | Videos

Copyright © 2017-2018 Vasily Tarasov.