Blog
Recent Posts
Developing SAE J1939 Applications with ARD1939 and Copperhill Technologies Hardware
Posted by on
One 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:
If you’re interested in learning the implementation details behind SAE J1939, be sure to read the complete article:
Questions, suggestions, or feedback? Join the growing J1939 engineering community at:
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.
ESP32S3 CAN & LIN-Bus Board – Accelerating CAN-to-LIN Gateway Development
Modern vehicles and industrial machines increasingly rely on multiple communication networks. While CAN Bus serves as the backbone for critical control systems, LIN (Local Interconnect Network) provides a low-cost solution for intelligent sensors, switches, actuators, and body electronics. In many applications, engineers need a reliable method to exchange data between these two networks. The ESP32S3 CAN [...]
Why CAN Bus Refuses to Die: What CAN FD and CAN XL Reveal About the Strength of Classical CAN
For more than 25 years, I have been working with CAN (Controller Area Network) technology. During that time, I have lost count of how many times industry experts, analysts, and technology journalists predicted its imminent demise. First, it was Ethernet. Then came FlexRay. Later, it was Automotive Ethernet. More recently, CAN FD and now CAN XL have been presented [...]
Why CAN and LIN Need to Communicate in Modern Vehicles
At first glance, it may seem odd that a vehicle would use two different network technologies—CAN (Controller Area Network) and LIN (Local Interconnect Network)—and even stranger that they need to communicate with each other. After all, why not use one network everywhere and avoid the complexity? The truth is that both CAN and LIN exist because [...]
Mastering CAN Bus: A Deep Dive into Automotive CAN Bus and In-Vehicle Networks
In an age when vehicles are less about purely mechanical linkages and increasingly about interconnected electronics and networks, the book Automotive CAN Bus and In-Vehicle Networks arrives at exactly the right moment. Graham Stoakes presents what he calls “the digital nervous system of modern vehicles” — and for technicians, students, and enthusiasts alike, this translates [...]
Loading... Please wait...
