Site Information

 Loading... Please wait...

Blog

Controller Area Network (CAN Bus) Tutorial - CAN Bus Controller Firmware

The following is an excerpt from A Comprehensible Controller Area Network by Wilfried Voss. As demonstrated in the image below, the ISO/OSI Reference Model specifies seven levels beginning with the physical connection to the actual user application, i.e., the Application Layer. The standard CAN implementation bypasses the connection between the Data Link Layer and the Application Layer to [...]

Read More »


Controller Area Network (CAN Bus) Tutorial - Extended CAN Protocol

The following is an excerpt from A Comprehensible Controller Area Network by Wilfried Voss. The standard CAN message frame uses an 11-bit message identifier (CAN 2.0A), which is sufficient for use in regular automobiles and industrial applications but not necessarily for off-road vehicles. The Society of Automotive Engineers (SAE) Truck and Bus Control and Communications Subcommittee developed a [...]

Read More »


Controller Area Network (CAN Bus) Tutorial - Remote Frame

The following is an excerpt from A Comprehensible Controller Area Network by Wilfried Voss. A Remote Frame requests the transmission of a message by another node. The requested data frame, identified by a unique message ID, may be accepted by any number of nodes in the network according to the individual application needs but can only be [...]

Read More »


Controller Area Network (CAN Bus) Tutorial - Dominant And Recessive Bus Level

The following is an excerpt from A Comprehensible Controller Area Network by Wilfried Voss. Before discussing each bit in a CAN Bus frame, it is helpful to briefly examine the physical layer (for more details, refer to Chapter 9—Physical Layer) to understand the nature of, for instance, the SOF (Start of Frame) bit, the RTR (Remote Transmission [...]

Read More »


ESP32 Development Boards and Accessories for IoT Applications

The integration of Wi-Fi, Bluetooth, and Bluetooth LE allows a wide range of applications with the ESP32 modules. Wi-Fi ensures connectivity within a large radius, while Bluetooth allows the user to easily detect (with low-energy beacons) a module and connect it to a smartphone. The chips add priceless functionality and versatility to your applications with [...]

Read More »


Installing python-can on the Raspberry Pi

This post demonstrates the steps required to install python-can on the Raspberry Pi for use with PiCAN2, PiCAN3, PiCAN-M CAN Bus HATs. First make sure the driver is installed. See:PiCAN2, PiCAN3, and PiCAN-M Driver Installation for Raspberry Pi...Now install python-can: pip3 install python-can Check there is no error. You can now initialize the CAN interface: sudo /sbin/ip link set can0 [...]

Read More »


PiCAN2, PiCAN3, and PiCAN-M Driver Installation for Raspberry Pi

This post provides you a brief overview on the steps required to install the software driver on the Raspberry Pi for use with the PiCAN2, PiCAN3, and PiCAN-M CAN Bus HATs, including the dual-port and SMPS versions. Please refer also to the board's user manual. Start by creating a new SD card image with the Raspberry Pi [...]

Read More »


CAN Bus to Internet-of-Things (IoT) Projects with the ESP32

The integration of Wi-Fi, Bluetooth, and Bluetooth LE allows a wide range of applications with our modules. Using Wi-Fi secures connectivity within a large radius while using Bluetooth enables the user to efficiently detect (with low-energy beacons) a module and connect it to a smartphone. With in-built antenna switches, RF balun, power amplifier, low-noise receive [...]

Read More »


A Simple SAE J1939 to USB Gateway with the Arduino Uno, Mega 2560, Due, Teensy, ESP32

The following is an excerpt from SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino by Wilfried VossI deem it necessary to clarify the definition of “SAE J1939 to USB Gateway” because there are several variants of gateway applications.If you browse through the Internet in search for SAE J1939 gateways, you will primarily find CAN [...]

Read More »


What is the Difference Between SAE J1939 and NMEA 2000?

After developing and programming multiple SAE J1939 devices over the years, I was curious to determine the difference between SAE J1939 and NMEA 2000. There are some valid reasons why I didn't consider an expansion into NMEA 2000, and they all have to do with the immense costs related to NMEA 2000 development. First of [...]

Read More »