Skip to the content
2 layers105.7 × 50.8 mmObd xp, the printed circuit board in 3D

The loose wire goes to 3rd pin from the bottom (DTR?).

Size
105.7 × 50.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
69
Nets
69
Pads
218
Tracks, vias
331, 100
Pours
10
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
22 Jan 2025
Updated
18 Aug 2025

Overview

Obd xp is an open-source printed circuit board by MustSeeMelons, from the MustSeeMelons/can_esp32 repository on GitHub. It is a 2-layer board of 105.7 × 50.8 mm with 69 parts on 69 nets, routed with 331 tracks and 100 vias.

It is built around the TJA1050T/CM, ESP32-WROOM-32 and MP2338GTL-Z, with the MAX98357AETE+T, MEM2075-00-140-01-A and RCW-0C among its other parts. Its parts include 25 capacitors, 18 resistors, 4 ICs, 4 diodes and 4 connectors. It belongs with the ESP32 boards of this library.

Main components

7

README

README.md

CAN ESP32

Alt text

Alt text

Alt text

The loose wire goes to 3rd pin from the bottom (DTR?).

Summary

New cars do chimes when turning on the engine. My '06 Focus does not. This device aims to rectify that! An ESP32 with an micro sd card reader, paired with a MAX9860 to play .wav files upon receiving certain CAN messages. CAN connection handled by the TJA1050. Powered from the OBD2 port 12V rail, with two buck converters for 5V and 3V.

Is an AP that serves a Preact App for listening in on the CAN network via a websocket connection.

Avaialble through obd2.local with the help of mdns!

On plugging in plays the windows XP startup sound.

I don't get any OBD responses from my 2006 Focus, but I can clear DTC's!

Would need to decode raw CAN frames to make sense of anything.

TODO

  • [FW/FE] Read DTC

  • [FW] Play audio on startup (800RPM) and shutdown (?) (0RPM).

  • [FW] SD Card logger.

  • [FE][FW] Oil Temp request/response, visualization.

  • [XX] Update PCB [IC<>IC level shifter, CAN caps, 32[TX], 33[RX]]

  • [FE] GZIP the Preact app

  • [FW] Spiffs for web app storage?

  • Plug in device to gather more data points - need to decipher the messages.

Notes to future self

  • Implement the upload mechanism that all ESP32 baords use. Turning things on/off is annoying.
  • Serial monitoring during operation would be great!

How to flash

  1. Connect the FTDI FT232RL and power it on.
  2. Connect 12V, GND leads and power on the power supply.
  3. Turn off both, turn back the power supply.

Dev Board

Keep down the boot button while powering on.

Julie OBD2 emulator

RED: VCC BLUE: GND GREEN: CODE (UNCONNECTED/GND) BLACK: CAN-H WHITE: CAN-L

Sketchy link: https://lisaiauto.ru/universalnyj-emulyator-julie-of80-manual-po-nastrojke-i-podklyucheniyu/

SPIFFS

OBDII Response addresses

0x7DF is a broadcast to all devices. 0x7E8 should be the engine 0x7e9 should be transmission

Websocket

  • Must enable WS in SDK
  • Must increase HTTP URI Length in SDK

TJA1050

TX & RX should be swapped when connecting - RX goes to TX, RX to TX as usual.

SD Card

Files present on the SD card at /

  • xp/oxp.wav
  • xp/vistashutdown.wav

VSC

Instal LLVM and use theclang-format extension for formatting. link

IDF

ESP-IDF projects are built using CMake. The project build configuration is contained in CMakeLists.txt files that provide set of directives and instructions describing the project's source files and targets (executable, library, or both).

Below is short explanation of remaining files in the project folder.

text
├── CMakeLists.txt
├── main
│   ├── CMakeLists.txt
│   └── main.c
└── README.md                  This is the file you are currently reading

Additionally, the sample project contains Makefile and component.mk files, used for the legacy Make based build system. They are not used or needed when building with CMake and idf.py.

Parts

