CANinterfacer

= The CANinterfacer =

The CANinterfacer is compatible to an Arduino board with a CAN shield on top.
 * It is ATMEGA32U4 based, as are Arduino Leonardo and Arduino Micro.
 * You can program it using the Leonardo bootloader and the Arduino IDE.
 * It can be powered from the CAN bus by an onboard switched converter accepting 7 to 32 Volts.
 * The board is slightly smaller than 5 cm x 5 cm.

CANinterfacer and on his right an Arduino with a CAN shield





The card was designed as a building block for an open source marine electronics bus. As such, it should be able to connect to all sort of existing systems and sensors. Most of the pins and specialized hardware interfaces of the micro-controller are available for interfacing:
 * USB interface for programming, debugging and for communication with a PC
 * digital input and output
 * analogical input
 * PWM
 * a free UART (serial in and out, unused during programming by means of USB or CAN)
 * I2C/TWI
 * SPI

Current Development
We are currently working on the software:
 * libraries for a higher level protocol to work on-top of CAN
 * reprogramming of the board through the CAN bus (using a previously installed special bootloader)
 * transmission of debug messages through the bus

Applications
We are developing CAN connected rudder-servors and sail winches to permit single handed sailing on a Miniji by a person with physical disabilities (photos and French text). The same prototype Miniji serves as platform for robotic sailing (see WRSC 2013).

Goulven Guillou uses our bus architecture on a J/92s yacht for his research project on autopilots.

Furthermore, the CANinterfacer is used with the autopilot to make the system more flexible for easier adaptation to new situations and ideas. It was for example used by a student project to connect wind, speed and depth sensors to the pilot and an Android tablet. The tablet serves as display and command interface beside the existing joystick.

Ressources

 * Our paper from the IRSC-2013 conference
 * Git Repository containing the hard- and software (schematics, source code for CAN and SimpleCAN library, remote programming through CAN bus etc.) Do not hesitate to ask for missing stuff...