# Making a custom configuration

**URL:** <https://discuss.bluerobotics.com/t/making-a-custom-configuration/609>\
**Category:** ArduSub\
**Created:** [January 8, 2017, 10:39pm UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609 "2017-01-08T22:39:00Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![jakkala-kalvik](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@jakkala-kalvik](https://discuss.bluerobotics.com/u/jakkala-kalvik)\
**Post date:** [January 8, 2017, 10:39pm UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/1 "2017-01-08T22:39:00Z")

</div>

Hello, I want to create a new configuration for a rov I am planning on building but the Ardusub page has very vague instructions for that. Could someone please explain me in detail how to do this?

---

<div class="post-metadata">

**Author:** ![jwalser](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/jwalser/32/2234_2.png) [@jwalser](https://discuss.bluerobotics.com/u/jwalser)\
**Post date:** [January 9, 2017, 6:29am UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/2 "2017-01-09T06:29:47Z")

</div>

Jakkala,

I have updated the [instructions](http://ardusub.com/developers/#making-a-custom-configuration) on [ardusub.com](http://ardusub.com). Please let me know if you have any questions or suggestions about the updated instructions.

-Jacob

---

<div class="post-metadata">

**Author:** ![jakkala-kalvik](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@jakkala-kalvik](https://discuss.bluerobotics.com/u/jakkala-kalvik)\
**Post date:** [January 9, 2017, 8:31am UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/3 "2017-01-09T08:31:34Z")

</div>

Awesome thanks but I have a few questions.

- Do positive values make the motors suck water from the back and push it out the nose and negative values do the opposite?
- For ROV1's throttle factor why are 3 and 4 set to 0.45 instead of 5?
- For roll factor are we defining how to roll to the right, pitch nose up, yaw turn right, throttle go up and lateral move right?
- If positive values make it go up (throttle factor) for the AS\_MOTORS\_VECTORED\_6DOF\_FRAME why are all the values set to negative values?Same for forward and lateral is it a typo or did I get it all wrong?

---

<div class="post-metadata">

**Author:** ![jwalser](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/jwalser/32/2234_2.png) [@jwalser](https://discuss.bluerobotics.com/u/jwalser)\
**Post date:** [January 9, 2017, 8:42am UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/4 "2017-01-09T08:42:53Z")

</div>

Positive and negative mean that the motor will spin one way or the other, respectively. The 0.45 just worked out better experimentally due to a lot of factors like uneven drag and throttle curves.

---

<div class="post-metadata">

**Author:** ![jakkala-kalvik](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@jakkala-kalvik](https://discuss.bluerobotics.com/u/jakkala-kalvik)\
**Post date:** [January 9, 2017, 8:56am UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/5 "2017-01-09T08:56:48Z")

</div>

So, when you say one way does it mean if 2 motors have a positive value but if they have counter rotating props and if i configure one of them in opposite direction in ardusub they both will push or pull in the same direction right?

---

<div class="post-metadata">

**Author:** ![jwalser](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/jwalser/32/2234_2.png) [@jwalser](https://discuss.bluerobotics.com/u/jwalser)\
**Post date:** [January 10, 2017, 1:31am UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/6 "2017-01-10T01:31:46Z")

</div>

My last response may have been unclear, and somewhat incorrect. Imagine that every single motor is pulling water in through the front of the motor and pushing water out of the rear of the motor, then assign values according to the resulting force components that each motor produces.

The direction of the prop and the actual direction of rotation of the motor has no bearing here. Just the direction that water is moving. If you have two motors facing the same forward direction (Motors 1 and 2 on BROV1 for example) they should both have the same sign for the forward factor, because they both move the vehicle forward when they move water in the same direction. This can be accomplished with or without counter rotating props (but they should be counter rotating), and you may have to change the actual rotation of the motors with the MOTX\_DIRECTION parameters so that everything is spinning the right direction in the end.

-Jacob

---

<div class="post-metadata">

**Author:** ![jakkala-kalvik](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@jakkala-kalvik](https://discuss.bluerobotics.com/u/jakkala-kalvik)\
**Post date:** [January 10, 2017, 5:47am UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/7 "2017-01-10T05:47:24Z")

</div>

Thank-you that was very helpful.

---

<div class="post-metadata">

**Author:** ![andres-rengifo](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@andres-rengifo](https://discuss.bluerobotics.com/u/andres-rengifo)\
**Post date:** [March 8, 2017, 10:38pm UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/8 "2017-03-08T22:38:11Z")

</div>

Hi I’ve created a tool for create a custom configuration easily. Check this

> **[GitHub - andresR8/ArdusubFrameGenerator: A simple desktop app to add custom...](https://github.com/andresR8/ArdusubFrameGenerator)**
>
> A simple desktop app to add custom frames to ArduSub - GitHub - andresR8/ArdusubFrameGenerator: A simple desktop app to add custom frames to ArduSub

Let me know if you can test it and if it’s useful

---

<div class="post-metadata">

**Author:** ![TUrobotics](https://avatars.discourse-cdn.com/v4/letter/t/8edcca/32.png) [@TUrobotics](https://discuss.bluerobotics.com/u/TUrobotics)\
**Post date:** [April 11, 2018, 10:22pm UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/9 "2018-04-11T22:22:10Z")

</div>

Hello Andres,

I know this is an old post, but I am interested in using the frame generator tool you developed for a project I’m working on. I tried to follow the instructions in the README but I’m having some trouble running the app. Could you possibly give me some more detailed instructions on running it?

---

<div class="post-metadata">

**Author:** ![andres-rengifo](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@andres-rengifo](https://discuss.bluerobotics.com/u/andres-rengifo)\
**Post date:** [April 12, 2018, 1:32am UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/10 "2018-04-12T01:32:34Z")

</div>

Hi Isaac, can you open an issue in the repo, describing the specific problem that you are having.  
Regards

---

<div class="post-metadata">

**Author:** ![TUrobotics](https://avatars.discourse-cdn.com/v4/letter/t/8edcca/32.png) [@TUrobotics](https://discuss.bluerobotics.com/u/TUrobotics)\
**Post date:** [April 14, 2018, 7:20pm UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/11 "2018-04-14T19:20:30Z")

</div>

Hi Andres,  
Thank you for responding, but I believe that I’ve solved the problem.

-Isaac

---

<div class="post-metadata">

**Author:** ![Ben](https://avatars.discourse-cdn.com/v4/letter/b/df788c/32.png) [@Ben](https://discuss.bluerobotics.com/u/Ben)\
**Post date:** [April 10, 2019, 5:54pm UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/12 "2019-04-10T17:54:35Z")

</div>

> [@jakkala-kalvik](#):
>
> AS\_MOTORS\_VECTORED\_6DOF\_FRAME

Looks like this link has died. Where can I find instructions for custom frame configurations?

---

<div class="post-metadata">

**Author:** ![Ben](https://avatars.discourse-cdn.com/v4/letter/b/df788c/32.png) [@Ben](https://discuss.bluerobotics.com/u/Ben)\
**Post date:** [April 10, 2019, 8:46pm UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/13 "2019-04-10T20:46:59Z")

</div>

Found it here:  
[https://www.ardusub.com/developers/developers.html](https://www.ardusub.com/developers/developers.html)

---

<div class="post-metadata">

**Author:** ![Akilesh9707](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@Akilesh9707](https://discuss.bluerobotics.com/u/Akilesh9707)\
**Post date:** [September 11, 2019, 9:56am UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/14 "2019-09-11T09:56:47Z")

</div>

Hey I am using the frame generator for designing a custom frame for 3 motors, I am able to successfully generate the frame but when i am trying to upload the frame in the ardusub folder using the command “make px4-v2” i am getting an errorr " no rule to make target px4-v2" COuld you please help me out resolving this . I am currently using pixhawk Px4

---

<div class="post-metadata">

**Author:** ![williangalvani](https://avatars.discourse-cdn.com/v4/letter/w/6f9a4e/32.png) [@williangalvani](https://discuss.bluerobotics.com/u/williangalvani)\
**Post date:** [September 12, 2019, 6:37pm UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/15 "2019-09-12T18:37:24Z")

</div>

Hello,

We just started recommending developers to use sub-3.6 for development. The [build instructions](http://www.ardusub.com/developers/developers.html) have been just updated today.

---

<div class="post-metadata">

**Author:** ![Collie](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@Collie](https://discuss.bluerobotics.com/u/Collie)\
**Post date:** [October 8, 2023, 5:57am UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/16 "2023-10-08T05:57:38Z")

</div>

I have Pixhawk 6X, how do I manually build ardusub binary for it? I didn’t find pre-built binary under ardusub, only under copter. Or is it just not possible/compatible?

```auto
./waf configure --board Pixhawk6X
Setting top to : /Users/username/Documents/git/ardupilot 
Setting out to : /Users/username/Documents/git/ardupilot/build 
Autoconfiguration : enabled 
Setting board to : Pixhawk6X 
Invalid board 'Pixhawk6X': choices are aero, airbotf4, bbbmini, BeastF7, BeastH7, bebop, bhat, blue, crazyflie2, CUAV-Nora, CUAV-X7, CUAV-X7-bdshot, CUAV_GPS, CUAVv5, CUAVv5-bdshot, CUAVv5Nano, CUAVv5Nano-bdshot, CubeBlack, CubeBlack+, CubeBlack-periph, CubeGreen-solo, CubeOrange, CubeOrange-bdshot, CubeOrange-joey, CubeOrange-periph, CubePurple, CubeSolo, CubeYellow, CubeYellow-bdshot, dark, disco, DrotekP3Pro, Durandal, Durandal-bdshot, edge, erleboard, erlebrain2, f103-ADSB, f103-Airspeed, f103-GPS, f103-HWESC, f103-QiotekPeriph, f103-RangeFinder, f103-Trigger, f303-GPS, f303-HWESC, f303-M10025, f303-M10070, f303-MatekGPS, f303-Universal, F35Lightning, f405-MatekGPS, F4BY, FlywooF745, FlywooF745Nano, fmuv2, fmuv3, fmuv3-bdshot, fmuv5, fmuv5-bdshot, FreeflyRTK, G4-ESC, HitecMosaic, HolybroGPS, iomcu, KakuteF4, KakuteF4Mini, KakuteF7, KakuteF7-bdshot, KakuteF7Mini, linux, luminousbee4, luminousbee5, MambaF405v2, MatekF405, MatekF405-bdshot, MatekF405-CAN, MatekF405-STD, MatekF405-Wing, MatekF765-SE, MatekF765-Wing, MatekH743, MatekH743-bdshot, MatekH743-periph, MazzyStarDrone, mindpx-v2, mini-pix, mRoControlZeroClassic, mRoControlZeroF7, mRoControlZeroH7, mRoControlZeroH7-bdshot, mRoControlZeroOEMH7, mRoNexus, mRoPixracerPro, mRoPixracerPro-bdshot, mRoX21, mRoX21-777, navigator, navio, navio2, NucleoH743, obal, ocpoc_zynq, omnibusf4, omnibusf4pro, omnibusf4pro-bdshot, omnibusf4pro-one, omnibusf4v6, OMNIBUSF7V2, OMNIBUSF7V2-bdshot, OmnibusNanoV6, OmnibusNanoV6-bdshot, PH4-mini, Pix32v5, Pixhawk1, Pixhawk1-1M, Pixhawk1-1M-bdshot, Pixhawk4, Pixhawk4-bdshot, Pixracer, Pixracer-bdshot, Pixracer-periph, pocket, pxf, pxfmini, QioTekZealotF427, R9Pilot, revo-mini, revo-mini-bdshot, revo-mini-i2c, revo-mini-i2c-bdshot, rst_zynq, sitl, SITL_arm_linux_gnueabihf, sitl_periph_gps, SITL_static, SITL_x86_64_linux_gnu, skyviper-f412-rev1, skyviper-journey, skyviper-v2450, sparky2, speedybeef4, SuccexF4, TBS-Colibri-F7, vnav, VRBrain-v51, VRBrain-v52, VRBrain-v54, VRCore-v10, VRUBrain-v51, ZubaxGNSS, zynq

```

I tried the official custom firmware builder: [https://custom.ardupilot.org/](https://custom.ardupilot.org/) . This worked.

However, I’m following [Build ArduSub · GitBook](http://www.ardusub.com/developers/developers.html) to make a “Custom Configuration” by modifying “AP\_Motors6DOF.cpp,” does that mean I have to edit the code, then compile locally? The default build doesn’t allow me to edit this. When I run “`./waf configure --board Pixhawk6X`” locally, the board config is not found.

Is it possible to add Pixhawk6X to the official firmware repo for ardusub?

Please kindly advise.

---

<div class="post-metadata">

**Author:** ![EliotBR](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/eliotbr/32/6937_2.png) [@EliotBR](https://discuss.bluerobotics.com/u/EliotBR)\
**Post date:** [October 27, 2023, 2:10pm UTC](https://discuss.bluerobotics.com/t/making-a-custom-configuration/609/17 "2023-10-27T14:10:45Z")

</div>

Hi @Collie, welcome to the forum 🙂

The issue here is most likely that `waf` support for the Pixhawk6X board was added more recently than the point in the codebase ArduSub’s latest release is from.

> [@Collie](#):
>
> how do I manually build ardusub binary for it?  
> …  
> Or is it just not possible/compatible?

It should be possible, but you’ll need to either cherry-pick the relevant waf updates/release back to the branch you’re using, or use a more recent version/branch of the codebase that includes a more recent version of waf.

> [@Collie](#):
>
> Is it possible to add Pixhawk6X to the official firmware repo for ardusub?

It should already be available in the `master` branch, but would need to be back-ported to other `Sub-*` branches and/or tags if we want support for it for earlier releases (and I’m not sure if there are any firmware incompatibilities). I would guess Pixhawk6X support will only be intentionally added for new releases, once ArduSub is brought more in line with the other ArduPilot firmwares.

That said, if you want to backport `waf` support for Pixhawk6X to the `Sub-4.1` branch then you could make a pull request with the relevant changes (after confirming that it works), and I doubt @williangalvani (the main ArduSub maintainer) will object to merging that in 🙂
