Site Information

 Loading... Please wait...

Blog

ESP32 Processor: Adding a CAN Bus Transceiver

Posted by Wilfried Voss on

This post is an excerpt from our application note Controller Area Network (CAN) Development with ESP32.

As a quick reference, I want to address the need for a CAN transceiver. As mentioned in the previous chapter, the ESP32 has an internal CAN Bus controller. However, this doesn't mean you can directly connect it to a network. You will need a line driver (transceiver) to convert the controller’s TTL signal to the actual CAN level, which is a differential voltage that the ESP32 cannot provide. The use of differential voltage significantly enhances the reliability of CAN on a hardware level.

The next image compares both signals, TTL and differential voltage:

The actual signal status, recessive or dominant, is based on the differential voltage between CAN_H and CAN_L (2V during dominant bit time; 0V during recessive bit time).

As with many other ESP32 hardware features, the CAN controller output (CAN_TX, CAN_RX) can be assigned to almost any GPIO. In the following, we assume GPIO25 (CAN_TX) and GPIO26 (CAN_RX), which appear to be virtual industry standards.

The following image shows a schematic utilizing the popular SN65HVD CAN transceiver:


ESP32 WiFi, Bluetooth Classic, BLE, CAN Bus Module

ESP32 WiFi, Bluetooth Classic, BLE, CAN Bus Module

This board has an onboard ESP32 WROOM-32 WiFi, Bluetooth Classic, BLE Module, and a CAN Bus port with a transceiver. Also onboard are an RGB LED and IO pins on a 0.1" pad. 

Programming is accomplished through the popular Arduino IDE connected to the USB-to-Serial converter with a USB-C connector, automatic bootloader, and reset. The ESP32 is a low-cost, low-power system-on-chip microcontroller with integrated Wi-Fi and dual-mode Bluetooth. It employs a Tensilica Xtensa LX6 microprocessor in dual-core and single-core variations. 

It includes built-in antenna switches, RF baluns, a power amplifier, a low-noise receive amplifier, filters, and power management modules.  More Information...

CAN Bus And SAE J1939 Bus Voltage

CAN Bus MediumAccording to ISO-11898 specification, the CAN bus medium must support two logical states: Recessive and dominant. A CAN controller with its TTL output uses an additional line driver (transceiver) to provide the standard CAN Bus level. The dominant level (TTL = 0V) always overrides a recessive level (TTL = 5V), which is, especially [...]

Read More »


Reference Board With Galvanically Isolated CAN Bus Transceiver Supports Bit Rates Up To 5 Mbit/s

Recom introduced their R-REF03-CAN1 Reference Board to demonstrate the ISO1042 isolated CAN Bus transceiver in combination with the R1SX-3.305/H isolated DC/DC converter. The reference board requires only a single 3.3 VDC external power supply. A green LED indicates the presence of the VCC2 supply on the secondary (CAN Bus) side. The reference board enables designers to develop [...]

Read More »


Isolated CAN Transceiver With 70-V Bus Fault Protection and Flexible Data Rate (CAN FD)

Texas Instruments (TI) has introduced two more CAN Bus transceivers. They offer ±70-VDC bus-fault protection and ±30-V common-mode voltage range. The ISO1042 and ISO1042-Q1 help engineers protecting low-voltage circuits and increase communication bandwidth in industrial applications such as grid infrastructure, motor drives and building automation, as well as hybrid electric vehicles and electric vehicles (HEVs/EVs). Used in conjunction [...]

Read More »


​CAN Bus Transceiver Modules With Isolated DC/DC Converter In One Module

Mornsun CAN Bus transceiver modules replace the traditional design by integrating transceiver, isolation chip, and high efficient DC/DC isolated power in one module. The modules can be used for inter-communications between devices on the industrial bus, achieving the signal transmission and power isolation. They target the automotive industry, rail transportation, smart monitoring, smart meters, and more.Mornsun [...]

Read More »