ESP32 CAN Bus Shield


Introducing the ESP32 CAN Shield, now in its latest iteration (version 1.2)  equipped with a built-in OBD2 connector! This development kit boasts a CAN transceiver, OBD2/XH2.54 connector, a 3.3V buck converter and a selectable CAN bus Read-Only mode.

Compatible with the 30 pin ESP32 DevKit V1 version ONLY. Add it to your cart here or get it from Amazon*, AliExpress* or your favourite electronic store. (*) are affiliate links.

The shield comes bundled with male headers and an OBD2 plug. If you prefer a JST XH2.54 header with 4-wire cable instead of the OBD2 (like this), please leave me a note on the order checkout page. Keep in mind that the 4 wire colors are arbitrary.

Need an enclosure? click here

Discover the pages for the previous versions here: v1.0 and v1.1

Availability: In stock

SKU: MDY01237 Category:

This is a custom, machine assembled, CAN shield designed to fit the 30 pin ESP32 DevKit1 board version. Equipped with the reliable SN65HVD233 CAN transceiver, this shield is designed to operate with a voltage range of 7v to 15.5v, making it directly powered from a car battery.


  • Data Rates: up to 1 Mbps
  • Cross-wire protection
  • Over temperature (thermal shutdown) protection
  • EMI and ESD bus protection using NUP2105

  • Max Input Voltage ( without voltage divider): 24 Volt
  • Max Input Voltage ( with voltage divider): 15.5 Volt
  • Max Input Current: 2 Amp
  • Frequency: 570 kHz
  • Outputs 3.3V to the ESP32 board
  • Overvoltage transient protection
  • Thermal shutdown protection

The voltage divider and 120Ω CAN resistor come disabled by default and can be activated by soldering solder-jumpers on the shield.

Version 1.2: notable enhancements include the addition of an OBD2 connector pinout, an extra LED on GPIO27, layout improvement, larger text, relocation of solder-jumpers to the top side, and the creation of a custom 3D printable case.

Version 1.1: added a voltage divider on GPIO32, a 120Ω CAN termination resistor, and a physical toggle switch enabling the CAN transceiver to toggle between “Listen-only” and “Do-Not-Transmit” modes.

Switch between two modes with the SN65HVD233 CAN transceiver using a physical toggle switch:

    • RW mode: the transceiver is active, allowing the shield to Read and Write to the CAN bus. The Rs pin is connected to ground through a 10kΩ, and the driver boasts a slew rate of ~15 V/μs.
    • R mode : The transceiver enters a low-current standby mode, switching off the driver while keeping the receiver active. In this mode, the shield can only Read from the CAN bus and cannot write to it. Rs is connected to 3.3V.

JST XH2.54 Wiring

esp32 can bus wiring
  • Car’s CAN High to CAN-High
  • Car’s CAN Low to CAN-Low
  • Car’s Power Source to Power-12V
  • Car Ground to Power-Gnd


ESP32 Dev Kit 1 CAN Shield


Sample Code (download code)


Video overview of the original v1.0

Dimensions 5 × 2.8 × 1.6 cm
Shopping Cart