Home > Products > Protocol Stacks > CANopen > Slave Stack

CANopen Slave Source Code

The CANopen Slave Source Code has been optimized for low resource requirements and is, thus, well suited for intelligent sensors and actuators. The CANopen protocol stack offers the complete functionality for integration of the CANopen standards CiA 301 and CiA 305 into your devices. The following CANopen services are supported:

  • Service Data Objects (SDOs, Server)
  • Process Data Objects (PDOs)
  • Network Management (NMT)
  • Emergency Messages (EMCY)
  • Synchronisation Messages (SYNC)
  • Layer Setting Services (LSS, Slave)

All services can be parameterized during runtime via the application or via the local object dictionary. You may extend the local object dictionary according to your specific purposes. A variety of device profiles and application profiles are available to complement the protocol stack. Various callback functions can be used to send on messages of the CANopen protocol stack to the application.


The option Mini-Master adds the following functions to our CANopen Slave source code:

  • SDO Client: parameterisation of other CANopen Slave devices
  • NMT Master: change of the NMT condition of other CANopen Slave devices
  • Network Management (NMT)
  • LSS Master: adjustment of bit rates and node ID


Versatile configuration options allow individual customization to the target system. Example codes facilitate the startup phase, enabling the user to focus on the implementation of their own application. The open CAN driver (CANpie) provides the flexibility to use any CAN controller available on the market.

As a supplement to our CANopen Slave source code we offer CANopen Seminare,  software tools as well as technical advice and support in the Entwicklung of your individual CANopen devices. 




  • Complete functionality according to CANopen specification CiA 301
  • Support of Layer Setting Services (LSS, CiA 305)
  • Modular software structure with versatile configuration options
  • Adjustment to target product without affecting the code structures
  • Optimized for low resource requirements (ROM / RAM)
  • Broad range of supported CAN controllers
  • Consistent interface for the CAN Treiber (CANpie)
  • Easy enhancement of object dictionary (vendor specific parameters)
  • Miscellaneous add-ons available (device profiles / mini-master)

Ordering information

Order Number


50.01.020 CANopen slave protocol stack
Protocol stack as C source code, example programs, documentation in english language
50.01.028 CANopen slave update
Update on the latest version of our CANopen Slave protocol software, documentation in English, available in C-source code on CD
50.01.030 Option Mini-Master
Support NMT Master, SDO-Client and LSS Master, in C source code
50.09.401 CANopen Device Profile CiA 401
Device profile for digital and analogue i/O modules
50.09.402 CANopen device profile CiA 402
Device profile for drives
50.09.404 CANopen device profile CiA 404
Device profiles for sensores and actuators
50.09.406 CANopen device profile CiA 406
Device profile for encoders
50.09.410 CANopen device profile CiA 410
Device profile for inclinometer
50.09.417 CANopen Application Profile CiA 417
Application profile for lift control systems
50.09.418 CANopen Device Profile CiA 418
Device profile for batteries
50.09.419 CANopen Device Profile CiA 419
Device profile for charging devices
50.09.437 CANopen Application Profile CiA 437
Application profile for photovoltaic components
50.10.zzz CANpie driver
API for CAN implementation for the respective microcontroller
5440ee80efdf4d1234b6b3ce_f.svg 5440efa8efdf4d1234b6b3d9_icon-twitter.svg 5440f848ea3d85b84aa9d072_Blogger.svg