Press "Enter" to skip to content

Posts tagged as “Embedded systems”

ARD1939: A Portable SAE J1939 Protocol Stack for Arduino, ESP32, and Embedded Systems

Developing an SAE J1939 application has traditionally required a substantial investment—not only in hardware and engineering time, but also in software. Commercial SAE J1939 protocol stacks are often expensive, frequently licensed per device, and in many cases remain closed-source. For students, hobbyists, researchers, startups, and even experienced engineers who simply…

Choosing the Right Hardware for Embedded SAE J1939 Development

One of the first questions engineers ask when starting with SAE J1939 development is: “Which hardware platform should I use?” The good news is that there is no shortage of choices. Over the years I have worked with numerous embedded platforms, development environments, and operating systems. They all have their…

Understanding J1939 PGNs Without Getting Lost in the Standard

In this post, I would like to address what is arguably the most important concept in the SAE J1939 standard: the Parameter Group Number (PGN). PGNs are the heart and soul of J1939. Every application you design, whether it transmits engine speed, requests a VIN, or reports diagnostic information, revolves…

Why I’m Writing a Completely Different J1939 Book

When I published Comprehensible Guide to J1939 several years ago, I honestly didn’t know what to expect. Today, it continues to sell well, and I still receive emails from engineers telling me it helped them finally understand SAE J1939 after struggling with the official documentation. That feedback has always meant…

The Evolution of J1939: From Heavy-Duty Trucks to Autonomous Systems

When the first versions of SAE J1939 emerged in the late 1980s and early 1990s, the objective was straightforward: provide a standardized communication protocol for electronic control units (ECUs) in heavy-duty trucks. At the time, vehicle manufacturers were rapidly increasing the number of electronic subsystems, creating a need for a…

Why J1939 Communication Fails: 10 Troubleshooting Steps That Solve Most Problems

If you’ve worked with SAE J1939 long enough, you’ve probably experienced the frustration of connecting two devices to a CAN bus and seeing… absolutely nothing happen. No engine data. No diagnostic messages. No responses to requests. Just silence. The good news is that most J1939 communication problems are caused by…

SAE J1939 VIN Simulation and Request Demo – Understanding PGN 65260 (VIN)

In previous quick demos, we focused on SAE J1939 parameters that are transmitted periodically, such as engine speed, vehicle speed, fuel level, and engine temperatures. These messages are broadcast automatically at predefined intervals, allowing any node on the network to receive the data without explicitly asking for it. The Vehicle…

How to Develop J1939 Software Without Access to a Vehicle

If you are new to SAE J1939 development, you may believe that access to a truck, engine, generator, or agricultural machine is required before you can write any meaningful software. While eventually you will want to test your application on real equipment, the majority of J1939 software development can be…

Embedded SAE J1939 Development: ESP32 vs. Raspberry Pi + PiCAN HAT

SAE J1939 development has evolved far beyond traditional automotive Electronic Control Units (ECUs). Today, engineers can build J1939-enabled systems using low-cost embedded platforms such as the ESP32 and the Raspberry Pi. While both platforms can successfully communicate on a J1939 network, they serve very different purposes. The question is not…

J1939 vs. ISOBUS: Similarities, Differences, and Compatibility

For engineers working with agricultural machinery, one question comes up repeatedly: “Is ISOBUS just another name for J1939?” The short answer is: Almost—but not quite. Both protocols share the same technical roots, use the same physical CAN bus technology, and exchange messages using Parameter Group Numbers (PGNs). In fact, a…

Copyright © 2024 Copperhill Technologies Corporation
wpChatIcon
wpChatIcon