<p>What you're looking for is Betaflight servo control. It's a bit tricky because the pad you use to drive the servo signal has to have it's own timer. The LED control function requires a timer, so using the LED pad is typically the most reliable method, but you can check the betaflight resource information to find other pads that have a timer available.</p>

<p>Beyond that you'll need to <a href="https://github.com/betaflight/betaflight/wiki/Betaflight-resource-remapping" rel="nofollow noreferrer">remap the pin resource</a> via the "resource" command in CLI from whatever function you're stealing it from to a SERVO resource (starting with 1 and moving up if you have additional servos). You'll need a pad with a dedicated timer for each servo, though, so keep that in mind.</p>

<p>Once that is done, enable expert mode in betaflight and go to the Servo tab. There you can assign the servo to the correct transmitter channel.</p>

<p>For a full walkthrough, check out <a href="https://www.youtube.com/watch?v=jiD6aC0l1VQ" rel="nofollow noreferrer">Bardwell's video on servo setup in Betaflight here</a>. For more details, check out the <a href="https://github.com/betaflight/betaflight/wiki/Servos-&amp;-SERVO_TILT-for-3.1" rel="nofollow noreferrer">Betaflight Wiki here</a>.</p>

CC BY-SA 4.0
2020-04-15T17:24:44.320Z
Excellent answer, thank you very much!
Drones and Whatnot
CC BY-SA 4.0
2020-04-15T17:21:44.000Z
2020-04-15T17:44:26.813Z
2020-04-15T17:44:26.813Z
QuadMcFly
<p>There are multiple ways to enable servos in BetaFlight, but since you need only one servo it is <a href="https://github.com/betaflight/betaflight/wiki/CHANNEL_FORWARDING-for-3.1" rel="noreferrer">recommended</a> to use <code>SERVO_TILT</code>.</p>

<hr>

<p>For servo to work you need a free pin on your board and this pin <em><a href="https://github.com/betaflight/betaflight/wiki/Servos-&amp;-SERVO_TILT-for-3.1" rel="noreferrer">must</a></em> have timer function.</p>

<ul>
<li><p>Go to <strong>Configuration</strong> tab in Betaflight Configurator and enable <code>SERVO_TILT</code> and hit "Save and Reboot"
<a href="https://i.sstatic.net/xedMa.png" rel="noreferrer"><img src="https://i.sstatic.net/xedMa.png" alt="enter image description here"></a></p></li>
<li><p>Then setup the switch you want to use on your transmitter and in Betaflight. Let's say it was <em>AUX4</em>. Make sure it shows in the <strong>Receiver</strong> tab and that the signal is received.</p></li>
<li><p>Then go to the <strong>CLI</strong> tab and type <code>resource</code> (<code>resource list</code> for older BF) and hit Enter.
What you're looking for is resources with <code>MOTOR</code> or <code>PWM</code> function. For example on my board there are 6 <code>MOTOR</code> outputs. I assume you fly 4-motors copter and you also have some spare <code>MOTOR</code> pads.<br>
You need to remember the MCU pin and MOTOR number and of an output you want to use (<code>C09</code> and <code>MOTOR 5</code> for me).<br>
<a href="https://i.sstatic.net/wNhWr.png" rel="noreferrer"><img src="https://i.sstatic.net/wNhWr.png" alt="enter image description here"></a></p></li>
<li><p>Then you need to type:<br>
<code>resource MOTOR 5 NONE</code><br>
<code>resource SERVO 1 C09</code><br>
<code>save</code><br>
<strong>Use your own MOTOR and MCU pin number instead of 5 and C09!</strong><br>
This will remap MOTOR5 pad to be able to work with PWM Servos.<br>
Servos numbering in <strong>CLI</strong> starts from <em>1</em>  </p></li>
<li><p>After reboot you can go to the <strong>CLI</strong> tab and type <code>resource</code> again to make sure everything worked as expected.<br>
<a href="https://i.sstatic.net/TuPcU.png" rel="noreferrer"><img src="https://i.sstatic.net/TuPcU.png" alt="enter image description here"></a></p></li>
<li><p>Go to the <strong>Servos</strong> tab in Configurator and hit the checkbox with with your AUX channel on Servo 0 row (AUX4 for me).  If you can't see the servos tab check "Enable Expert Mode" on the top right.
<em>Save</em>.<br>
Servo numbering on the <strong>Servos</strong> page starts from <em>0</em>. So <code>Servo 1</code> from <strong>CLI</strong> tab is <code>Servo 0</code> here.  </p></li>
</ul>

