Press "Enter" to skip to content

Posts tagged as “J1939 development”

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…

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…

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…

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…

Can Multiple SAE J1939 Nodes Transmit the Same PGN?

One question that appears regularly in SAE J1939 discussions is whether multiple Electronic Control Units (ECUs) can transmit the same Parameter Group Number (PGN). At first glance, the answer seems straightforward: if the J1939 standard defines a message, why shouldn’t multiple devices be allowed to transmit it? In reality, the…

Copyright © 2024 Copperhill Technologies Corporation
wpChatIcon
wpChatIcon