Go Down

Topic: Building a CAN API for Arduino DUE (Read 138 times) previous topic - next topic


Hello roundhouselabs and welcome to the forum. Thank you for the information. So far, my Arduino Due can transmit/receive CAN 2.0A messages within the Arduino API. I used an Atmel sample code for the SAM3X series. Right now, I am organizing the library and replacing missing functions presents in Atmel but in the Arduino API and hope to release them with a couple of sample sketches in github in the coming days for revision and comments. As you may have noticed, a CAN shield has been required. Regards!


Here a picture of my Arduino Due CAN shield (prototype) during loop tests. I will mount the resistors in the shield (less power of course!)


I'm excited to see work with CAN on the Arduino Due - I'm one of the developers of the OpenXC platform that roundhouselabs mentioned (openxcplatform.com) and while we started prototyping with the Arduino at Ford, we had to move to the chipKIT to get a little bit more performance and CAN controllers on the MCU. I'd love to get the OpenXC translator working with the Due; all we really need is the library API - I read through this thread but I can't quite tell if there is progress happening somewhere else on the software side.

If there's a work-in-progress repository somewhere, I'd love to help out. Looking for examples of simple CAN APIs that would exist at about the same level of abstraction as the other core Arduino libraries, the one provided by the mbed library may be a good start: http://mbed.org/handbook/CAN


In my CAN Shield - Due electrical schematic (see Reply #28), I reversed CANTX1, CANRX1 pins.
Here the corrected schematic. Please, ignore the previous one. Sorry for any inconvenience.

Question for moderator: Should I delete or update wrong schematic? Thanks


Arduino Due and CAN shield with termination resistors (120 ohm) mounted. The jumpers are selecting high-speed (0V-black) and disabling low-power (3V3-red) modes in the SN65HVD234 transceivers. The CANH (orange) and CANL (purple) bus terminals hooked for a loop test.

Go Up