Skip to the content
2 layers24 × 41.5 mmEspCANshield, the printed circuit board in 3D

A compact ESP32 CAN Shield featuring an SN65HVD230 transceiver, automotive-grade input protection, and an onboard TPS5435A buck converter for reliable CAN bus interfacing.

Size
24 × 41.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
31
Nets
46
Pads
108
Tracks, vias
209, 13
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
8 Jul 2026
Updated
8 Jul 2026

Overview

EspCANshield is an open-source printed circuit board by subbumani12, from the subbumani12/ESP32_CAN_Shield repository on GitHub. It is a 2-layer board of 24 × 41.5 mm with 31 parts on 46 nets, routed with 209 tracks and 13 vias.

It is built around the SN65HVD230D, TPS54336ADDA and NUP2105L. Its parts include 10 resistors, 9 capacitors, 5 diodes, 3 connectors and 2 ICs. It belongs with the power and radio and wireless boards of this library.

Main components

3

README

README.md

ESP32 CAN Shield

A compact ESP32 expansion shield designed to provide reliable and protected CAN bus communication for automotive and industrial applications. The shield integrates a high-speed CAN transceiver, automotive input protection, onboard buck converter, status LEDs, and an ESP32-compatible header for seamless CAN interfacing using the ESP32's built-in TWAI (CAN) controller.


Overview

This project implements a custom ESP32 CAN Shield intended for applications requiring robust communication over Controller Area Network (CAN). The board accepts an automotive battery input, converts it to a regulated 3.3 V supply, interfaces directly with an ESP32 development board, and provides protection against common automotive electrical transients.

The hardware has been designed in KiCad with emphasis on simplicity, reliability, and ease of integration with ESP32-based embedded systems.


3D Render

3D Front


Features

  • ESP32 compatible shield interface
  • SN65HVD230 3.3 V CAN transceiver
  • Native support for ESP32 TWAI (CAN) peripheral
  • Wide input automotive power stage
  • TPS5435A synchronous buck converter
  • CAN bus termination resistor (120 Ω)
  • CANH/CANL ESD & surge protection
  • Reverse polarity / over-voltage protection using Zener protection stage
  • Automotive fuse protection
  • Dual status LEDs
  • Compact two-layer PCB
  • Designed using KiCad

Hardware Architecture

text
Vehicle Battery (12–24 V)
          │
          ▼
 Input Protection
 (Fuse + Zener)
          │
          ▼
 TPS5435A Buck Converter
        3.3 V
          │
          ├──────────────► ESP32 Header
          │
          ▼
 SN65HVD230 CAN Transceiver
          │
   CANH / CANL
          │
 Vehicle CAN Bus

Functional Blocks

1. Automotive Power Input

The shield accepts an external automotive battery input through the CAN connector.

Protection circuitry includes:

  • 500 mA fuse
  • 24 V Zener diode
  • Input decoupling capacitors

These components protect the downstream electronics from accidental over-voltage conditions and transient disturbances commonly present in automotive environments.


2. Buck Converter

The board uses the TPS5435ADDAR switching regulator to generate a regulated 3.3 V rail from the vehicle supply.

Main components include:

  • Input filtering capacitors
  • Bootstrap capacitor
  • External inductor
  • Output filter capacitors
  • Feedback resistor divider
  • Compensation network

Advantages of using a switching regulator:

  • High efficiency
  • Low heat generation
  • Suitable for battery-powered systems
  • Wide input voltage range

3. CAN Transceiver

The communication interface is built around the SN65HVD230, a 3.3 V high-speed CAN transceiver.

Features:

  • Fully compatible with ISO 11898 CAN
  • Direct interface with ESP32 TWAI controller
  • Differential CANH/CANL outputs
  • Low-power standby capability
  • High noise immunity

The ESP32 handles all CAN protocol processing internally while the transceiver performs physical layer conversion.


4. CAN Protection

The CAN interface includes:

  • TVS/Zener protection diode
  • 120 Ω termination resistor

These components improve robustness against electrical transients and provide proper CAN bus termination when required.


5. ESP32 Interface

A dual-row connector exposes the required GPIOs for an ESP32 development board.

The interface provides:

  • 3.3 V supply
  • Ground
  • CAN TX
  • CAN RX
  • User GPIOs
  • Status LED connections

The shield is intended to work directly with the ESP32's built-in TWAI peripheral without requiring an external CAN controller.


6. Status LEDs

Two onboard LEDs are provided for visual indication.

Possible uses include:

  • Power indication
  • CAN activity
  • Firmware status
  • Error indication

LED functionality can be configured in software.


Schematic

The hardware consists of five major blocks:

  • Step-Down Buck Converter
  • CAN Bus Transceiver
  • CANH/CANL Protection
  • ESP32 Connector
  • Status LEDs

PCB Design

Designed in KiCad

