Hall effect joystick connected to Navigator


I am wondering if anybody has tried connecting a Hall effect DV5V, RS 232, Round operation limiter joystick directly to the Navigator. The joystick is a 2 axis H44 Series MKF-JS08 Industrial , Multi-asix series. If so, or if anybody has any idea how to go about this, your advice would be greatly appreciated. I would like to be able to control T500 thrusters with 2 of them.



I think an Arduino Leonardo with a small amount of programming could get you running. You could either use it to build your joysticks into a custom game controller that replaces your Xbox or logitek pad and control your vehicle via QGC. Or, connect the Leonardo via PWM directly to the ESC driving the T500s.

Hi @johng,

The Navigator is a flight controller board, and does not have direct joystick inputs. I suppose if you use a serial to USB converter you could write some code to run on BlueOS that reads your joystick values and sends corresponding MAVLink messages to ArduSub, but that seems unnecessarily difficult if the primary aim is just to control a couple of thrusters, and presumably without a computer interface if you’re trying to connect the joystick straight to the flight controller.

Have you considered using a Thruster Commander? It should allow you to control two thrusters using a couple of potentiometers, with minimal fuss, or more thrusters with more commanders.

If using your specified joystick is important then I’d probably go with @john6’s suggestion of using a microcontroller to convert the joystick values into ESC control signals.

Hi John

Thanks for you response. I hadn’t considered an Arduino and had shied away from the idea of programming something but it might be a necessary step. I had thought, as a result of reading older forum posts here that this might have been what I needed. BU0836X 12-Bit Joystick Board [BU0836X] - 49.99GBP : Leo Bodnar, Simulator Electronics
What do you think is the better track to go down?

Hi Eliot
I had considered the thruster commanders but the particular system I am trying to develop requires that someone underwater, likely with thick gloves on, is having to control the thrusters and waterproofed joysticks seems like the best option. I had thought this might be the best way of getting the joysticks to work somehow with the Navigator . BU0836X 12-Bit Joystick Board [BU0836X] - 49.99GBP : Leo Bodnar, Simulator Electronics but that is not much more than a stab in the dark at this stage.



Ooh, that’s fascinating :smiley:

Is this for a dive propulsion vehicle of some sort? I’m not sure what else would require active control of multiple thrusters while underwater.

The Navigator does not have a built in means of accepting direct joystick inputs, so some conversion would be required either way, and I expect it’s more likely that conversion will come from writing some code than from getting a pre-made board that does joystick → MAVLink conversion, or that does joystick → servo-style PWMs for directly interfacing with the ESCs.

It’s perhaps worth noting that you could conceivably make a waterproof enclosure around some thruster commanders, ESCs, and a battery, and have the potentiometer knobs attached to some magnets that you can then rotate from the outside with matching magnets embedded in some captive knobs/handles or something (of whatever design you want - you could even 3D print them).

As I mentioned, it should be possible to use a serial to USB converter to connect your joystick(s) to the Raspberry Pi, in which case you could use some probably quite straightforward code to pass the joystick values on to ArduSub via MAVLink messages.

My concern was more that if your use-case doesn’t require the sensors and control system aspects of a Navigator stack then it seems like an unnecessarily expensive way of controlling your thrusters. If those features are valuable to your application then it can definitely be made to work, I just don’t want to recommend it if it’s not actually a very good solution to your problem :slight_smile:

If you just want direct operation of the thruster from the joysticks you have with no navigation stuff then an Arduino (or suitable other MCU) would be the simplest way to go IMO. A few lines of code would get this going with an Arduino using the <Servo.h> library.

Thanks for that John. There are aspects of the overall functionality of the Navigator that I am probably going to want later if the initial prototype works so I am probably better off long term in making a system right from the start that recognizes that.
As Eliot has correctly deduced, it is a dive propulsion vehicle of some sort but I would like it to have all the thruster control and capacity for DVL integration that an ROV has so it looks like I will be getting somebody to help me code.

@johng As a note on this, ArduPilot’s Developer Code of Conduct specifies that:

Accordingly, if you want to use Navigator for a dive propulsion vehicle you’ll need to do so without using ArduPilot software (including ArduSub), and any help from Blue Robotics employees would need to be limited to how Navigator’s sensors and PWM driver could be programmed and used directly (without ArduSub, and likely without reference to the ArduPilot codebase).

Hi Eliot

Thanks for the info on that. I was unaware of that being the case so will put that particular project on the back burner.