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…
Home » Blog Post
Posts published in “Blog Post”
Blog posts to appear in Latest Posts.
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…
J1939 Reverse Engineering: Decoding Proprietary PGNs and Unknown CAN Messages
If you spend enough time working with heavy-duty vehicles, agricultural equipment, construction machinery, or industrial engines, you will eventually encounter proprietary J1939 messages. At that point, many engineers ask the same question: Can I reverse engineer a J1939 network? The short answer is yes—but only to a certain extent. Before…
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…
SAE J1939 Engine Speed Simulation (PGN 61444 / SPN 190) with JCOM1939 Monitor
Engine speed is one of the most frequently monitored parameters in any SAE J1939 network. Whether you are developing a dashboard, testing an engine ECU, validating telematics software, or learning how J1939 communication works, engine speed is often the first parameter engineers look at. In this post, we will explain…
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…










