Skip to the content
PCBKitNew board
2 layers37 × 17 mmOBD2C, the printed circuit board in 3D

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

Size
37 × 17 mm
Copper layers
2
Thickness
1.6 mm
Parts
25
Nets
28
Pads
96
Tracks, vias
294, 75
Pours
97
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
30 Oct 2024
Updated
7 Mar 2025

Overview

OBD2C is an open-source printed circuit board by dzid26, from the dzid26/OBD2C repository on GitHub. It is a 2-layer board of 37 × 17 mm with 25 parts on 28 nets, routed with 294 tracks and 75 vias.

It is built around the AO3401A, MMBT5551L and SMBJ30CA. Its parts include 7 resistors, 4 diodes, 2 capacitors, 2 transistors and 2 connectors.

Main components

3

README

README.md

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

openpilotSTM32F4HarnessWhitePanda
sbu1sbu2
sbu2sbu1
bus 0CAN1CAN0CAN1
bus 1CAN2CAN1CAN2
bus 1(obd)CAN2 altCAN3GMLAN
bus 2CAN3CAN2CAN3

HARNESS_STATUS_FLIPPED

openpilotSTM32F4HarnessWhitePanda
sbu1sbu1
sbu2sbu2
bus 0CAN3CAN0CAN1
bus 1CAN2 altCAN1CAN2
bus 1(obd)CAN2CAN3GMLAN
bus 2CAN1CAN2CAN3

+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.

Parts

25
QtyValueFootprintReferences
310KResistor_SMD:R_0402_1005MetricR3, R5, R6
2D_SchottkyDiode_SMD:D_SOD-323D1, D2
1100nCapacitor_SMD:C_0603_1608MetricC1
111VDiode_SMD:D_SOD-123D4
1120RJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP3
1120RResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR2
112VJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP4
112V disconnectJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP6
1150Resistor_SMD:R_0603_1608MetricR7
11KResistor_SMD:R_0603_1608MetricR4
11LJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP7
1200RResistor_SMD:R_0805_2012MetricR1
1470nCapacitor_SMD:C_0805_2012MetricC2
1AO3401APackage_TO_SOT_SMD:SOT-23Q2
1Conn_01x04_SocketCONN-TH_B4B-XH-A-BK-LF-SNJ2
1D2_bypassJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP5
1GM_gndJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP2
1GM_sigJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1
1MMBT5551LPackage_TO_SOT_SMD:SOT-23Q1
1OBDIIobd2c:OBDIIM1
1SMBJ30CADiode_SMD:D_SOD-123FD3
1USB Type-Cpart:USB_C_Receptacle_GCT_USB4115-03-CJ1

Questions

How big is the OBD2C PCB?

It measures 37 × 17 mm and has 2 copper layers, 1.6 mm thick.

What parts does the OBD2C use?

25 parts, built around the AO3401A, MMBT5551L and SMBJ30CA. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the OBD2C KiCad files?

From the dzid26/OBD2C repository on GitHub, at the commit this page was made from: the board is kicad_project/OBD2-C.kicad_pcb and its schematic kicad_project/OBD2-C.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the OBD2C design in my own project?

Its repository states no licence, so its author keeps all rights: ask dzid26 before reusing the design.

Similar boards

  • 2 layers86 × 67 mmAR488 ESP32, the printed circuit board in 3D

    AR488 ESP32

    joseluu/MCP-AR-488-ESP32

    The idea is to have AI help me build electronics. AI needs eyes, the eyes are the oscilloscope which is used through an MCP interface.

    22 parts2
  • 2 layers99.4 × 97 mmPanelized, the printed circuit board in 3D

    Panelized

    unicab369/ESP-MESS

    I am building a Wireless Bridge System that can manage multiple devices using a variety of wireless technologies.

    416 parts
  • 4 layers106 × 63.5 mmBrineomatic, the printed circuit board in 3D

    Brineomatic

    hoeken/brineomatic

    Open Source Watermaker Controller.

    323 parts47LGPL-2.1
  • 4 layers85 × 56 mmAnthC, the printed circuit board in 3D

    AnthC

    Anthilla/AnthC

    Anthilla AnthC Board

    211 parts40
  • 2 layers170 × 140 mmLibreVerter Controller, the printed circuit board in 3D

    LibreVerter Controller

    imendizabal/LibreVerter

    Open Source Power Converter - Hardware Components

    215 parts22
  • 2 layers140 × 90 mmPicoIndustrial, the printed circuit board in 3D

    PicoIndustrial

    feecat/PicoIndustrial

    Industrial Control Module Based on RPI PICO

    163 parts14GPL-3.0
  • 4 layers144 × 127 mmFrothfet, the printed circuit board in 3D

    Frothfet

    hoeken/frothfet

    Yarrboard load controller board with current sense, volt sense, fuses, and sender support.

    394 parts14GPL-3.0
  • 2 layers127 × 71 mmRgb input, the printed circuit board in 3D

    Rgb input

    hoeken/yarrboard-hardware

    Hardware for the Yarrboard open hardware project

    118 parts4GPL-3.0