Press "Enter" to skip to content

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 a great deal to me.

Looking back, I can also see how much my own writing has evolved. The original book reflects the work of an engineer writing his first technical book—long before today’s writing tools and AI assistants made technical writing considerably easier.

But one thing in that book hasn’t changed.

It captures exactly how I felt while trying to learn J1939 myself.

Like many engineers, I spent countless hours reading the SAE standards, jumping between documents, decoding abbreviations, and trying to connect information scattered throughout the specification.

The standards are excellent technical specifications, but they were never intended to teach someone how to develop their first J1939 application.

As a programmer, that’s what I really wanted.

I didn’t want to become an expert on every aspect of the protocol before writing my first line of code.

I simply wanted to start building software.

A Programmer Doesn’t Need to Know Everything

Over the years, one realization became increasingly obvious.

Most embedded developers do not need to understand every detail of SAE J1939 before beginning a project.

In fact, many successful J1939 applications require surprisingly little protocol knowledge.

Understanding PGNs, message transmission, and a few fundamental concepts is enough to develop a large percentage of practical applications.

Certainly, concepts such as Address Claim, the Transport Protocol (TP), and network management are important. But if you’re using a complete J1939 protocol stack, much of that complexity is already handled for you.

You should understand what these mechanisms do—not necessarily how to implement them from scratch.

That realization became the foundation for an entirely new book.

Introducing

J1939 Development for Embedded Systems

Literature- J1939 Development for Embedded SystemsInstead of producing a second edition of my original book, I decided to start over with a completely different philosophy.

The new book,

J1939 Development for Embedded Systems

with the subtitle

Understanding SAE J1939 Without Getting Lost in the Standard

takes a programmer-first approach.

Rather than explaining the protocol exactly as it appears in the SAE documents, it explains J1939 the way an embedded software developer actually encounters it during a project.

The objective is simple:

Get you writing working J1939 applications as quickly as possible while learning the protocol naturally along the way.

For a preview of the book and its preliminary table of contents, visit J1939 Development for Embedded Systems.

The Book Comes with a Complete J1939 Protocol Stack

The biggest difference between my previous books and this one is that it doesn’t stop at theory.

Alongside the book, I am releasing the complete source code of ARD1939, my full J1939 protocol stack.

The stack was originally developed for the Arduino Uno and Mega 2560 and has since been adapted for additional platforms, including the Arduino Due and the ESP32. A Teensy version is currently under development.

Every programming example in the new book uses the ARD1939 stack, allowing you to study real source code instead of isolated code snippets.

My goal is not simply to explain the protocol.

I want to give you a working foundation that you can build upon in your own projects.

Follow the Development

This project is still evolving.

I’ll continue publishing programming examples, tutorials, implementation notes, and updates as the book progresses.

If you’re interested in practical J1939 development for embedded systems, I invite you to visit J1939 Development for Embedded Systems and subscribe to the newsletter to receive updates whenever new material becomes available.

I look forward to sharing the journey with you.


SAE J1939 Starter Kit and Network Simulator

Our JCOM.J1939 Starter Kit and Network Simulator is designed to allow the experienced engineer and the beginner to experiment with SAE J1939 data communication without the need to connect to a real-world J1939 network, i.e., a diesel engine. It may sound obvious, but you need at least two nodes to establish a network. That fact applies especially to CAN/J1939, where the CAN controller shuts down after transmitting data without receiving a response. Therefore, our jCOM.J1939 Starter Kit and Network Simulator consists of two J1939 nodes, namely our jCOM.J1939.USB, an SAE J1939 ECU Simulator Board with USB Port.

The jCOM.J1939.USB gateway board is a high-performance, low-latency vehicle network adapter for SAE J1939 applications. The board supports the full SAE J1939 protocol according to J1939/81 Network Management (Address Claiming) and J1939/21 Transport Protocol (TP). More Information…

Comments are closed.

Copyright © 2024 Copperhill Technologies Corporation
wpChatIcon
wpChatIcon