<p><a href="https://i.sstatic.net/TblVU.png" rel="noreferrer"><img src="https://i.sstatic.net/TblVU.png" alt="enter image description here"></a></p>

<ul>
<li>You can now power on transmitter and enable the <em>live mode</em> on the <strong>Servos</strong> tab.</li>
<li><p>Go to the <strong>Motors</strong> tab (<strong>remove props if you have LiPo connected!</strong>). There are servos output there.<br>
If you switch the switch you set to AUX channel you should see Servo 1 output to change the value.<br>
<a href="https://i.sstatic.net/LYW8t.png" rel="noreferrer"><img src="https://i.sstatic.net/LYW8t.png" alt="enter image description here"></a>
<a href="https://i.sstatic.net/Z2T5i.png" rel="noreferrer"><img src="https://i.sstatic.net/Z2T5i.png" alt="enter image description here"></a></p></li>
<li><p>Now you've remapped MOTOR 5 pad to act as a servo output. You can connect your servo's signal wire to it and find any spare +5V and ground pads for it.</p></li>
<li><p>If the servo moves automatically as the quadcopter moves check that the CAMSTAB mode is disabled. The screenshot below shows it active, which you won't want if trying to manually control the servo. <a href="https://i.sstatic.net/xeBlc.png" rel="noreferrer"><img src="https://i.sstatic.net/xeBlc.png" alt="CAMSTAB enabled"></a></p></li>
</ul>

<hr>

<p>If you don't have any spare MOTOR or PWM pad you can remap <code>LED_STRIP 1</code> resource if you're not using it for LED.
Here's the guide how you can do this: <a href="https://youtu.be/jiD6aC0l1VQ" rel="noreferrer">https://youtu.be/jiD6aC0l1VQ</a></p>

<p>If you need more than 2 servos to control check <strong>Sources</strong> for how to use <code>Channel Forwarding</code> instead.</p>

<p>Sources:<br>
1: <a href="https://github.com/betaflight/betaflight/wiki/Servos-&amp;-SERVO_TILT-for-3.1" rel="noreferrer">https://github.com/betaflight/betaflight/wiki/Servos-&amp;-SERVO_TILT-for-3.1</a><br>
2: <a href="https://github.com/betaflight/betaflight/wiki/CHANNEL_FORWARDING-for-3.1" rel="noreferrer">https://github.com/betaflight/betaflight/wiki/CHANNEL_FORWARDING-for-3.1</a><br>
3: <a href="https://youtu.be/jiD6aC0l1VQ" rel="noreferrer">https://youtu.be/jiD6aC0l1VQ</a><br>
4: <a href="https://youtu.be/cHi1fKP1LRI" rel="noreferrer">https://youtu.be/cHi1fKP1LRI</a><br>
5: <a href="https://oscarliang.com/betaflight-resource-remapping/" rel="noreferrer">https://oscarliang.com/betaflight-resource-remapping/</a>  </p>

CC BY-SA 4.0
2020-04-27T03:41:49.587Z
I've just gone through this method and ran into a problem. The servo is moving based on the angle of the quadcopter. E.g. as the quad tilts forward the servo moves. I think my issue was that the CAMSTAB was set to full range under Modes, which enabled it.
Daniel Ballinger
CC BY-SA 4.0
2020-04-27T07:08:33.720Z
@DanielBallinger thanks for the edit! I didn't know that myself! :)
Nikita Pedorich
CC BY-SA 4.0
2022-03-13T18:31:38.083Z
Thanks for the detailed help. I have a question (i'm not familiar with betaflight): once it is done, how to connect this pin that acts on the servo to the user's  app (or other means of piloting the drone)?
totalMongot
CC BY-SA 4.0
2020-04-15T17:49:34.787Z
This is an excellent and well explained answer, thank you very much!
Drones and Whatnot
CC BY-SA 4.0
2020-04-15T17:51:05.573Z
Nicely done! You put a lot of detail into this!
QuadMcFly
CC BY-SA 4.0
2020-04-15T17:44:45.290Z
2020-04-27T04:37:24.817Z
2020-04-27T04:37:24.817Z
Nikita Pedorich
<p>I’m looking to make a drone capable of deploying a parachute, so I need a servo release mechanism.</p>

<p>How can I configure a servo and map it to a switch in Betaflight?</p>

<p>Thanks.</p>

CC BY-SA 4.0
2020-04-15T18:33:39.430Z
This seems like a generic question which should be answered on Beta flight's forum.
Kenn Sebesta
CC BY-SA 4.0
2020-04-15T18:36:06.020Z
@KennSebesta thank you for your input, but part of the point of the beta is to populate the Stack Exchange with questions prior to public release, so any technical questions that can be answered here are, in my opinion, okay. I do agree that another good place would be the Betaflight Forum, but it’s always good to have multiple sources of information:)
Drones and Whatnot
CC BY-SA 4.0
2020-04-15T18:45:55.390Z
I agree with the notion to populate, but not with the subject matter. From the SE email announcing the beta: "The first questions set the tone for the site. If you ask high quality, expert-level questions, you'll build a site that attracts the experts and pros who will make it really successful. But if you ask beginner questions, survey questions, or social-conversation questions, experts and pros will not be interested."
Kenn Sebesta
CC BY-SA 4.0
2020-04-15T18:47:39.567Z
@KennSebesta fair enough, in my opinion this wasn’t a beginner question as it isn’t within the scope of what is usually done in Betaflight, but I appreciate where you’re coming from and I’m happy to agree to disagree
Drones and Whatnot
CC BY-SA 4.0
2020-04-15T18:52:33.020Z
I'd +1 you if SE supported that! This is about voting to establish the direction for the site, not about saying that a question is "good" or "bad". I personally find that this question is overly specific and so it doesn't contribute to the general body of knowledge I'd like to see on SE.Drones. I fully respect that others will see it differently and it's the consensus which wins out.
Kenn Sebesta
CC BY-SA 4.0
2020-04-15T20:34:27.063Z
@KennSebesta I agree - it’s important to establish a posting culture before the SE goes public!
Drones and Whatnot
<betaflight><hardware><accessories>
How can I configure a servo in Betaflight?
Drones and Whatnot
# How can I configure a servo in Betaflight?