Design considerations:

  • Two-layer PCB
  • Short CAN differential routing
  • Dedicated ground plane
  • Proper decoupling capacitor placement
  • Switching regulator layout optimized for reduced noise
  • Compact shield form factor

Applications

  • Automotive diagnostics
  • OBD-II interfaces
  • CAN data logging
  • Industrial automation
  • Motor control
  • Robotics
  • Electric vehicles
  • Battery Management Systems
  • ECU communication
  • CAN protocol learning

Future Improvements

  • CAN-FD support
  • Galvanic isolation
  • Reverse polarity MOSFET protection
  • Common-mode choke on CAN lines
  • Screw terminal CAN connector
  • OBD-II connector support
  • Power LED and CAN TX/RX LEDs
  • Onboard programming interface

Tools Used

  • KiCad
  • ESP32
  • TWAI (ESP32 CAN Controller)

License

This project is open-source and intended for educational and research purposes.

Parts

31
QtyValueFootprintReferences
210nCapacitor_SMD:C_0603_1608MetricC3, C6
2330Resistor_SMD:R_0603_1608MetricR9, R10
24.7uCapacitor_SMD:C_0603_1608MetricC4, C5
247uCapacitor_SMD:C_0603_1608MetricC8, C9
2Conn_01x15Connector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_VerticalJ2, J3
2D_ZenerDiode_SMD:D_0805_2012MetricD2, D3
2LEDLED_SMD:LED_1206_3216MetricD4, D5
10Resistor_SMD:R_0603_1608MetricR6
110.2kResistor_SMD:R_0603_1608MetricR7
1100nCapacitor_SMD:C_0603_1608MetricC7
110kResistor_SMD:R_0603_1608MetricR1
110pCapacitor_SMD:C_0603_1608MetricC2
1120Resistor_SMD:R_0603_1608MetricR2
11nCapacitor_SMD:C_0603_1608MetricC1
129.4kResistor_SMD:R_0603_1608MetricR3
13.4kResistor_SMD:R_0603_1608MetricR8
1332kResistor_SMD:R_0603_1608MetricR4
1500mA 24VFuse:Fuse_1206_3216MetricF1
16.8uInductor_SMD:L_0603_1608MetricL1
168.1kResistor_SMD:R_0603_1608MetricR5
1Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1
1NUP2105LPackage_TO_SOT_SMD:SOT-23D1
1SN65HVD230Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU1
1TPS54336ADDAPackage_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mmU2

Similar boards

  • 4 layers50 × 50 mmFlightController Drone, the printed circuit board in 3D

    FlightController Drone

    damnitzhemanth-oss/Flight_Controller

    Custom STM based flightcontroller designed from scratch.

    157 parts
  • 2 layers68 × 98 mmSpindle driver, the printed circuit board in 3D

    Spindle driver

    dougsthenri/spindle_driver_v1

    PCB project for a BLDC motor driver tailored for CNC spindle motors

    97 parts
  • 2 layers250 × 150 mmStratoSTEAM, the printed circuit board in 3D

    StratoSTEAM

    robotgtfxry/StratoSTEAM

    112 parts
  • 4 layers64.1 × 50.5 mmFlight controller version1, the printed circuit board in 3D

    Flight controller version1

    santhazsolt/stm32-based-quadcopter-drone

    Custom STM32F411 quadcopter flight controller: KiCad PCB, embedded C, ICM-20948 IMU over SPI, quaternion complementary filter, PID attitude control.

    81 partsMIT
  • 4 layers71.4 × 80.3 mmEx2, the printed circuit board in 3D

    Ex2

    zaidhajji/Custom-Flight-Controller-Design-STM32F407-KiCad

    Designed a custom flight controller board from schematic to layout: STM32F407VGTx MCU, MPU6050 IMU, BMP280 barometer, MicroSD logging, 6 servo/ESC outputs, and dual-stage power regulation.

    93 parts
  • 4 layers85 × 85 mmEPS, the printed circuit board in 3D

    EPS

    rgw3d/1KCubeSat_Hardware

    Hardware design files for my $1000 CubeSat.

    657 parts158GPL-3.0
  • 4 layers110 × 80 mmPNP MOBO V2, the printed circuit board in 3D

    PNP MOBO V2

    GabrielD98/PickUS_and_PlacUS

    pick and place de PCB pour projet S4 de robotique

    126 parts5MIT
  • 2 layersGCAN gauge, the printed circuit board in 3D

    GCAN gauge

    willemcvu/gCAN-gauge

    An open-source ESP32-based programmable digital gauge targeted at EV conversions

    49 parts4MIT

Questions

How big is the EspCANshield PCB?

It measures 24 × 41.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the EspCANshield use?

31 parts, built around the SN65HVD230D, TPS54336ADDA and NUP2105L. 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 EspCANshield KiCad files?

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

Can I use the EspCANshield design in my own project?

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