Relay integration with the navigator board

Hi @suzed4, welcome to the forum :slight_smile:

Which ArduSub version are you using? There was an issue with ArduSub 4.1.1-beta2 that prevented the relay functionality from working properly. 4.1.1-beta3 has since been released, so it may help to try installing the latest beta.

There is no parameter with that name. Presumably you mean RELAY_PIN?

Have you got a lights or camera mount output assigned to channel 14?
SERVO14_FUNCTION should be Disabled (0), and servo14_raw in the SERVO_OUTPUT_RAW message (in the MAVLink inspector) should toggle between 0 and 1 when you press your relay toggle button.

Hello there,

Few things for clarification

  1. What is voltage output for relay signal pin and how many amps Nav board can draw for these Relay signal pins?
  2. Can I simply attach one of these with combination of this relay (screenshot below), in the description it mentioning:
    Work Voltage: 5V
    Quiescent Current: 5mA
    Max Current: 190mA
    Trigger Current: 3-5mA
    Low Level Trigger Current: 0-1.5V
    High Level Trigger Current: 3-5V

and don’t think about the problems mentioned in this Simple MOSFET LED Switch for Pixhawk – . Assuming that Nav board inherit the same things from the pixhawk.
3) is there possibility to control relay signal i.e. set it on the timer, for instance trigger (send the signal) and wait for 10sec then return to the off state?
4) any suggestion/recommendation how to power relay with separate power supply for remote physical/power resetting nav board? Would it be wise to power from the topside part through the 100m tether using one of the UTP pairs? I understand that there is significant voltage drop may happen, but what about noise/interference with data cable?


Hello everyone,
is there a way to control the two left over relays via QGroundcontrol?
I installed 6 relays which I can control via Mission Planner (so they work).
I can control 4 relays on Qgroundcontrol via joystick and it would be great to somehow use the others via a command line or something like that.

you should be able to control them via scripting. Example:

1 Like

Hi @nurjan14,

The Navigator’s PWM output pins operate at 3.3 V, and have a maximum current draw of 15 mA, as specified in the Technical Details on the product page. Those outputs can also be configured as ON/OFF (relay-style), using the ArduPilot RELAY_PIN parameters.

That relay module can be controlled by the Navigator (since a 3-5 mA trigger current is within the 15 mA maximum draw, and the 3.3 V pin voltage is within the 3-5 V range for the specified high trigger voltage).

That said, your URL is for a logic level converter, and I’m not sure how/why that would be relevant to your relay.

HI @EliotBR

Can I access/control relay through raspberry pi to which nav board was connected as a shield?
For example can I ssh to the Rpi and using simple python script to triger relays connected to the it’s gpio?
The problem I see, there is no RPI’s GPIO pins available after connecting nav board as a shield.

Would it work if I solder to the pins here?

Or here

Hi @nurjan14 -
I would strongly advise AGAINST soldering to the exposed pins. If you need to control a relay, the Navigator board makes GPIO available for this - which can easily be controlled from the autopilot with BlueOS.

You can setup QGC to allow the relay to be controlled from the game-controller:
Go to the Parameters section and select RELAY. Make sure the RELAY_DEFAULT is Off. Select RELAY_PIN, tick Advanced settings than Manual Entry and enter 9 (which corresponds to the PWM output).

These instructions are lifted from a customer, MarineSee, who sells a laser scaler that uses the relay function. Note the external board allows for more current to be controlled than could be sourced directly from the Navigator / RPi.

1 Like


When we had previously updated to 4.1.1-beta3, the relay function was working. Now, however, we had to re-image the SD card because of a corruption issue. The latest version that we re-imaged is here. However, the relay function is not working with this version for us, so I wanted to check and see if others had success.

The same parameters were set as in the previous thread. When tested, the SERVO_OUTPUT_RAW did not toggle between 0 and 1. For servo 14, the output was 1100 even though the SERVO14_FUNCTION was disabled. When other pin numbers were tested the servo output was 0 but did not toggle to 1.


This is BlueOS version 1.1.1, which is the latest stable software for the onboard computer (Raspberry Pi). ArduSub is the autopilot firmware, which controls the flight controller board (Navigator), and is what needs to be updated to version 4.1.1 to allow the relay functionality to work (the version numbers are coincidentally similar right now, but they’re not related to each other).

Please check your ArduSub version in BlueOS’s Autopilot Firmware page, and update it to the 4.1.1 stable firmware if it isn’t already on that :slight_smile:

1 Like