(Asked by: username_0 on 2020-04-15)

I’m looking to make a drone capable of deploying a parachute, so I need a servo release mechanism.

How can I configure a servo and map it to a switch in Betaflight?

Thanks.

**Tags:** betaflight, hardware, accessories

> **Comments:**
> **username_1**: This seems like a generic question which should be answered on Beta flight's forum.  
> **username_0**: @KennSebesta thank you for your input, but part of the point of the beta is to populate the Stack Exchange with questions prior to public release, so any technical questions that can be answered here are, in my opinion, okay. I do agree that another good place would be the Betaflight Forum, but it’s always good to have multiple sources of information:)  
> **username_1**: I agree with the notion to populate, but not with the subject matter. From the SE email announcing the beta: "The first questions set the tone for the site. If you ask high quality, expert-level questions, you'll build a site that attracts the experts and pros who will make it really successful. But if you ask beginner questions, survey questions, or social-conversation questions, experts and pros will not be interested."  
> **username_0**: @KennSebesta fair enough, in my opinion this wasn’t a beginner question as it isn’t within the scope of what is usually done in Betaflight, but I appreciate where you’re coming from and I’m happy to agree to disagree  
> **username_1**: I'd +1 you if SE supported that! This is about voting to establish the direction for the site, not about saying that a question is "good" or "bad". I personally find that this question is overly specific and so it doesn't contribute to the general body of knowledge I'd like to see on SE.Drones. I fully respect that others will see it differently and it's the consensus which wins out.  
> **username_0**: @KennSebesta I agree - it’s important to establish a posting culture before the SE goes public!  

---

## 2 answers

### Answer by username_3 on 2020-04-15. Score: 12 | Accepted answer

