From RepRap
Revision as of 08:35, 7 March 2013 by Ipinson (talk | contribs) (CanFestival)
Jump to: navigation, search

CANopen Headquarter


For people who are interesting in a CANopen architecture on reprap or other arduino/AVR/atmega projects. CAN & ethernet powerlink related stuff too.

People interested , add you there :

Some people are cons CANopen implementation , arguing it's expensive and complex. Since this protocol is made to be cheap and simple, and most of this people don't know CANopen, we can only waste our time trying to explain what it is here since there is a lot of information on the web. We understood that "It's already have been discussed" here :

Main CANopen Features from :

  • Network Management (Network Start-Up, Node Monitoring, Node Synchronization, etc.)
  • Master/Slave configuration, Multi-Master & direct communication between Slaves supported
  • Was originally designed for Motion Control
  • Supports device profiles for Digital I/O, Analog I/O, Motion Controllers, Sensors, Actuator, etc.
  • All CANopen devices “speak the same language”
  • Devices are interchangeable (plug & play)

Looks and links in bottom page for further information.

CiA profiles

Interesting profiles for reprap :

  • CiA 402: CANopen device profile for drives and motion control
  • CiA 406: Device profile for encoders (rotating and linear) - product example
  • CiA 420 series: CANopen profiles for extruder downstream devices

find tutorial and presentation about CANopen here :


hardware considerations have move on CAN_AVR page.


CANopen stack


An AVR Port by Andreas GLAUSER and Peter CHRISTEN already exists in CanFestival for at90can128. I've worked to make it compile fine , fix some header and autotools. I've not commit yet my modification Berita Terbaru Berita Terkini Berita Hari Ini Berita Terupdate Kumpulan Berita Jasa SEO Murah Jasa SEO Baju Batik Toko Bunga because i can't test it for the moment because i need the hardware. Why use this stack ?

  • because it's already available for PIC18, C51, AVR etc see . Future architecture could use specialized MCU sharing same pieces of softwares.
  • it's maintained by few company like Lolitech
  • it's quality code , revision 3, many years experiences
  • it's a more and more complete CANopen stack ( lot of profiles )
  • has tools as Object Dictionary editor, virtual master node ...


Modification list :

  • remove static config.h
  • fix source header for avr-libc
  • add for drivers/AVR
  • add MCU switch in configure
  • convert example/AVR/Slave Makefile into a proper

CANopen bootloader

First thing we need after making CANopen working is a bootloader on CANopen.


share work with others open source projects

AT90S4433 and his external interrupt register.

  • community need CAN/CANopen to communicate with their car and work with arduino.