Site Information

 Loading... Please wait...

Blog

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 [...]

Read More »


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 [...]

Read More »


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 [...]

Read More »


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 [...]

Read More »


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 [...]

Read More »


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 [...]

Read More »


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 [...]

Read More »


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 [...]

Read More »


ESP32 Triple CAN Bus Application Through Adding Two MCP2515 Ports

The first question that may arise when talking about accessing the MCP2515 CAN Bus controller per ESP32 may be, "Why would you need an MCP2515 controller when the ESP32 comes with an internal CAN port?" Yes, I found this question in one of the online forums while researching this particular topic. The answer is easy: [...]

Read More »


ESP32 Project: USB to Bluetooth Gateway

The ESP32 processor allows the integration of Wi-Fi, Bluetooth, and Bluetooth LE (BLE) for a wide range of IoT (Internet of Things) applications. Using Wi-Fi ensures connectivity within a large radius. At the same time, Bluetooth allows the user to easily detect (with low-energy beacons) a module and connect it to an Android/iOS smartphone or [...]

Read More »