UAVCAN servo suppliers

Thanks, really helpful. I now have three of these nodes on my desk. Have managed to get one servo working and can edit the node parameters within DRONECAN GUI

Some pretty basic questions but I can’t find any documentation.

  1. How do I edit the file highlighted above and compile it?
  2. Is there any limit on the number of nodes in a system provided they all have unique nIDs?
  3. If I wanted to connect a mavlink telem radio or rangefinder to one of the serial ports what code changes or parameter shance is needed within the file?
  4. Am I right in assuming that the flight controller does not gain additional serial ports using these nodes it just allows them to be not plugged directly into the cube?


The is no MAVLINK out on an AP_Periph uart. The UARTs on this board are for connecting to peripherals. It’s data in.

1 Like

Does anyone have servos working on the L431 in the meantime ?
Mine have arrived, but as described in this thread (Matek l431 - pwm out) the servos do not want to be moved.

Yes I managed to get servo outputs to work.

Had to change the output values in the can node using the gui and then enable the relevent servo output bitmask via mission planner.

Took me a little while to figure out how it works.

Can you verify that the node is working by plugging a gps or similar into it?

I have done the same, CAN_D1_UC_SRV_BM to 31 (Bitmask Servo 1-5)
and set the servo_functions in MP and DroneCAN Gui to identical aileron/rudder/elevator functions.

Yes, an airspeed sensor works properly.

Have you had any luck?

If it helps - Here is a known working setup.
Cube Orange - Plane 4.2.0
Working params
Working servo1 can params.param (17.1 KB)

Servo PWM connected to L431 PWM1 with an external 5V power supply with common ground.

L431 confirmed that OUT1_FUNCTION is set to integer 51

In FBWA mode the servo responds when the flight controller is moved.

1 Like

Thanks for the help. I have set everything as you have done. Unfortunately, the servo still does not work on the L431 (HW 438, SW 1.3.8C8682C0).
Matek H743(V1) - Plane 4.2.0
I will probably try the whole thing on a Pixhawk and with a second L431.

If you send your parameter files both from the CAN node and the flight controller perhaps we can help better?

Just looking to make some tweeks to what is baked in by default.

Do you know - Is there any reason why Rangefinder is not included in the default build?
Don’t want to add it and then discover that it consumes too much processor time or something.

I have 5 nodes on the aircraft and would like to give them all the same firmware but apply different parameters to each to govern their actual task.

I know @tridge made a serial rangefinder node a month ago, will probably test a little bit later

Node peripheral distribution is the essence of uavcan, providing you can map correctly the devices so the FC can operate them.

Can confirm that the Rangefinder node works. I tested it yesterday.

Will see if I can copy that code into the generic L431 HWdef. Wish me luck - not done this before.

Is there any bus health information? IE would Ardupilot know if a node is unhealthy and tell me?

Per default, nodes can provide high resiliance features using watchdog, CRC and board checks.

I would be interesting if @tridge could make a short blog/video on how we can exploit these features :wink:

1 Like

You are right, of course.

Parameter H743-NG(V1), V4.2.1beta1 :
h743.param (24.1 KB)

Parameter L431 (HW 438, SW 1.3.8C8682C0):
L431.param (1.6 KB)

On another L431 and on a Pixhawk 1 I can’t get the servo to work either. Airspeed sensor and GPS are working on the L431.

1 Like

I am sure you are on this… but are you 100% sure the servo is getting power?

Yes, the power supply is directly from the h743, only the PWM cable is connected to the PWM output 1 of the L431. Cross check by plugging into the H743 servo 1 output: the servo works fine.

Do you have one or two CAN port on the Matek H743(V1) ?
Maybe you are plugging on the CAN 2 (it works only on CAN 1 for me).

Only one CAN port on then H743(v1)
I will next try if ESC control works

See here for a post from Tridge on how to do this. Using MatekL431 adapters for PWM and DShot - #2 by hendjosh

Did you turn of the safety switch during testing?

The H743 does not have a safety switch. After arming or switching off the preflight check it does not work either.

Thanks @hendjosh
Thanks for your help. It works now. It seems to be a problem of all boards without SafetySwitch: ChibiOS: add BRD_SAFETYENABLE on all boards by tridge · Pull Request #20812 · ArduPilot/ardupilot · GitHub
Until then, it helps to activate the non-existing Safety Switch with the MP as you describe there: Using MatekL431 adapters for PWM and DShot - #2 by hendjosh