J1939 Stack and DeviceDesigner

Save as PDF

J1939 Stack

The J1939 protocol stack allows the fast and straight-forward development of J1939 applications.

A comfortable API allows the straight-forward analysis of received data. The SAE J1939 Stack is equipped with a defined driver interface for the easy adaption of different CPUs. A great number of hardware adaptions are available at emtas. To avoid a waste of resources the SAE J1939 Stack is to a large extend configurable and scalable.

To guarantee a quick start using the J1939 Stack a number of example projects and a user manual are part of the delivery. Also a reference manual that explains the use of functionalities and function parameters is included.

The unique J1939 DeviceDesigner is a tool to manage all PNGs and SPNs in a device easily and to generate code for the J1939 stack. The import of PGN definitions avoids repetitive and error-prone work.


  • Transmission and reception of J1939 messages
  • Handling of the J1939 transport protocols for large data (TP & BAM)
  • Support of the “address claiming” process for determination of the node address
  • Cyclic transmission and reception of messages


  • ANSI-C compatible SAE J1939 source code stack
  • available for many CPU types
  • comfortable user interface
  • in great extent configurable and scalable
  • J1939 DeviceDesigner included

J1939 DeviceDesigner

The J1939 DeviceDesigner is an easy-to-use tool for fast and cost-saving design of J1939 devices. With a few mouse clicks the PGN and SPN definitions of the device can be created on the basis of predefined data bases. The J1939 DeviceDesigner creates the PGN definition structures and initializing functions in C and a device documentation. Additionally the J1939 DeviceDesigner configures the J1939 stack and J1939 driver under consideration of the device characteristics. So the optimal configuration is given.

The tool is available for all major operating systems like Windows, Linux and Mac OS X and a single user license is included in the scope of delivery of the J1939 stack.


An increasing number of devices need bootloaders to update the firmware in the field. To meet these demands emtas developed a new bootloader that needs only few memory resources. As there is no J1939 specification for a bootloader our customers often use our CANopen bootloader with a few modifications to update a J1939 device. The bootloader is available for different 16- and 32-bit microcontrollers and can easily be adapted to other targets.

Scope of delivery/Licensing model for stacks and bootloaders

  • ANSI-C sourcecode
  • ready to run examples
  • user manual and reference manual
  • site license (no product licence and royalties free)
  • incl. six months support by e-mail or telephone
  • optional maintenance agreement available
  • optional integration support

Please visit http://www.emotas.de/en/ for more information about our CANopen products.