Supported Controllers

The following chip manufacturers and their families are supported at the moment by the emotas CANopen and J1939 stacks:

AMD x86 Architecture
ATMEL ATmega64C, AT90CAN64, AT90CAN128, SAM C21
Freescale (NXP) Kinetis, msCAN12 (e.g. HCS08, HCS12), i.MX, MPC560x
Cypress (Spansion/Fujitsu) FM3 (ARM Cortex-M3)
Infineon XMC4000 (ARM Cortex-M4, MultiCAN), XMC1400 (Cortex-M0), XE166
Intel x86 Architecture
Microchip dsPIC33, PIC24H, PIC32
NXP LPC17xx, LPC40xx, LPC546xx
NuvoTon NUC130, NUC140
Renesas R-IN32M3, RX62, V850E2, RH850/F1L, Synergy S1,S3,S5,S7
ST Microelectronics STM32 (ARM Cortex-M0, Cortex-M3, Cortex-M4, Cortex-M7, bxCAN, M_CAN)
Texas Instruments TMS320, C2000 (DSP), ARM, Stellaris LM4F, TMS570 (Hercules), Tiva TM4C129
LINUX systems can4linux, SocketCAN, ECI


The table only lists the families. All providers offer within each family a large number of “family members”
that differ in periphery, maximum clock rate or size of housing. In consequence the number of pins and pin
assignment also differ.


The CANopen stack can be used with the following compilers or IDEs:

  • gcc
  • Keil
  • IAR
  • Crossworks
  • Atmel Studio
  • Atollic True Studio
  • Tasking
  • Mikro C

and more.