GM EPBM external application

Hi Guys,

I’m working on my project, where I need to change the mechanical, lever operated parking brake to eletrical one. I chose to use GM sourced module that was previously installed on Opel/Buick Insignia MY11. I’m working on it without the car itself, just the module, power supply, original parking brake switch.

With the button and power source connected to the correct pins I managed to pull the parking brake (with two stages - medium and maximum). At this point I knew that the module works.

Being aware that to release the brake the module expects brake pedal to be pressed I tried to send some messages to canbus pins that were somehow related to a brake pedal and that I could find in the dbc files available on opendbc. Unfortunately, with no results at all. Moreover the transmitter kept resending all the messages, which I guess means that it couldn’t receive the ACK for them.

I put a lot of hopes in the message below, as it made the most sense for the EPB to receive:

BO_ 489 EBCMVehicleDynamic: 8 K17_EBCM

  • SG_ BrakePedalPressed : 6|1@0+ (1,0) [0|0] “” NEO
  • SG_ LateralAcceleration : 3|10@0- (0.161,0) [-2047|2047] “m/s2” NEO
  • SG_ YawRate : 35|12@0- (0.625,0) [0|1] “” NEO
  • SG_ YawRate2 : 51|12@0- (0.0625,0) [-2047|2047] “grad/s” NEO

I know that the connection to HiSpeed GMLan works, because when I pull the parking brake button the module sends couple messages (listed below). One of them is 0x230, which is EPBM status. I tried to connect to the SW line as well, but I couldn’t see any reaction on lowspeed messages I found in the dbc libraries.

Can dump for HiSpeed GMLan

can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 1FB [2] 47 30
can0 230 [8] 05 20 12 C0 00 00 1F FF
can0 77D [7] 01 2B 45 58 5A 93 00
can0 100 [0]
can0 100 [0]
can0 1FB [2] 86 20
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 1FB [2] C5 10
can0 230 [8] 85 20 22 D0 00 00 1F FE
can0 100 [0]
can0 100 [0]
can0 1FB [2] 00 00
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 1FB [2] 47 30
can0 230 [8] 85 20 32 D0 00 00 1F FD
can0 100 [0]
can0 100 [0]
can0 1FB [2] 86 20
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 1FB [2] C5 10
can0 230 [8] 85 20 02 D0 00 00 00 00
can0 100 [0]
can0 100 [0]
can0 1FB [2] 00 00
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 1FB [2] 47 30
can0 230 [8] 85 20 12 D0 00 00 1F FF
can0 100 [0]
can0 100 [0]
can0 1FB [2] 86 20
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 1FB [2] C5 10
can0 230 [8] 85 20 22 D0 00 00 1F FE
can0 100 [0]
can0 100 [0]
can0 1FB [2] 00 00
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 1FB [2] 47 30
can0 230 [8] 85 20 32 D0 00 00 1F FD
can0 100 [0]
can0 100 [0]
can0 1FB [2] 86 20
can0 100 [0]
can0 100 [0]
can0 100 [0]
can0 1FB [2] C5 10
can0 230 [8] 85 20 02 D0 00 00 00 00
can0 100 [0]
can0 100 [0]
can0 1FB [2] 00 00
can0 100 [0]
can0 1FB [2] 47 30
can0 230 [8] 85 20 12 D0 00 00 1F FF

If you can provide me with any useful information on the setup, possible messages that I need to send that would great.

Try these control command CAN messages this is what I use to engage or disengage parking brakes on a 2012 chevy volt. You might have to send speed CAN messages also because it only engages under 6 mph.
|254 03 AE 01 08 |parking brake engaged|
|254 03 AE 01 10 |parking brake disengaged|