CAN Node F303
The mRo CAN Node is a product of a collaborative effort with Ardupilot, stemming from a shared ambition to establish CAN peripherals as a standard in the drone community. Unlike other boards with open-source hardware but closed-source code, the mRo CAN Node is fully open. The CAN Node F303 represents the second iteration of our CAN Node, offering increased flash space.
Featuring AP_Periph firmware, the mRo CAN Node includes a CAN bootloader for effortless updates through the same CAN port. Users can configure onboard parameters with specific CAN Node IDs or opt for auto-allocated IDs. The hardware design is free and open-source, enabling contributions to the CAN peripheral domain using a proven CAN/MCU interface.
The mRo CAN Node allows for seamless conversion from UART/I2C/SPI/GPIO to CAN, leveraging the Ardupilot driver library. It is currently designed for plug-and-play compatibility as a GPS and Magnetometer by simply connecting the 6-pin GH connector from any mRo GPS, transforming it into a CAN-GPS.
[Quickstart]
Make sure you are using the latest version of Mission Planner. With the following firmware versions or newer:
ArduPlane >= V4.0.5
ArduCopter >= V4.0.3
ArduRover >= V4.0.0
Go to Full Parameter Tree on Mission Planner and verify the following parameters are enabled (in some firmware versions these are enabled by default).
CAN_P1_DRIVER -> 1
GPS_TYPE -> 9 UAVCAN
Then, 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:
COMPASS_TYPEMASK -> UAVCAN (Unchecked).
Connect your mRo Location One to your controller via CAN and Restart.
NTF_LED_TYPE -> UAVCAN -> Checked (Only if you want the RGB enabled).
If you want to enable the I2C airspeed, on the autopilot/controller parameters via Mission Planner set:
ARSP_TYPE -> 8 UAVCAN
Then, you must access your mRo Location One CAN parameters and follow these steps:
Mission Planner -> Initial Setup -> Optional Hardware -> UAVCAN -> SLCan Mode CAN1 -> Parameters
1 min later inside the CAN Parameters, change the following:
ARSP_TYPE -> 1
For mRo I2C Airspeed Sensor JST-GH MS4525DO
ARSP_TYPE -> 4
For mRo Next-Gen MS5525 Airspeed Sensor
Write and reboot. Enjoy!
You can go to Mission Planner->Initial Setup->Optional Hardware->UAVCAN-> SLCan Mode CAN1 (or 2), and you should see your board alive. From there, you can access the CAN Node parameters and change the default node address among other parameters.
MCU:
STM32F303 ARM Microcontroller
JST GH Plug Connections:
GPS Port (UART and I2C)
I2C Port
2 x CAN Ports (shared)
Solder Pad Connections (bottom):
1 x SPI (2 Chip Selects)
2 x ADC lines
3 x GPIO lines
2 x UART
1 x I2C
A portion of sales of this product will be donated to Ardupilot.org.
Schematic: https://github.com/mRoboticsIO/CANNode/tree/master/Schematic
Design Files: https://github.com/mRoboticsIO/CANNode/tree/master/Altium
The measurements below are shipping related: