Skip to content


MicroCANopen Plus

by EmSA

Powerful and flexible CANopen compliant source code. Designed for small footprint applications. Provides an extended feature set including synchronous PDO transmit/receive, emergency objects, heartbeat consumption and non-volatile save/restore parameters.

MicroCANopen Plus is a small-footprint, commercial-grade CANopen implementation with advanced features. Ideal for situations requiring medium configurability during run-time and great performance on any type of platform, and for building networks that include manager nodes, MicroCANopen Plus provides the most flexible solution. Auto-generated configuration from the EDS/DCF file makes its setup a quick and painless one-step process.

Portable. MicroCANopen Plus is written in 100% standard ANSI C code allowing for straightforward porting. For targets without standard support packages, designers familiar with their target processor can easily perform the port themselves. Or, ask us for a quote to add support to your target!

Compact. ROM Specifications: 7K - 14K bytes (for CANopen Slaves) depending upon processor and options selected.

An Affordable Pricing Structure. MicroCANopen Plus offers a low, one-time fee and no royalties on deployed products and includes all source code with every purchase. 

Feature Highlights

The following is a non-exhaustive overview of features in MicroCANopen Plus:

  • NMT State Machine

  • Object Dictionary with Process Image

  • Expedited, segmented and block-transfer SDO

  • Multiple SDO servers

  • SDO fully-meshed (matrix) communication setup with up to 16 nodes when used together with the Manager Add-on

  • PDO with runtime-configurable event time, inhibit timer and transmission type

  • SYNC PDO, both receive and transmit

  • Heartbeat Generator

  • Heartbeat Consumers

  • Emergency Generator

  • Node Guarding (select platforms)

  • Non-volatile save/restore of parameters

  • Code configured from EDS or DCF file with CANopen Architect Standard

  • Extensive call-back API interface

  • Memory access hooks for use of the stack in RTOS-based applications

What's Included

MicroCANopen Plus is delivered with an example CiA401 (Generic I/O) implementation and drivers for NXP ARM and CANopen Magic Ultimate simulation.

Customized examples for other device profiles are available under our consulting services.

Our stack passes the official CANopen Conformance Test!

Full documentation is supplied. All software products include a one-year maintenance and priority support agreement that can be extended anytime.

Also included is a single license for CANopen Architect Standard, an EDS/DCF editor with code generation for quick stack configuration.

Currently Available Ports

The following list is an example of the microcontrollers and compiler combinations that MicroCANopen Plus is currently available for as optional add-ons. More combinations are available, please contact us with your requirements. For currently unsupported combinations you can either perform the port yourself or we can perform it for you. 

  • NXP LPC Cortex-Mx and ARM7 with MCUXpresso, GCC, Keil MDK-ARM, IAR EW

  • NXP i.MX RT with MCUXpresso

  • NXP (Freescale) Kinetis K20 (Teensy 3.x) with Arduino IDE

  • NXP (Freescale) Kinetis K60 with Keil MDK-ARM

  • NXP (Freescale) Kinetis KEA with CodeWarrior

  • NXP (Freescale) S08 with CodeWarrior

  • NXP (Freescale) S12/S12X with CodeWarrior

  • ST STM32 (F0/F1/F3/F4) with GCC, Keil MDK-ARM, IAR EW

  • ST STM8 with ST Visual Develop

  • Microchip PIC18 with MPLABX and XC8

  • Microchip dsPIC33/PIC24 with MPLABX and XC16

  • Microchip PIC32MX with MPLABX and XC32

  • Microchip (Atmel) AVR with WinAVR, ImageCraft

  • TI TM4C with Keil MDK-ARM

  • TI TMS470 with Keil MDK-ARM

  • TI Liminary LM3S with Keil MDK-ARM

  • Renesas R8C23 and M16C with HEW (High-performance Embedded Workshop)

  • Linux socketCAN with GCC

  • Peak System PCAN PC CAN interfaces with MS Visual C++

  • PC Simulation (with CANopen Magic Ultimate)

Manager Add-On

Extension of MicroCANopen Plus source code: adding Manager functionality. Reception and management of all Heartbeats and Emergencies, SDO Client functionality with automated identifification and scanning of newly detected nodes, LSS Master and MicroLSS Master (LSS FastScan).


Extension of MicroCANopen Plus source code: adding extended PDO functionality. Dynamic PDO mapping (configure PDO contents at run-time) and multi-mapping (allow one Object Dictionary entry to be mapped to mutliple PDOs). Extended Object Dictionary access (remote access), for example using a serial port and switching between alternative Object Dictionaries, supporting different variants that can change during startup.

CiA447 Add-On

Extension of MicroCANopen Plus source code: adding CiA447 examples for the implementation of "car add-on devices". Requires MicroCANopen plus and Manager extension.

CANopenFD Add-On

Extension of MicroCANopen Plus source code: adding support for CANopenFD protocols, such as USDO, and increasing the length of PDOs to 64-bytes. Includes the manager add-on and CANopen Architect Professional.

Request a quote