Site Information

 Loading... Please wait...

Blog

ESP32 Development Kits with Onboard CAN Bus Controller

Posted by Wilfried Voss on

The ESP32 is a low-cost, low-power system-on-chip microcontroller with integrated WiFi and dual-mode Bluetooth. It is equipped with a Tensilica Xtensa LX6 microprocessor in dual-core and single-core versions. The microcontroller features built-in antenna switches, RF balun, power amplifiers, low-noise receive amplifiers, filters, and power management modules. It is the successor to the ESP8266 SoC.

ESP32-DevKitC V4 board

There are multiple variants of the ESP32 and its associated development boards. However, my preferred choice is the ESP32-DevKitC V4 board due to its affordability and user-friendly interface. This board consists of the ESP-WROOM-32 as the main module and additional hardware for programming the ESP32 and conveniently connecting it to the GPIO Pins.

The ESP32 includes a CAN Bus controller compatible with the NXP SJA1000, making it compliant with the CAN 2.0B (ISO 11898, also known as Classical CAN) specification.

Nevertheless, as with the SJA1000, the ESP32 CAN Bus controller only provides the data link layer and the physical layer signaling sublayer. As a result, an external transceiver module is needed to convert the ESP32's CAN-RX and CAN-TX signals into CAN_H and CAN_L bus signals. The transceiver, such as the MCP2551 or SN65HVD23X, ensures compatibility with ISO 11898-2.

Consequently, when using the ESP32-DevKitC V4 board, you will require extra hardware in the form of a CAN (Classical CAN or CAN FD) breakout board. However, it is important to note that the ESP32's internal CAN controller does not support CAN-FD and is not CAN-FD tolerant. To use CAN-FD with the ESP32, you need to employ CAN-FD breakout boards that are accessible per the ESP32’s SPI ports. I will address the use of CAN FD controllers in a separate post.

The next logical step toward a CAN application with the ESP32 would be to use a breadboard, which will require wires and the assurance that the connections are solid. If this is not your preference, we offer two hardware variants.

ESP32 WiFi, Bluetooth Classic, BLE, CAN Bus Module

Our ESP32 WiFi, Bluetooth Classic, BLE, and CAN Bus Module comes with an onboard ESP32 WROOM-32 WiFi, Bluetooth Classic, and 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. Furthermore, we provide multiple programming examples.

espBerry - ESP32 Development Board with Dual Isolated CAN Bus HAT

The espBerry DevBoard expands the CAN capabilities by supporting up to two CAN controllers (Classical CAN and CAN FD). It combines the ESP32-DevKitC development board with any Raspberry Pi HAT by connecting to the onboard RPi-compatible 40-pin GPIO header.

The Dual Channel CAN Bus expansion HAT, designed for the Raspberry Pi, supports the full CAN2.0 Standard. It features multiple onboard protection circuits, high anti-interference capability, and reliable operation, which makes it suitable for applications such as automotive devices or industrial automation.

The HAT is well documented, and multiple code samples use the C programming language under the Arduino IDE.

Please feel free to work through the online documentation to determine which hardware option works best for you. In addition, I am working on a detailed application note, Controller Area Network (CAN) Development with ESP32. This is a work in progress, but I already included numerous links to additional ESP32 and CAN Bus resources.


Electronics Projects with the ESP8266 and ESP32: Building Web Pages, Applications, and WiFi Enabled DevicesElectronics Projects with the ESP8266 and ESP32: Building Web Pages, Applications, and WiFi Enabled Devices

Copperhill Technologies highly recommends using this book for your wireless application projects. Yes, many good books and free online resources are available these days, but this is the book we are using. It made our approach to Bluetooth, BLE, and WIFI a breeze. Programming wireless applications without hassles was fun, and we will share them on this web page.

Projects throughout the book utilize the wireless functionality and processing power of the ESP microcontrollers. Projects are built in the Arduino IDE, so you don't need to download other programming software. In addition, mobile apps are now ubiquitous, making the app build projects of the book very relevant, as are the web page design projects.

