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.

ESP32-S3 MicroPython Programming for CAN Bus and NMEA 2000

The embedded systems world has traditionally been dominated by C and C++, but over the past several years another language has been gaining remarkable momentum: Python. More specifically, MicroPython has become one of the most attractive development environments for engineers who want to prototype and deploy embedded applications quickly without sacrificing access to the underlying [...]

Read More »


Essential Resources for NMEA 2000 Development with ESP32

This blog post is intended to highlight additional, practical resources that can significantly improve the development workflow for NMEA 2000 devices based on the ESP32 processor. Once the fundamentals of CAN bus and NMEA 2000 are understood, progress often depends on having the right reference material and the right diagnostic tools. The following resources address [...]

Read More »


Free SAE J1939 Protocol Stack for ESP32 — Open New Paths for CAN Bus Innovation

We at Copperhill Technologies are excited to announce that we are releasing a fully functional SAE J1939 protocol stack for the ESP32 — and best of all, it’s completely free to use. Whether you’re an engineer, a student, or a maker, this opens up serious possibilities for CAN-bus projects and vehicle network applications — without [...]

Read More »


ESP32 for CAN Bus Application Developments

The ESP32 has become one of the most versatile microcontrollers in modern embedded development. With its dual-core processor, integrated Wi-Fi and Bluetooth, and robust peripheral set, it is a natural fit for advanced networking and control applications. One of its rising uses is in Controller Area Network (CAN Bus) systems, where the ESP32 provides both [...]

Read More »


Comparing Embedded System Choices for CAN Bus: Arduino, Teensy, and ESP32

At Copperhill Technologies, we frequently receive inquiries asking us to recommend the “best” embedded system for CAN Bus applications. It’s a fair question, but unfortunately, there is no universal answer. The choice depends heavily on a user’s technical knowledge, development experience, and—most importantly—the specific requirements of their application. Instead of prescribing a one-size-fits-all solution, we would [...]

Read More »


Unlock the Future of Marine Apps with the ESP32-S3 CAN Bus Board with NMEA 2000 Connector

As the marine industry continues to embrace smart technologies, there's a growing demand for powerful, connected, and reliable embedded solutions that can handle everything from engine diagnostics to GPS data aggregation. Whether you're building a marine monitoring system, an onboard data logger, or an intelligent control unit, you need a development board that offers high [...]

Read More »


Build Smarter Interfaces: ESP32-S3 with 4” Display, Wi-Fi, Bluetooth & CAN FD

Looking to build an advanced HMI, diagnostic tool, or industrial control panel with cutting-edge connectivity and sleek graphics? Meet our ESP32-S3 4" 480x480 IPS LCD Board, a powerhouse designed for developers and engineers who demand performance, versatility, and ease of integration. Feature-Packed for Modern Applications At the heart of this board is the Espressif ESP32-S3-WROOM-1U-N16R8, a powerful [...]

Read More »


CAN Bus Development for Embedded Systems: With and Without an Operating System

The Controller Area Network (CAN) Bus has become an essential communication protocol in automotive, industrial, marine, and robotics applications due to its robustness, efficiency, and real-time capabilities. When it comes to embedded systems, developers have multiple hardware and software platforms to choose from—some with full operating systems (OS), others running bare-metal (without OS). At Copperhill Technologies, [...]

Read More »


Introducing the ESP32 with Dual Isolated CAN Bus Port

The ESP32 Development Board is renowned for its versatility, boasting features like Wi-Fi, Bluetooth, and ample processing power. When combined with the Dual Isolated CAN Bus HAT, it transforms into a formidable tool for CAN bus communication. Key Features: Dual CAN Channels: Facilitates simultaneous communication over two separate CAN networks. Galvanic Isolation: Each CAN channel is electrically isolated, [...]

Read More »