OBD2 CAN Control with ESP32 and Android

Dec 3, 2024

Description

In this project, I decided to create a small-sized printed PCB that can be connected to an OBD2 connector and communicate with a CAN transceiver module. This PCB will be controlled by an ESP32 microcontroller, which will communicate with an Android device via Bluetooth. The Android application will be able to read information from the car and send commands to it.

Using the CAN High and CAN Low lines of the OBD2 port, we have access to a variety of information about the current state of the vehicle and the ability to send limited commands to it.

Hardware Design

ComponentDescription
ESP32-S3-WROOM-1Microcontroller with Wi-Fi and Bluetooth capabilities.
LM1117 Linear RegulatorProvides a stable 3.3V power supply.
MAX3051 3.3V CAN TransceiverFacilitates communication over the CAN bus.
CAN bus ESD protection diodeProtects the CAN bus from electrostatic discharge.
Micro USB ESD protectionProtects the Micro USB port from electrostatic discharge.
OBD2 ConnectorConnects to the vehicle's OBD2 port.
Micro USB B ConnectorProvides a connection for power and data transfer.
Transistor BJT NPN 2N2222AUsed for switching and amplification.
Resistors, capacitors, diodes, etc.Various passive components for circuit functionality.

Block Diagram

OBD2 Block Diagram

Schematic

ESP32-WROOM-CAN.pdf

ESP32-WROOM-CAN

PCB

PCB

Milestone 2 Hardware Progress

Milestone 2

Software Design

Development Environment

Bogdan Velicu