# Using buttons for thruster

**URL:** <https://discuss.bluerobotics.com/t/using-buttons-for-thruster/16587>\
**Category:** General Discussion\
**Tags:** ardusub, thruster\
**Created:** [April 10, 2024, 12:54pm UTC](https://discuss.bluerobotics.com/t/using-buttons-for-thruster/16587 "2024-04-10T12:54:10Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Erlingns95](https://avatars.discourse-cdn.com/v4/letter/e/f04885/32.png) [@Erlingns95](https://discuss.bluerobotics.com/u/Erlingns95)\
**Post date:** [April 10, 2024, 12:54pm UTC](https://discuss.bluerobotics.com/t/using-buttons-for-thruster/16587/1 "2024-04-10T12:54:10Z")

</div>

Hi!

I´m using:  
Custom built BlueROV1  
Xbox wireless controller  
QGroundControl / BlueOS  
Default BlueROV1 firmware

I´m wondering if it’s possible to use buttons on my wireless controller to start and stop one single thruster.

When I point my joystick straight ahead, my AUV goes straight. If I go slightly off center (on the joystick) either way, I activate Thruster 6 (YAW). I guess this is supposed to happen with the default firmware, but it doesn´t suit my AUV, as I don’t use thruster 6 for turning (it´s purpose is secret🤫).Is it possible to stop it from activating when using the joysticks, and only go full power on/off with the press of a button/buttons?

Is it possible using a thruster-commander?  
Would this mean I have to write my own code for it?

Has anyone tried something similar?

---

<div class="post-metadata">

**Author:** ![tony-white](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/tony-white/32/13297_2.png) [@tony-white](https://discuss.bluerobotics.com/u/tony-white)\
**Post date:** [April 10, 2024, 5:42pm UTC](https://discuss.bluerobotics.com/t/using-buttons-for-thruster/16587/2 "2024-04-10T17:42:05Z")

</div>

Hi Erling -  
If your extra thruster is connected to a channel the ROV frame type expects to use for navigation, then actuating it independently will not be possible without considerable modification of the ArduSub firmware.  
If you disconnect that thruster from the control channel, and connect it to an AUX channel, you can set a game controller up to step the thruster through speeds, much like the brightness control of the lights. I did this with a 9th thruster on a Heavy configuration ROV, using it to suck up fish mortalities in an aquaculture net-pen.  
I hope that’s helpful for your cool secret application!

---

<div class="post-metadata">

**Author:** ![SDI](https://avatars.discourse-cdn.com/v4/letter/s/ac8455/32.png) [@SDI](https://discuss.bluerobotics.com/u/SDI)\
**Post date:** [April 10, 2024, 8:56pm UTC](https://discuss.bluerobotics.com/t/using-buttons-for-thruster/16587/3 "2024-04-10T20:56:12Z")

</div>

Did you use this set-up with a pixhawk or with the navigator?

---

<div class="post-metadata">

**Author:** ![tony-white](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/tony-white/32/13297_2.png) [@tony-white](https://discuss.bluerobotics.com/u/tony-white)\
**Post date:** [April 10, 2024, 9:07pm UTC](https://discuss.bluerobotics.com/t/using-buttons-for-thruster/16587/4 "2024-04-10T21:07:46Z")

</div>

@SDI  
I did this with a pixhawk based system at the time, but it should work the same way with the Navigator!

---

<div class="post-metadata">

**Author:** ![Erlingns95](https://avatars.discourse-cdn.com/v4/letter/e/f04885/32.png) [@Erlingns95](https://discuss.bluerobotics.com/u/Erlingns95)\
**Post date:** [April 11, 2024, 4:33pm UTC](https://discuss.bluerobotics.com/t/using-buttons-for-thruster/16587/5 "2024-04-11T16:33:14Z")

</div>

Hi again!

I tried to figure out what you meant, but I don’t fully understand it.  
You say “control channel”, could you specify what that is?  
And also AUX channel, aren’t all of the 3-pin connectors on the navigator AUX channels?

 ![Image 11-04-2024 at 16.10](https://us1.discourse-cdn.com/flex019/uploads/bluerobotics/original/2X/b/b11cd6d1420dfef0903244d6af40a809678b95e4.jpeg)

The thruster is connected through port 6.  
I´ve tried the functions available in the “button assignment” field, and I don´t really understand this either. BlueOS calls these AUX-ports (highlighted in orange) servo1-16. Is this the same “servo” found in the button assignment field on QGC? I’m looking through the list of what functions the buttons are able to preform, but only servo 1-3 shows up. Something like this:

Servo\_1\_min  
Servo\_2\_max  
Servo\_3\_min

Neither of these do anything. Am I in the wrong place?  
Could you describe how you did it a bit more?

---

<div class="post-metadata">

**Author:** ![tony-white](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/tony-white/32/13297_2.png) [@tony-white](https://discuss.bluerobotics.com/u/tony-white)\
**Post date:** [April 11, 2024, 5:12pm UTC](https://discuss.bluerobotics.com/t/using-buttons-for-thruster/16587/6 "2024-04-11T17:12:28Z")

</div>

Hi @Erlingns95 -  
I’ basically suggesting you connect your extra thruster to Servo1, 2 or 3 channel, and map that to your desired controller button. This is identical to the [setup](https://bluerobotics.com/learn/newton-subsea-gripper-installation/#setup-in-qgroundcontrol) of our Newton gripper!

 ![image](https://us1.discourse-cdn.com/flex019/uploads/bluerobotics/original/2X/e/e63609ed6ffe4132a0540f3d43f194790f95dff4.jpeg)  
The AUX channels supported are numbered 9, 10 and 11 on the Navigator.

---

<div class="post-metadata">

**Author:** ![Erlingns95](https://avatars.discourse-cdn.com/v4/letter/e/f04885/32.png) [@Erlingns95](https://discuss.bluerobotics.com/u/Erlingns95)\
**Post date:** [April 11, 2024, 5:28pm UTC](https://discuss.bluerobotics.com/t/using-buttons-for-thruster/16587/7 "2024-04-11T17:28:57Z")

</div>

Does it matter if I use the one called “momentary” ?  
I definitely tried these ones today, and none of them did anything.

 ![Screenshot 2024-04-11 at 19.27.24](https://us1.discourse-cdn.com/flex019/uploads/bluerobotics/original/2X/7/7385721b42697b4d8631e049776eeeb46c94a997.png)

---

<div class="post-metadata">

**Author:** ![tony-white](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/tony-white/32/13297_2.png) [@tony-white](https://discuss.bluerobotics.com/u/tony-white)\
**Post date:** [April 11, 2024, 5:43pm UTC](https://discuss.bluerobotics.com/t/using-buttons-for-thruster/16587/8 "2024-04-11T17:43:21Z")

</div>

Hi @ERL -  
You would likely not want to use the momentary - this send a high or low PWM Signal, and continues sending it. The ESC needs to be initialized with a center signal of 1500us before it would respond to this, so that may be why nothing happened!  
You could either use Max/Min to run the thruster at full power in either direction. Or, the servo#\_inc / servo#\_dec is incremental, so you can step up or down the speed of the thruster with each button push. You would need to step the output signal to the centerpoint before the motor will react - you’ll know you’ve sent the correct signal when the T200 beeps, confirming initialization.
