Skip to content

Konik-ai/OBD2C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Designed using Kicad 8

Unlike harness box, OBD2-C doesn't use the relay.

The purpose of it is to sniff CAN buses that are already present in OBD-2 port, similar to what white panda was doing in the past, but compatible with OBD-C, though often only diagnostic CAN is populated on OBD-2.

The device exposes three CAN buses out of OBD-C:

  • CAN0 (3, 11)
  • CAN1 is routed to the JST (pin 2,3) connector (can be connected .e.g to StepperServoCAN) and has optional 120ohm termination resistor (see jumpers). Alternatively, bus 1 can be rerouted using jumpers as a GMLAN (obd pin 1) as in white panda - but unlike white panda it uses single wire hack and is not tested
  • CAN2 (pins 12, 13)
  • CAN3 (pins 6, 14) - this one can be used e.g. as "ELM327" or vin reading in openpilot

image As seen from PCB side

Some notes regarding openpilot bus names mapping to STM32 peripherals and harness - (the indexes are not always consistent): HARNESS_STATUS_NORMAL

openpilot STM32F4 Harness WhitePanda
sbu1 sbu2
sbu2 sbu1
bus 0 CAN1 CAN0 CAN1
bus 1 CAN2 CAN1 CAN2
bus 1(obd) CAN2 alt CAN3 GMLAN
bus 2 CAN3 CAN2 CAN3

HARNESS_STATUS_FLIPPED

openpilot STM32F4 Harness WhitePanda
sbu1 sbu1
sbu2 sbu2
bus 0 CAN3 CAN0 CAN1
bus 1 CAN2 alt CAN1 CAN2
bus 1(obd) CAN2 CAN3 GMLAN
bus 2 CAN1 CAN2 CAN3

+obd means set_obd_multiplexing(True) in openpilot aka panda.set_obd(True) in panda lib aka set_can_mode(CAN_MODE_OBD_CAN2) in panda firmware.

Confusing? Yes. Especially inside panda firmware.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published