Skip to the content
PCBKitNew board
2 layersEsp32p4-automotive, the printed circuit board in 3D

Esp32p4-automotive

emdzej/opencluster2

Round PCB (⌀80mm) for BMW retrofit with: - ESP32-P4 module (MIPI CSI + DSI) - 2× CAN bus (TJA1051T/3) - BMW IBUS (TH3122) - USB-C programming/debug - 12-14V automotive power input

Copper layers
2
Thickness
1.6 mm
Parts
4
Nets
29
Pads
0
Tracks, vias
0, 0
Pours
1
Routed
Not yet
KiCad
KiCad 8.0 (file 20240108)
Created
27 Mar 2026
Updated
10 Sep 2026

Overview

Esp32p4-automotive is an open-source printed circuit board by emdzej, from the emdzej/opencluster repository on GitHub. It is a 2-layer board with 4 parts on 29 nets.

It belongs with the ESP32 and RISC-V boards of this library.

README

hardware/esp32p4-automotive/README.md

ESP32-P4 Automotive Display Controller

Round PCB (⌀80mm) for BMW retrofit with:

  • ESP32-P4 module (MIPI CSI + DSI)
  • 2× CAN bus (TJA1051T/3)
  • BMW IBUS (TH3122)
  • USB-C programming/debug
  • 12-14V automotive power input

Specifications

ParameterValue
Board shapeCircle ⌀80mm
Layers2 (TOP + BOT)
Thickness1.6mm
Copper1oz
FinishHASL or ENIG

Block Diagram

text
                    12-14V (OBD/Battery)
                           │
                    ┌──────▼──────┐
                    │ TVS + Diode │
                    │  Protection │
                    └──────┬──────┘
                           │
                    ┌──────▼──────┐
                    │  TPS62827   │
                    │  DC-DC 3.3V │
                    └──────┬──────┘
                           │
     ┌─────────────────────┼─────────────────────┐
     │                     │                     │
┌────▼────┐         ┌──────▼──────┐        ┌─────▼─────┐
│  USB-C  │         │  ESP32-P4   │        │   CAN ×2  │
│  JTAG   │◄───────►│   Module    │◄──────►│ TJA1051   │
│  Debug  │         │             │        └───────────┘
└─────────┘         │  MIPI CSI ──┼──────► FPC 15-pin
                    │  MIPI DSI ──┼──────► FPC 22-pin
                    │  UART     ──┼──────► TH3122 (IBUS)
                    └─────────────┘

Connectors

J1 - USB-C

  • Programming via USB-JTAG (native ESP32-P4)
  • Debug console (USB-CDC)
  • Alternative 5V power (dev mode)

J2 - FPC 15-pin CSI (0.5mm pitch)

Standard Raspberry Pi camera pinout:

PinSignal
1GND
2CSI_D0_N
3CSI_D0_P
4GND
5CSI_D1_N
6CSI_D1_P
7GND
8CSI_CLK_N
9CSI_CLK_P
10GND
11-15I2C, GPIO, Power

J3 - FPC 22-pin DSI (0.5mm pitch)

PinSignal
1GND
2-3DSI_D1_N/P
4GND
5-6DSI_CLK_N/P
7GND
8-9DSI_D0_N/P
10GND
11-14DSI_D2, DSI_D3 (if 4-lane)
15-18NC/GND
19RESET
20NC
21VCC_IO
22VCC_BL

J4 - JST-SH 8-pin (Automotive)

PinSignalDescription
1+12VAutomotive power (10-16V)
2GNDGround
3CAN1_HCAN bus 1 High
4CAN1_LCAN bus 1 Low
5CAN2_HCAN bus 2 High
6CAN2_LCAN bus 2 Low
7IBUSBMW IBUS (single wire)
8GNDGround

BOM

