KitCAN - M10025 hwrev

The mRo KitCAN is a powerful kit of features and firmware via CAN that tackles several use cases when integrating CAN peripherals to uncrewed vehicles. With just 4 wires you can have access to a super accurate magnetometer available, the best barometric pressure sensor we’ve ever use plus GPS and I2C ports that support all legacy uBlox GPS sensors and RTK correction messages. If that is not enough, it also includes an RGB LED and Arm Switch/Button.

Graphical pinout diagram

Front side

kitcan_pinout

kitcan_legend

Back side

The software update that came with revision C also enables UART2 pads on the bottom of the board, as pictured in the following figure.

kitcan_bot

You will notice a new solder jumper on the back labeled as I2C_VSEL, which enables support for 3.3V only I2C peripherals since many sensor breakout boards have this characteristic. If you want to enable the 3V3 output, you will have to cut the trace with a hobby knife or a similar tool and apply a solder blob from the 3V3 labeled side of the jumper to the center pad.

WARNING

After removing the trace make sure there is no short between the 3V3 and 5V nodes, as this will cause irreversible damage to the board.

Specifications

Electrical/MCUKitCAN M10025
Main processorSTM32F303
Flash size256kB
Operating voltage5V
Maximum current (fused)250mA
Internal 3v3 reg current400mA
I2C pull-upsInstalled (2k2)
CAN termination resistor*Installed
Mechanical
Dimensions35.5mm x 27mm
Screw pattern30.5mm x 14mm
Screw sizeM3 (3.2mm hole diameter)
Board thickness1.2mm (1.0mm rev B)

TIP

A modified version without termination resistor is available upon request for large orders.

Changelog

  • Revision C (Q1 '23):
    • Added a voltage selection solder jumper for the I2C port, more details on the graphical pinout.
    • UART2 solder pads are active by default. This update is retroactive for older revisions as well.
    • Thicker PCB to prevent RM3100 stress failure.

Quick Start

mRo KitCAN board is intended to work as a sensor-enriched CAN node so the use cases are diverse. If all you need is the external magnetometer and baro, using a 4-wire JST-GH cable of any length is enough to get up and running. Adding external sensors or modules is a plug and play experience as the extra peripherals will be picked up upon the next boot.

Parameters

Make sure you are using the latest version of Mission Planner. With the following firmware versions or newer:

ParameterValue
ArduPlaneV4.0.5
ArduCopterV4.0.3
ArduRoverV4.0.0

Go to Full Parameter Tree on Mission Planner and verify the following are enabled:

ParameterValue
CAN_P1_DRIVER1
GPS_TYPE9 UAVCAN

Make sure the UAVCAN compass driver is not disabled (UAVCAN should be unchecked).

If your controller has more than 3 internal compasses, you should disable the least important one:

ParameterValue
COMPASS_TYPEMASKUAVCAN (Unchecked)

The RGB notify LED via DroneCAN needs to be enabled by selecting bit 5 of NTF_LED_TYPES parameter, or just select the "DroneCAN" checkbox in the popup window.

I2C Airspeed sensor

If you want to enable the I2C airspeed, on the autopilot/controller parameters via Mission Planner set ARSPD_TYPE = 8 UAVCAN

Use the following parameters depending on the type of airspeed you are connecting.

  • ARSPD_TYPE = 1 For mRo I2C Airspeed Sensor JST-GH MS4525DO

  • ARSPD_TYPE = 4 For mRo Next-Gen MS5525

Port pinout tables

GPS Port

PinColorSignalTTL/Voltage Level
1redVCC5V
2blackTX3V3
3blackRX3V3
4blackI2C_SCL3V3
5blackI2C_SDA3V3
6blackGNDN/A

CAN Port

PinColorSignalTTL/Voltage Level
1redVCC5V
2blackCAN_H
3blackCAN_L
4blackGNDN/A

I²C Port

PinColorSignalTTL/Voltage Level
1redVCC5V
2blackI2C_SCL (pull-up on autopilot)3V3
3blackI2C_SDA (pull-up on autopilot)3V3
4blackGNDN/A

3D Model

Downloads

3D Modelopen in new window

Last Updated:
Contributors: Leonardo Garcia