The embedded network specialist

emtas CANopen Master/Slave stack

Software package for the development of CiA301 & CiA302-2 CANopen master or slave devices

The CANopen Master/Slave Stack is a software library that provides all communication services according to communication profile CiA301, v4.2 and master features according to CiA302-2.
The CANopen Master Stack is written in ANSI-C and it is MISRA conform. Using the CANopen Master/Slave Stack by emtas leads to fast and easy development or extension of CANopen conform master applications
emtas CANopen Master/Slave Stack Software
emtas CANopen Master/Slave Stack Software
emtas CANopen Master/Slave Stack Software


  • ANSI-C compatible CANopen Master/Slave source code stack
  • MISRA-C-conform
  • Supports all CANopen services of CiA301 V4.2 & CiA302-2
  • Layer Setting Service (LSS) included
  • Extensions for further standards available
  • Available for many CAN-controllers and CPU types
  • Comfortable user interface
  • Widely configurable and scalable
emtas - your embedded solution partner

CANopen Master/Slave

The stack includes all features and services of the emtas CANopen Slave Stack. In addition it is featured with NMT Master functionalities and network management. Several master examples are available to make the first steps in using the complex master functionalities as easy as possible.

emtass CANopen Master/Slave Stack structure


A flexible user interface provides functions to evaluate the received data and to use the CANopen Master/Slave services in the network.

A flexible user interface provides functions to evaluate the received data and to use the CANopen FD services in the network. To connect the CANopen Master/Slave Stack to multiple CAN controllers and CPU types, a well-defined driver interface is used. Using this driver interface the CANopen FD stack can also easily be adapted to new CAN controllers or CPU types. Also it is possible to substitute hardware platforms with only little effort.

The CANopen Slave Stack can be used with various Realtime Operating Systems such as ThreadX, FreeRTOS, Keil RTX oder TI-RTOS ,and as well with Linux (SocketCAN, can4linux) or QNX and also with Real time extensions for Windows.


Besides the function API there is also an Mailbox API available for an easy use with multiple tasks resp. threads. Messages between application modules and CANopen Master/Slave stack are send via mailboxes instead of function calls. This secures a non-blocking communication. An application may consist of several tasks that use the CANopen Stack in parallel.

CANopen fearures

Overview of the CANopen functions of the Master/Slave stack in comparison with the other emas stacks

Services Basic Slave Master/Slave Manager
SDO Server 2 128 128
SDO Client   128 128
SDO expedited/ segmented/block ●/●/- ●/●/○ ●/●/○
PDO Producer 32 512 512
PDO Consumer 32 512 512
PDO Mapping static static/dynamic static/dynamic
MPDO Dest Mode  
MPDO Src. Mode  
SYNC Producer  
SYNC Consumer
Time Producer  
Time Consumer  
Emergency Producer
Emergency Consumer   127 127
Guarding Master    
Guarding Slave
Bootup Handling  
Heartbeat Producer
Heartbeat Consumer   127 127
NMT Master function  
NMT Slave
LED CiA-303
LSS CiA-305
SDO Requester (SRD) CiA-302-5  
CANopen Router CiA-302-7  
Master Bootup CiA 302    
Configuration Manager    
Flying Master  
C#-API-Wrapper for Windows
Delphi-API-Wrapper for Windows
● - Inclusief
○ - Optioneel

CANopen DeviceDesigner

To save resources the CANopen Master/Slave Stack is widely configurable and scalable. The settings for these features are supported by the graphical configuration tool, CANopen DeviceDesigner, which also allows the creation of the object directory and EDS file using a built-in database. As a consequence, changes can be realized fast and easy.
Using the unique CANopen DeviceDesigner valuable development time is saved.

emtas CANopen DeviceDesigner
emtas CANopen DeviceDesigner

Easy start up

Many ready-to-run examples are provided to make the start with the CANopen Master/Slave stack as easy as possible. Additionally a user manual, which describes principles and use cases and a reference manual, which describes each API function in detail belongs to the scope of delivery. The stack is constantly tested with the CANopen Conformance Test for compliance with the specification.

Supported processors and IDEs

The following chip manufacturers and their families are supported by the emtas CANopen Master/Slave Stack: ATMEL, BOSCH, Freescale (NXP), Cypress (Spansion/Fujitsu), Infineon, Microchip, NXP, NuvoTon, Renesas, ST Microelectronics, Texas Instruments. Furthermore, the x86- and LINUX-architecture are generically supported.
CANopen Master/Slave Stack code can be generated by compilers or IDE’s by GCC / GNU, Keil, IAR, Crossworks, Atollic True Studio, Tasking and the specific development environments of the various chip manufacturers.

Ask for the specific possibilities of a specific controller / IDE combination.

Licensing model

The CANopen Master/Slave Stack is delivered as source code in the form of a one-time Project or Site License. The distinction between them is as follows:

  • Project license
    The software (source code) may be used at one defined development location for one defined project. The default support period is 6 months.
  • Site license
    The software (source code) may be used on one development site / location, by various developers at this location, for an unlimited number of products. The standard support period is 24 months.

There are no run-time fees or royalties on the generated object code.

Contents of delivery
- Source code in C
- Example code in C
- Software user license
- Programming manual
- CANopen DeviceDesigner (named-user license)
- Technical support (time limited)

Part number(s)

Single CAN-controller

emtas CANopen Stack - Master/Slave Software Package
emtas CANopen Stack - Master/Slave Software Package

Multi CAN-controllers

emtas CANopen Stack - Master/Slave MultiLine Software Package
emtas CANopen Stack - Master/Slave MultiLine Software Package

Getting interested?

Are you interested in the emtas CANopen Master/Slave stack? Please request, without any obligation, for a quote. Would you like more information? Please send an email to or visit our contact page.
You can call us if you like, we can be reached at +31-40-2301.922. We are pleased to help you and do offer you practical advice and support.

Related products

PC CAN-interfaces
CAN Repeaters
CAN Bridges & Gateways
Communicator CAN
CANopen X-gateway
CANopen PLC-extentions
CANopen I/O Modules
canAnalyser 3 Suite
CAN Diagnostic Tools
CAN Accessories