In Electronics Projects with the ESP8266 and ESP32, you'll see how easy and practical it is to access information over the internet, develop web pages, build mobile apps to remotely control devices with speech recognition, or incorporate Google Maps in a GPS route tracking app.

More Information...

SAE J1939 and OBD-II Heavy Duty Truck Scanner and Diagnostic Tool

DPF Force Regen & Reset for Cummins Caterpillar Engine -- Reset and clean your DPF professionally, quickly, and efficiently to ensure your engine runs smoothly and meets emissions standards. This all-in-one solution saves you money on maintenance costs. The Inspection Record feature records all DPF inspections to help track and manage maintenance schedules. Full System Diesel [...]

Read More »


ESP32 Processor with Internal SJA 1000 CAN Bus Controller

This post is an excerpt from our application note Controller Area Network (CAN) Development with ESP32. The ESP32 is a low-cost, low-power system-on-chip microcontroller with integrated WiFi 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 balun, power amplifiers, low-noise receive amplifiers, filters, and power [...]

Read More »


Turn Your Smartphone into a Heavy-Duty Diagnostics Tool

Turn your smartphone into a user-friendly HD diagnostic tool. Download and sync via Bluetooth to the free Diesel Decoder smartphone app to view vital diagnostic and trip data. When your rig throws a fault code, the Diesel Decoder is your reliable companion. It removes the guesswork, guiding you to either clear the codes and continue your journey [...]

Read More »


OBD-II and the Hacking of Automotive CAN Bus Networks

Let me clarify: this is not a guide to hacking automotive networks. Instead, I attempt to dismiss some common misconceptions about OBD-II and its supposed ability to control a vehicle (Spoiler alert: It cannot). As someone who has spent considerable time studying and working with CAN Bus technologies, I think it is time to set [...]

Read More »


Bluetooth OBD2 Scanner and Code Reader for iPhone & Android

EASY-TO-USE OBD2 APP & CAR CODE READER - The FIXD car scanner and OBD app instantly translates 7000+ engine fault codes into plain English on your phone. Wireless Bluetooth connection. Set up in minutes. No car knowledge needed. FIND OUT WHAT’S WRONG WITH YOUR CAR - Even beginners can use the FIXD OBD2 scanner and app [...]

Read More »


ESP32 Programming - Classical CAN to Bluetooth Gateway

In this post, I will present a CAN to Bluetooth gateway based on the ESP32 processor. The above image shows my test setup using our ESP32 WiFi, Bluetooth Classic, BLE, CAN Bus Module, a CAN-Bus Hub With 7 Ports And DC Power Connection, and the PCAN-USB Pro. As its description implies, the ESP32 module provides all necessary [...]

Read More »


Discover IoT Development with ESP32 to Create Smart Devices

The ESP32 is a low-cost, low-power SoC (System on Chip) microcontroller with integrated WiFi and dual-mode Bluetooth. It has shipped over 100 million units as of 2018 and powers many WiFi devices on the market. This book supplies end-to-end coverage of building an IoT system from the ground up to secure data communication techniques from [...]

Read More »


Arduino Uno R4 Combines CAN Bus Port with IoT Capabilities

The  Arduino UNO R4 WiFi combines the RA4M1 microprocessor from Renesas with the ESP32-S3 from Espressif, forming an all-in-one tool for engineers with improved processing power and a diverse array of new peripherals. With built-in Wi-Fi and Bluetooth abilities, the UNO R4 WiFi allows makers to launch into unlimited innovative opportunities. Likewise, this universal board boasts a [...]

Read More »


Programmable CAN Bus to USB, Bluetooth, BLE, WiFi Gateway

For the longest time, I had resisted the idea of creating my version of a CAN-to-USB gateway, primarily due to the vast competition. A professional CAN/J1939 development requires a professional CAN-to-PC solution to monitor data traffic. I am pleased with the PEAK PCAN-USB device, as shown in the above image. However, not everybody is willing [...]

Read More »