RefValuePackageQtyDescription
U1ESP32-P4-WROOM-01Module1Main MCU module
U2TJA1051T/3SOIC-81CAN transceiver 1
U3TJA1051T/3SOIC-81CAN transceiver 2
U4TH3122SOIC-81BMW IBUS transceiver
U5TPS62827DLCRWSON-1113.3V DC-DC converter
U6USBLC6-2SC6YSOT-23-61USB ESD protection
D1SMBJ18CASMB1TVS diode 18V
D2SS34SMA1Reverse polarity diode
D3PESD2CANSOT-231CAN1 ESD protection
D4PESD2CANSOT-231CAN2 ESD protection
J1USB4110-GF-ASMD1USB-C receptacle
J2FPC-15-0.5mmSMD1MIPI CSI connector
J3FPC-22-0.5mmSMD1MIPI DSI connector
J4JST-SH-8SMD1Automotive connector
L12.2µH12101DC-DC inductor
C1-C410µF06034Decoupling caps
C5-C10100nF04026Bypass caps
C1122µF08051DC-DC input cap
C1222µF08051DC-DC output cap
R1120Ω04021CAN1 termination (optional)
R2120Ω04021CAN2 termination (optional)
R31kΩ04021IBUS pull-up
R4-R55.1kΩ04022USB-C CC resistors

Design Notes

2-Layer MIPI Strategy

  • FPC connectors placed close to ESP32-P4 module (<15mm traces)
  • Coplanar waveguide for differential pairs
  • Solid GND pour on bottom layer
  • Via stitching around MIPI traces

Power

  • Input: 10-16V (automotive)
  • TVS protection for load dump transients (42V)
  • Reverse polarity protection (Schottky diode)
  • TPS62827: 3A capability, 3-17V input

CAN Bus

  • TJA1051T/3: 3.3V logic, automotive grade
  • PESD2CAN for ESD protection
  • Optional 120Ω termination resistors (populate if end-of-line)

IBUS

  • TH3122: native BMW IBUS transceiver
  • Single-wire bus, 9600 baud
  • 1kΩ pull-up to 12V on bus line

Files

text
esp32p4-automotive/
├── esp32p4-automotive.kicad_pro    # Project file
├── esp32p4-automotive.kicad_sch    # Schematic
├── esp32p4-automotive.kicad_pcb    # PCB layout
└── README.md                        # This file

TODO

  • Add proper ESP32-P4-WROOM-01 symbol/footprint
  • Add TH3122 symbol (not in standard KiCad libs)
  • Complete schematic wiring
  • PCB layout with placement
  • MIPI trace impedance calculation
  • Generate Gerbers

License

MIT

Parts

4
QtyValueFootprintReferences
4—MountingHole:MountingHole_2.7mm_M2.5MH1, MH2, MH3, MH4

Questions

What parts does the Esp32p4-automotive use?

4 parts. 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 Esp32p4-automotive KiCad files?

From the emdzej/opencluster repository on GitHub, at the commit this page was made from: the board is hardware/esp32p4-automotive/esp32p4-automotive.kicad_pcb and its schematic hardware/esp32p4-automotive/esp32p4-automotive.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Esp32p4-automotive design in my own project?

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

Similar boards

  • 2 layers18.5 × 26 mm24g2usb rp2350zero, the printed circuit board in 3D

    24g2usb rp2350zero

    joypad-ai/joypad-os

    Universal controller firmware for building adapters, dongles, and custom controllers.

    4 parts1.7kApache-2.0
  • 2 layers116 × 33 mm966595-1 and 963356-1, the printed circuit board in 3D

    966595-1 and 963356-1

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    4 parts1.2k
  • 2 layers19 × 18 mmDaughter board, the printed circuit board in 3D

    Daughter board

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    4 parts915
  • 2 layers24.8 × 24.8 mmNrf24 breakout, the printed circuit board in 3D

    Nrf24 breakout

    tardate/LittleArduinoProjects

    a collection of "Little Electronic & Arduino Projects", most involving electronics or an Arduino in one way or another!

    4 parts803MIT
  • 2 layers26 × 20 mmCap chain, the printed circuit board in 3D

    Cap chain

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    4 parts744MIT
  • 2 layers34.7 × 20 mmXG Station Power MSI, the printed circuit board in 3D

    XG Station Power MSI

    osy/XG_Mobile_Station

    Open source eGPU dock for ROG Ally and ROG Flow

    4 parts712CC-BY-4.0
  • 2 layers20.3 × 24.5 mmJack power input, the printed circuit board in 3D

    Jack power input

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    4 parts546MIT