Blog
Recent Posts
ESP32 UART0, UART1, UART2 Access Using the Arduino IDE
In the following, I am using the ESP32 WROOM Devkit for this tutorial in combination with the Arduino IDE. For more information on programming the ESP32 using the Arduino IDE, please refer to “Getting started with ESP32 development board and Arduino.” The Arduino IDE uses the Serial class (assigned to UART0) to access the USB port [...]
Do NOT Install ESP32 by Espressif Systems Version 3.0-alpha1
Today, I experienced a little scare. As usual, I opened the Arduino IDE on my Windows-11 machine, and as a first action, I allowed the recommended updates. Not suspecting any significant problems, I added some code and compiled it, only to end up with multiple error messages. I found nothing wrong with the code I had [...]
Dual-Channel Linear Actuator Control Module with ESP32
As part of a customer project, I, with the help of a capable hardware designer, developed an embedded system to control two linear actuators, specifically the Thomson Electrac HD model with SAE J1939 interface. The Electrac series of actuators supports two higher-layer protocols (HLP) based on Controller Area Network (CAN): CANopen, and SAE J1939. CANopen is [...]
ESP32, ESP32-S2 - Serial Port, Native USB Access
The test setup, as shown in the image, represents the hardware of a new project that requires reading CAN (Controller Area Network) data frames, combining them with real-time information plus GPS position, and storing the result onto an SD card. This post will focus on the ESP32 communicating with the GPS module delivering NMEA 0183 [...]
ESP32 with Dual CAN Port Controls Thomson Linear Actuator
The above image shows part of a hardware setup for a customer project to control and synchronize two Thomson Electrac linear actuators. See also my posts: Thomson Electrak Linear Actuator with SAE J1939 Interface for Railway and Industrial Applications Thomson... Electrak HD Linear Actuator - Multiple Actuators in the Same Network Will Empty the Batteries... Thomson Electrac HD [...]
espBerry Project: ESP32 with CH9102F USB-UART Chip
I have a project that involves the ESP32-DevKitC development board where the application requires the fast transport of data per USB. The onboard USB-UART bridge chip provides transfer rates of up to 3 Mbps. In addition, the ESP32 has three UART interfaces, i.e., UART0, UART1, and UART2, which provide asynchronous communication, communicating at a speed of [...]
J1939 Protocol Stack Sketch for ESP32 Using the Arduino IDE
The ESP32 is a series of low-cost, low-power system-on-chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules. Furthermore, the processor provides the means to easily [...]
ESP32 DC Motor PWM Speed Control (Pulse Width Modulation) - The Hidden Facts
Lately, I have worked on two projects requiring DC motor control per PWM (Pulse Width Modulation). What both projects had in common was a profound lack of documentation regarding PWM control, specifically the side effects that have a significant impact on the programming. This post aims to point to these quirks that may cause considerable headaches [...]
ESP32 Development Board with NMEA 2000 & NMEA 0183 HAT
The ESP32 processor integrates peripherals such as UART, CAN Bus, WIFI, and Bluetooth, allowing a wide range of applications. Its low price adds to its popularity. Various ESP32 development boards, such as the ESP32-WROOM-32, are available in the market, as shown to the left. However, compared to popular systems like the Raspberry Pi or Arduino, the [...]
Extending ESP32 Functionality by Using Raspberry Pi HATs
The ESP32 processor integrates peripherals such as UART, CAN Bus, WIFI, and Bluetooth, allowing a wide range of applications. Its low price adds to its popularity. Various ESP32 development boards, such as the ESP32-WROOM-32, are available in the market, as shown to the left. However, compared to popular systems like the Raspberry Pi or Arduino, the [...]