OBD12
samnadol·OBD12·pcb/pcb.kicad_pcb
About the OBD12 PCB
OBD12 is an open source STM32 PCB design by samnadol, published on GitHub. It is a 4-layer board measuring 41.8 × 39.9 mm, with 70 components from 31 distinct parts.
Its main chip is the STM32G431KBTx, from the STM32 family. Other key parts include the USBLC6-2SC6, FT230XS, SPX3819M5-L, LM66100DCK and TCAN337. By type, the board carries 28 capacitors, 20 resistors, 9 ICs, 5 LEDs, 3 diodes and 2 inductors.
It belongs with the power & battery and iot & wireless designs in this gallery.
From the project
PCB and Firmware for OBD12
OBD12 is a small OBD-II dongle. It plugs straight into a vehicle's J1962 diagnostic port and bridges the vehicle's high-speed CAN bus (ISO 15765-4) to Bluetooth Low Energy (BlueNRG-M2SP module) and to a USB-C serial port (FT230X). An STM32G431 runs the whole board.
The MCU is an STM32G431KBT6: Cortex-M4F, 128 KB flash, 32 KB RAM, running at 3.3 V.
Termination guidance - In a vehicle: leave R16, R17, and C18 unpopulated. The OBD port is a stub off an already-terminated bus (two 120 Ω ends = 60 Ω). Adding a third terminator loads the bus. - On the bench with only one other node: fit R16/R17…
Main components on the OBD12
OBD12 bill of materials (BOM)
70 components, 31 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | STM32G431KBTx | LQFP-32_7x7mm_P0.8mm | U1 |
| 1 | USBLC6-2SC6 | SOT-23-6 | U2 |
| 1 | FT230XS | SSOP-16_3.9x4.9mm_P0.635mm | U3 |
| 1 | SPX3819M5-L | SOT-23-5 | U4 |
| 2 | LM66100DCK | SOT-363_SC-70-6 | U5, U8 |
| 1 | TCAN337 | SOIC-8_3.9x4.9mm_P1.27mm | U6 |
| 1 | LM2842X | TSOT-23-6 | U7 |
| 1 | BLUENRG-M2SP | BLUENRG-2M_STM | U9 |
| 1 | 830103622909 | Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | USB_C_Receptacle_USB2.0_16P | USB_C_Receptacle_G-Switch_GT-USB-7010ASV | J2 |
| 1 | RESET_BUTTON | TS-1187A-ABAB | SW1 |
| 1 | LED_RED | LED_0603_1608Metric | DS1 |
| 4 | LED_GREEN | LED_0603_1608Metric | DS2, DS3, DS4, DS5 |
| 1 | PESD1CAN | TSOT-23 | D1 |
| 1 | SMAJ24A | D_SMA | D2 |
| 1 | SM5819PL-TP | D_SOD-123F | D3 |
| 1 | BLM18AG121SN1D | L_0603_1608Metric | FB1 |
| 1 | 15uH | L_Wurth_WE-LQSH-3012 | L1 |
| 5 | 1uF | C_0603_1608Metric | C1, C9, C10, C16, C27 |
| 12 | 100nF | C_0603_1608Metric | C2, C3, C4, C8, C11, C14, C15, C19 +4 |
Show 11 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 8 | 10uF | C_0603_1608Metric | C5, C12, C13, C17, C20, C23, C24, C28 |
| 2 | 12pF | C_0603_1608Metric | C6, C7 |
| 1 | 4n7 | C_0603_1608Metric | C18 |
| 2 | 0R | R_0603_1608Metric | R1, R2 |
| 5 | 10k | R_0603_1608Metric | R3, R4, R13, R15, R18 |
| 4 | 1k02 | R_0603_1608Metric | R5, R6, R7, R20 |
| 2 | 5k1 | R_0603_1608Metric | R8, R9 |
| 4 | 60R | R_0603_1608Metric | R10, R11, R16, R17 |
| 1 | 56k | R_0603_1608Metric | R12 |
| 1 | 33k | R_0603_1608Metric | R14 |
| 1 | 3k4 | R_0603_1608Metric | R19 |
OBD12 design files
The KiCad project lives in the samnadol/OBD12 repository on GitHub; these links point at the commit this page was built from.
- Layoutpcb/pcb.kicad_pcb
- Schematicpcb/pcb.kicad_sch
OBD12: common questions
What microcontroller does the OBD12 use?
The OBD12 is built around the STM32G431KBTx, from the STM32 family.
How big is the OBD12 PCB?
The OBD12 measures 41.8 × 39.9 mm, has 4 copper layers and is 1.6062 mm thick.
How many components are on the OBD12?
70 components, from 31 distinct parts. The full bill of materials is listed on this page.
Where can I download the OBD12 design files?
From the samnadol/OBD12 repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the OBD12 design in my own project?
The repository has no license, so all rights stay with samnadol. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the OBD12 without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
Type e
google
140.5 × 30 mm13 parts2LApache-2.02.9kSTM32
Main panel
google
234 × 84 mm26 parts4LApache-2.02.9kSTM32
Base
google
52.3 × 52.3 mm36 parts2LApache-2.02.9kSTM32
Type a
google
150 × 30 mm14 parts2LApache-2.02.9kSTM32
Type c
google
188 × 30 mm17 parts2LApache-2.02.9k