# Change low level (MC attitude) controller

**URL:** <https://discuss.px4.io/t/change-low-level-mc-attitude-controller/12993>\
**Category:** PX4 Autopilot\
**Created:** [September 18, 2019, 2:44pm UTC](https://discuss.px4.io/t/change-low-level-mc-attitude-controller/12993 "2019-09-18T14:44:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jocacace](https://discuss.px4.io/letter_avatar_proxy/v4/letter/j/bbe5ce/32.png) [@jocacace](https://discuss.px4.io/u/jocacace)\
**Post date:** [September 18, 2019, 2:44pm UTC](https://discuss.px4.io/t/change-low-level-mc-attitude-controller/12993/1 "2019-09-18T14:44:29Z")

</div>

Hi to all!

I am wandering if a suggested method exists to replace the low-level controller of the multicopter. I need to change it because I need to test other controller for research purpose. I know that is not suggested to change it, but I will fly only indoor in a safety flight area. In particular, I want to directly control the motors of my UAV (avoiding to use the mixer of the PX4).

My problem right now concerns how to choose the “alternative” low level controller (by default seems that the px4 code runs the mc\_attitud\_contol).

Thank you,

---

<div class="post-metadata">

**Author:** ![CornerOfSkyline](https://discuss.px4.io/user_avatar/discuss.px4.io/cornerofskyline/32/4158_2.png) [@CornerOfSkyline](https://discuss.px4.io/u/CornerOfSkyline)\
**Post date:** [September 19, 2019, 7:20am UTC](https://discuss.px4.io/t/change-low-level-mc-attitude-controller/12993/2 "2019-09-19T07:20:35Z")

</div>

You need to know how to use the uorb topics, and you need to know what’s the topics mixer advertise, then you can control the motor directly!

---

<div class="post-metadata">

**Author:** ![dlwalter](https://discuss.px4.io/user_avatar/discuss.px4.io/dlwalter/32/3011_2.png) [@dlwalter](https://discuss.px4.io/u/dlwalter)\
**Post date:** [October 23, 2019, 9:59pm UTC](https://discuss.px4.io/t/change-low-level-mc-attitude-controller/12993/3 "2019-10-23T21:59:02Z")

</div>

If you dig into the ROMFS/px4fmu\_common/init.d folder you will see the startup scripts for the different aircraft types, with the rc.\* names.

Looks at rc.mc\_apps to see where the mc\_att\_control gets started.

Look in rcS to trace where rc.mc\_apps gets called. You could change this to call rc.my\_mc\_apps which would start your custom attitude controller.
