Using MatekL431 adapters for PWM and DShot

Is there any other way I can get this data without the driver you mentioned? I’m open to any suggestions.

Do you already have telemetry data? I do not understand the sentence.

no i can’t get the telemetry data. I want to get information such as RPM, power consumption etc. of all 3 motors separately.

You need to either wait, or expand the existing hobbywing driver to support 3 instances

The data is very useful too have, somewhat for tuning, but especially for maintenance and long term monitoring.
Unfortunately as amilcarlucas says we have to wait. Until it works you just have to examine logs carefully and check if issues are creeping in, like higher vibrations than normal, higher battery consumption and so on.
If you have specific tuning problems you are trying to solve with the ESC telemetry start you own discussion and we can all help.

Hi there,
I am trying to set up the MatekL431-PWM with a relay output so that I can control a relay from Mission Planner. Would you be able to suggest the best way to do this? I have managed to get PWM out from the node, however am not sure the best way to set this to a GPIO style output.

This is what I have managed so far: In ArduPlane, I have set CAN_D1_UC_SRV_BM to output servo 15-23 and left CAN_D1_UC_SRV_RT at 0. In the CAN node parameters, I have set OUT_BLH_MASK to 0, ESC_PWM_TYPE to 0 and OUT1_FUNCTION to 65 (for servo 15). From Mission Planner, I was able to set servo 15 using the servo/relay tab and could see the PWM changing. I was thinking if I changed RC15_OPTION to 28 for Relay on/off, the pin might be able to behave like a relay, but to no avail.

I have noticed that there is a parameter called OUT_GPIO_MASK but am unsure how this works. When I set it to 1, it cancels all PWM output from pin 1 on the node.

Any help would be much appreciated.

I am on ArduPlane 4.4.0 and Mission Planner 1.3.8.

Thanks!

does it support the Pass-Through ?

No, not currently - on my list

The wiring is very easy

1 Like

Hi there!

I want to use the L431 CAN Node adapter for forwarding 4 PWM Channels, Airspeed sensor I2C and a serial port for telemetry and gimbal control (OpenHD) through the fuselage on my VTOL. While Airspeed and PWM configuration seem reasonable to me in SLCAN parameters, I can’t find out how to configure RX/TX1 to work as Telemetry port…

If that’s not possible, I could (misuse) the GPS serial port for telemetry, as a CAN GPS is installed on the VTOL. But here I’m stuck as well.

So, anyone here with helpful suggestion on that?

Thanks in advance,
Marcel

I’m currently trying to get a Hobbywing XRotor 80A esc to pass telemetry through the L431. I’m finding a lot of trouble in doing so as I’m not sure the format of the signal is readable into the node by default. Does anyone have any experience or tips in this area?

You probably will need this branch https://github.com/ArduPilot/ardupilot/pull/22649 merged first.

Hi,

I am working with Dilshan to pass telemetry from six Hobbywing XRotor 80A escs through the L431. Our priority is getting rpm data through to the flight controller. I have followed the tutorial above, but changed CAN_D1_UC_ESC_BM to 1008 rather than 240 to account for 6 escs. esc.RawCommand is visible on the bus monitor but not esc.Status.

As Dilshan mentioned, we suspect this may be an issue with the formatting of the signal.

Is there any way to obtain rpm data without waiting for the firmware merge?

Any help or suggestions would be appreciated.

Thank you!

You can merge it and compile it yourself

Can the serial ports on an L431 also be used for CRSF protocol (Crossfire or ELRS receiver)?

Not yet- but @peterbarker is working on it

Hi I have gone through the tutorial for the L431 adapter, but I am using the CANNODE rather than the L431-PWM node. I have multiple boards running and have mapped all the different PWMs to the various boards as required; thanks for the tutorial. The serial port is however a mystery to me. The L431-CANNODE says it has 3 serial ports (UARTS):
Serial Port 0, UART1 - USER
Serial Port 1, UART2 - MSP_PORT1
Serial Port 2, UART3 - GPS_PORT2
I understand what the MSP port is and GPS port, but how do we use the UART1 User Port??? Can I send through custom sensor data and then just extract it at auto pilot end with some LUA scripts???
Alternatively can I set the L431 up with the PWM outputs and then feed in data to serial port 1 as though it was an ESC telem input (same data frames / protocol)?