Site Information

 Loading... Please wait...

Blog

Developing SAE J1939 Applications with ARD1939 and Copperhill Technologies Hardware

Posted by Wilfried Voss on

ARD1939- A Portable SAE J1939 Protocol Stack for Arduino, ESP32, and Embedded SystemsOne of the challenges of developing SAE J1939 applications is finding a protocol stack that is both affordable and flexible enough for prototyping, education, and custom embedded projects.

To address this need, we developed ARD1939, a portable C++ SAE J1939 protocol stack that serves as the software foundation for many of our development projects and examples.

Originally created for the Arduino Uno, ARD1939 has evolved into a portable implementation that supports Arduino, ESP32, and other embedded platforms. The software provides the core functionality required for building real-world SAE J1939 applications, including Network Management, Address Claiming, Transport Protocol (BAM and RTS/CTS), Request Messages, and PGN transmission and reception.

Unlike many protocol implementations that focus solely on demonstrating a few messages, ARD1939 was designed as a complete software framework for embedded development.

The protocol stack is currently available as a precompiled library, allowing developers to begin building and testing applications immediately. With the release of the upcoming book, “J1939 Development for Embedded Systems,” the complete C++ source code will also be released under an open-source license.

At Copperhill Technologies, we use ARD1939 together with many of our CAN Bus and SAE J1939 development products, including Arduino, ESP32, and Teensy-based hardware platforms. This combination allows engineers to move quickly from evaluating the protocol to developing fully functional embedded applications.

For complete information about the ARD1939 protocol stack, including its architecture, programming interface, supported hardware, and ongoing documentation, visit:

https://ard1939.com

If you’re interested in learning the implementation details behind SAE J1939, be sure to read the complete article:

https://jcom1939.com/ard1939-a-portable-sae-j1939-protocol-stack-for-arduino-esp32-and-embedded-systems/

Questions, suggestions, or feedback? Join the growing J1939 engineering community at:

https://jcom1939.com/forum/

Whether you’re developing a prototype, building an ECU, or simply learning the SAE J1939 protocol, ARD1939 and the accompanying educational resources provide a practical starting point for your next embedded systems project.

Building a Classical CAN to CAN FD Gateway with ESP32-S3: A Powerful Migration Platform for Next-Generation Networks

As CAN FD (Flexible Data-Rate) continues to gain adoption across automotive, industrial, agricultural, and heavy-duty vehicle applications, many developers face a common challenge: How do you connect legacy Classical CAN networks with newer CAN FD systems? One practical solution is a protocol gateway that can receive messages on one network, process or translate them, and transmit [...]

Read More »


Why CAN Bus Is One of the Most Reliable Communication Systems Ever Created

When engineers design communication systems for vehicles, industrial machinery, agricultural equipment, marine electronics, and embedded control systems, reliability is often more important than raw speed. A lost message in a music streaming application may go unnoticed. A lost message containing engine speed, brake status, steering angle, or hydraulic pressure can lead to equipment malfunction, downtime, or [...]

Read More »


SAE J1939, CAN Bus, and Embedded Networking — All in One Place

If you work with heavy-duty vehicles, mobile machinery, marine systems, or industrial equipment, chances are you have encountered SAE J1939. Whether you are developing embedded firmware, integrating third-party ECUs, or troubleshooting complex vehicle networks, reliable information and robust tools are essential. That is exactly why we created jcom1939.com. A Dedicated Platform for J1939 Engineering JCOM1939.com was designed as [...]

Read More »