Building a CAN bus for RC: a step-by-step hobbyist log with MAVLink and UAVCAN.

Building a CAN bus for RC: a step-by-step hobbyist log with MAVLink and UAVCAN.

Building a CAN bus for RC: a step-by-step hobbyist log with MAVLink and UAVCAN.

I began this project wanting a more robust sensor and actuator network on my scale RC boat, and the plan was to replace as many single-wire sensor links as possible with CAN bus to improve reliability and diagnostics. The goals were clear: get UAVCAN sensors talking to the autopilot, bridge important telemetry over MAVLink, and explore running smart servos or ESCs on a common bus. This log follows the hardware choices, wiring practices, configuration steps, and the tests I ran to validate the setup, and it is written from the perspective of a maker rather than a corporate integrator.

The parts list was straightforward and deliberately conservative to keep the build accessible to hobbyists, and I sourced a CAN-capable autopilot, a mix of UAVCAN sensors, a couple of CAN-compatible ESCs, robust twisted-pair cable, inline fuse holders and quality connectors for power and CAN. I also added a spare CAN transceiver module for bench testing and a cheap CAN bus analyser so I could see frames during debugging. The tools I used were a multimeter, a bench power supply, a soldering iron and heatshrink, and a basic oscilloscope for checking signal integrity when bus problems showed up.

Wiring reliably is the key to success with CAN on an RC vehicle, and I followed a few simple rules while assembling the harness to reduce failure points and electromagnetic interference. I used a single twisted pair for CAN_H and CAN_L and kept all branches short, avoiding star topologies, and I provided separate power and ground feeds for heavy loads such as servos while sharing a common ground reference with the CAN nodes. I added 120 ohm termination resistors at both physical ends of the bus and used ferrite beads and stitched shielding where the cable ran close to the motor and ESC leads, and for wiring diagrams and printable cable labels see my site WatDaFeck.

Integrating MAVLink into the picture was mostly a configuration task on the autopilot, and the common pattern is for the flight controller to use UAVCAN on the bus to talk to sensors and actuators while publishing telemetry over MAVLink to your ground station. I enabled CAN on the controller, selected the bus bitrate that the devices supported, and checked that the controller discovered nodes via its CAN device list. The important practical notes are to match bitrates across devices, ensure firmware compatibility between the controller and devices, and enable any automatic bridging or mapping features so that UAVCAN sensor data appears as MAVLink telemetry rather than being trapped on the CAN bus.

Adding UAVCAN sensors was reassuringly straightforward once the bus was healthy, and I assigned unique node IDs to each device to avoid conflicts and to make diagnostics readable in the autopilot logs. For each sensor I calibrated offsets and scales from the controller’s parameter pages and verified live data in my ground station, and when performing firmware updates I used the CAN bootloader facilities built into many UAVCAN devices for over-the-air updates on the bus. I documented node IDs and wiring locations on a simple spreadsheet so repeating or expanding the system later would be painless.

Using CAN for servos and actuators is attractive because it simplifies wiring and adds telemetry, and in this build I tested a small number of smart actuators driven over the bus while keeping heavy motors on a separate high-current feed. With servos I watched current draw carefully and added fuses and temperature monitoring in case of binding, and I also implemented a conservative watchdog and failsafe in the autopilot to stop motion if the CAN bus failed. My final testing routine consisted of staged checks: device discovery, low-power motion sweeps, continuous-load runs, and simulated telemetry dropouts to confirm the system behaved predictably under fault conditions.

Follow me on: Facebook: https://www.facebook.com/watdafeck3d · Instagram: https://www.instagram.com/watdafeck3d/.

Comments