There are multiple ways to enable servos in BetaFlight, but since you need only one servo it is [recommended](https://github.com/betaflight/betaflight/wiki/CHANNEL_FORWARDING-for-3.1) to use `SERVO_TILT`.

---

For servo to work you need a free pin on your board and this pin *[must](https://github.com/betaflight/betaflight/wiki/Servos-&-SERVO_TILT-for-3.1)* have timer function.

* Go to **Configuration** tab in Betaflight Configurator and enable `SERVO_TILT` and hit "Save and Reboot"
  [![enter image description here](https://i.sstatic.net/xedMa.png)](https://i.sstatic.net/xedMa.png)
* Then setup the switch you want to use on your transmitter and in Betaflight. Let's say it was *AUX4*. Make sure it shows in the **Receiver** tab and that the signal is received.
* Then go to the **CLI** tab and type `resource` (`resource list` for older BF) and hit Enter.
  What you're looking for is resources with `MOTOR` or `PWM` function. For example on my board there are 6 `MOTOR` outputs. I assume you fly 4-motors copter and you also have some spare `MOTOR` pads.  
  You need to remember the MCU pin and MOTOR number and of an output you want to use (`C09` and `MOTOR 5` for me).  
  [![enter image description here](https://i.sstatic.net/wNhWr.png)](https://i.sstatic.net/wNhWr.png)
* Then you need to type:  
  `resource MOTOR 5 NONE`  
  `resource SERVO 1 C09`  
  `save`  
  **Use your own MOTOR and MCU pin number instead of 5 and C09!**  
  This will remap MOTOR5 pad to be able to work with PWM Servos.  
  Servos numbering in **CLI** starts from *1*
* After reboot you can go to the **CLI** tab and type `resource` again to make sure everything worked as expected.  
  [![enter image description here](https://i.sstatic.net/TuPcU.png)](https://i.sstatic.net/TuPcU.png)
* Go to the **Servos** tab in Configurator and hit the checkbox with with your AUX channel on Servo 0 row (AUX4 for me). If you can't see the servos tab check "Enable Expert Mode" on the top right.
  *Save*.  
  Servo numbering on the **Servos** page starts from *0*. So `Servo 1` from **CLI** tab is `Servo 0` here.

[![enter image description here](https://i.sstatic.net/TblVU.png)](https://i.sstatic.net/TblVU.png)

* You can now power on transmitter and enable the *live mode* on the **Servos** tab.
* Go to the **Motors** tab (**remove props if you have LiPo connected!**). There are servos output there.  
  If you switch the switch you set to AUX channel you should see Servo 1 output to change the value.  
  [![enter image description here](https://i.sstatic.net/LYW8t.png)](https://i.sstatic.net/LYW8t.png)
  [![enter image description here](https://i.sstatic.net/Z2T5i.png)](https://i.sstatic.net/Z2T5i.png)
* Now you've remapped MOTOR 5 pad to act as a servo output. You can connect your servo's signal wire to it and find any spare +5V and ground pads for it.
* If the servo moves automatically as the quadcopter moves check that the CAMSTAB mode is disabled. The screenshot below shows it active, which you won't want if trying to manually control the servo. [![CAMSTAB enabled](https://i.sstatic.net/xeBlc.png)](https://i.sstatic.net/xeBlc.png)

---

If you don't have any spare MOTOR or PWM pad you can remap `LED_STRIP 1` resource if you're not using it for LED.
Here's the guide how you can do this: <https://youtu.be/jiD6aC0l1VQ>

If you need more than 2 servos to control check **Sources** for how to use `Channel Forwarding` instead.

Sources:  
1: <https://github.com/betaflight/betaflight/wiki/Servos-&-SERVO_TILT-for-3.1>  
2: <https://github.com/betaflight/betaflight/wiki/CHANNEL_FORWARDING-for-3.1>  
3: <https://youtu.be/jiD6aC0l1VQ>  
4: <https://youtu.be/cHi1fKP1LRI>  
5: <https://oscarliang.com/betaflight-resource-remapping/>

> **Comments:**
> **username_0**: This is an excellent and well explained answer, thank you very much!  
> **username_2**: Nicely done! You put a lot of detail into this!  
> **username_4**: I've just gone through this method and ran into a problem. The servo is moving based on the angle of the quadcopter. E.g. as the quad tilts forward the servo moves. I think my issue was that the CAMSTAB was set to full range under Modes, which enabled it.  
> **username_3**: @DanielBallinger thanks for the edit! I didn't know that myself! :)  
> **username_5**: Thanks for the detailed help. I have a question (i'm not familiar with betaflight): once it is done, how to connect this pin that acts on the servo to the user's  app (or other means of piloting the drone)?  

---

### Answer by username_2 on 2020-04-15. Score: 2

What you're looking for is Betaflight servo control. It's a bit tricky because the pad you use to drive the servo signal has to have it's own timer. The LED control function requires a timer, so using the LED pad is typically the most reliable method, but you can check the betaflight resource information to find other pads that have a timer available.

Beyond that you'll need to [remap the pin resource](https://github.com/betaflight/betaflight/wiki/Betaflight-resource-remapping) via the "resource" command in CLI from whatever function you're stealing it from to a SERVO resource (starting with 1 and moving up if you have additional servos). You'll need a pad with a dedicated timer for each servo, though, so keep that in mind.

Once that is done, enable expert mode in betaflight and go to the Servo tab. There you can assign the servo to the correct transmitter channel.

For a full walkthrough, check out [Bardwell's video on servo setup in Betaflight here](https://www.youtube.com/watch?v=jiD6aC0l1VQ). For more details, check out the [Betaflight Wiki here](https://github.com/betaflight/betaflight/wiki/Servos-&-SERVO_TILT-for-3.1).

> **Comments:**
> **username_0**: Excellent answer, thank you very much!  

---