69
QtyValueFootprintReferences
8100 nFCapacitor_SMD:C_0805_2012MetricC3, C8, C9, C13, C14, C18, C20, C21
622 nFCapacitor_SMD:C_0805_2012MetricC11, C15, C16, C22, C23, C25
410 kResistor_SMD:R_0805_2012MetricR4, R11, R12, R13
4LEDLED_SMD:LED_0805_2012MetricD1, D2, D3, D4
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
4RCW-0Cdigikey-footprints:PROBE_PAD_1206TP1, TP2, TP3, TP4
210 uFCapacitor_SMD:C_0805_2012MetricC10, C12
2191 kResistor_SMD:R_0805_2012MetricR7, R10
222 uFCapacitor_SMD:C_0805_2012MetricC2, C19
2220 pFCapacitor_SMD:C_0805_2012MetricC6, C7
249.9 kResistor_SMD:R_0805_2012MetricR8, R9
26.8 uHInductor_SMD:L_SOREDE_SNR.1050_10x10x5mmL1, L2
2MP2338GTL-ZMP2338GTL-Z:MP2338GTLZIC1, IC2
1100Resistor_SMD:R_0805_2012MetricR19
1100 kResistor_SMD:R_0805_2012MetricR3
1100nFCapacitor_SMD:C_0805_2012MetricC5
110uFCapacitor_SMD:C_0805_2012MetricC4
1120 Resistor_SMD:R_0805_2012MetricR15
115Resistor_SMD:R_0805_2012MetricR20
11KResistor_SMD:R_0805_2012MetricR1
1300 pFCapacitor_SMD:C_0805_2012MetricC24
13V3digikey-footprints:PROBE_PAD_1206TP5
147 uFCapacitor_SMD:C_0805_2012MetricC1
1470Resistor_SMD:R_0805_2012MetricR18
1470 pFCapacitor_SMD:C_0805_2012MetricC17
151 kResistor_SMD:R_0805_2012MetricR5
15Vdigikey-footprints:PROBE_PAD_1206TP6
1634KResistor_SMD:R_0805_2012MetricR2
19.09 kResistor_SMD:R_0805_2012MetricR6
190.9 kResistor_SMD:R_0805_2012MetricR14
1Conn_01x02_PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ1
1Conn_01x07Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalJ4
1ESP32-WROOM-32digikey-footprints:ESP32-WROOM-32DMOD1
1MAX98357AETEMAX98357AETE:QFN50P300X300X80-17NU1
1MEM2075-00-140-01-AMEM2075-00-140-01-A:GCT_MEM2075-00-140-01-AJ2
1SW_Push_OpenButton_Switch_THT:SW_PUSH_6mmSW3
1TBL002A-350-02GR-2ORTBL002A-350-02GR-2OR:CUI_TBL002A-350-02GR-2ORJ3
1TJA1050TTJA1050T_CM_118:SOIC127P599X175-8NU2

Similar boards

  • 2 layers117.5 × 55 mmGeneric module, the printed circuit board in 3D

    Generic module

    monsterzack5/AutoMato

    A Car based automation framework, fully integrated with Node-Red!

    73 parts1
  • 4 layers63.2 × 49.3 mmRiMon, the printed circuit board in 3D

    RiMon

    RafaelEstevamReis/MonitoramentoRios

    Repositório do projeto de monitoramento de Rios

    58 parts2MIT
  • 4 layers101.5 × 43.6 mmAlcantara v.1.0, the printed circuit board in 3D

    Alcantara v.1.0

    zenitheesc/Alcantara

    Mobile Ground Station for stratospheric probe monitoring and rescue. Goes well with the Zenith Monitor app.

    90 parts5
  • 10 layers120 × 120 mmK410t devboard, the printed circuit board in 3D

    K410t devboard

    antmicro/kintex-410t-devboard

    This repository contains open hardware design files for a devkit created for AMD-Xilinx Kintex-7 K410T FPGA.

    1,020 parts46Apache-2.0
  • 12 layers165 × 102.7 mmData center rdimm ddr5-tester, the printed circuit board in 3D

    Data center rdimm ddr5-tester

    antmicro/rdimm-ddr5-tester

    FPGA-based DRAM tester supporting RDIMM DDR5 memories

    797 parts44Apache-2.0
  • 12 layers152.9 × 90 mmData center rdimm ddr4-tester, the printed circuit board in 3D

    Data center rdimm ddr4-tester

    antmicro/rdimm-ddr4-tester

    Experimental platform built around Xilinx Kintex-7 FPGA for development and customization of RAM controllers supporting RDIMM DDR4 RAM modules used in data centers.

    691 parts32Apache-2.0
  • 4 layers99.1 × 66 mm2057-ICE40HX4K TQ144-breakout, the printed circuit board in 3D

    2057-ICE40HX4K TQ144-breakout

    johnwinans/2057-ICE40HX4K-TQ144-breakout

    Minimal Raspberry PI breakout board for ICE40HX4K FPGA

    75 parts25
  • 8 layers90 × 120.4 mmEcp5-dc scm, the printed circuit board in 3D

    Ecp5-dc scm

    antmicro/ecp5-dc-scm

    Experimental Lattice ECP5-driven Data Center Security Communication Module

    506 parts23Apache-2.0

Questions

How big is the Obd xp PCB?

It measures 105.7 × 50.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Obd xp use?

69 parts, built around the TJA1050T/CM, ESP32-WROOM-32, MP2338GTL-Z and MAX98357AETE+T. 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 Obd xp KiCad files?

From the MustSeeMelons/can_esp32 repository on GitHub, at the commit this page was made from: the board is kikad/obd_xp/obd_xp.kicad_pcb and its schematic kikad/obd_xp/obd_xp.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Obd xp design in my own project?

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