<p>I don't think that will be possible. The protocol for analogue radio was a 20ms packet, consisting of up to 9 pulses and a gap. So there were 10 things in a 20ms packet. The receiver would split each packet into 2ms blocks and send each block to a servo. Any pulse longer than 2ms would overlap the pulse for the next channel.</p>
<p>Obviously with digital radio, it's entirely possible to exceed this limit but I think it's unlikely that there will be an easy, built-in way to do it. Once you've set the end points as high as they'll go, I think that's all you can do.</p>
<p>You could use an Arduino to scale up the pulses you're getting from the receiver to the size you need for the servo. An Arduino Nano is a similar size and price to a servo, and easily able to handle that sort of task.</p>
<p>However I think you'd be better to look at why your servo needs such a long pulse. Presumably it worked OK before you modified it, so it should be able to work from a standard pulse. It's possible that you've damaged it during the modification, or that the resistance of your voltage divider is too different to the original potentiometer, or that you've connected it incorrectly.</p>

CC BY-SA 4.0
2020-08-24T14:57:16.837Z
This is great. Thank you so much! I will look into the resistor value and the Arduino solution.
DragonflyRobotics
CC BY-SA 4.0
2020-08-24T08:11:01.387Z
2020-08-24T08:11:01.387Z
Robin Bennett
<p>I just modified a servo to spin 360 degrees by taking out its potentiometer and replacing it with a voltage divider of roughly the same value. So when I use an Arduino, I have to send a pulse of about 2250 for the servo to be controlled. Anything a 1000 microseconds lower and it will just spin and won't respond and same for over a 1000. So what I want to do is to send a pulse from my Flysky receiver of more than 2000 microseconds. Is it possible and if so, how?</p>
<p>Receiver: FS-ia10b</p>
<p>Transmitter: Flysky FS-i6X</p>

CC BY-SA 4.0
2020-08-22T00:09:12.373Z
You could try changing the endpoints on your transmitter to be larger than -100% to +100%... not sure if that would work though.
ifconfig
CC BY-SA 4.0
2020-08-22T00:10:36.393Z
Wait, what? you have an odd mix of numbers in your question... please clarify what you mean by *"Anything a 1000 microseconds lower and it will just spin and won't respond and same for over a 1000. So what I want to do is to send a pulse from my Flysky receiver of more than 200 microseconds."*
ifconfig
CC BY-SA 4.0
2020-08-22T00:47:40.120Z
I need to make my receiver send more than a 2000 microsecond pulse. My servo works near 2250 microseconds. And yes I tried to change the endpoints.
DragonflyRobotics
CC BY-SA 4.0
2020-08-22T01:19:16.277Z
I assume that means changing the endpoints didn't work? What happened instead?
ifconfig
CC BY-SA 4.0
2020-08-22T14:04:13.530Z
The endpoints didn't work. They didn't push the microseconds far enough.
DragonflyRobotics
CC BY-SA 4.0
2020-08-22T20:33:02.750Z
I'm guessing that by 'spin 360 degrees' you mean continuious rotation, rather than just increasing the amount of rotation - as removing the potentiometer will prevent positiion sensing so it wont stop. Therefore if your R1 = R2, I would have thought the servo should be stationary when the pulse is at mid-range? Then turning one way when under mid-range and the other when over? So the pulse length shouldn't need extending, but you might need to tweak the mid-range trim slightly to find the zero point, to account for tolerance on your resistors. But perhaps I've misunderstood!
Kralc
<servo><digital-servo><flysky><fs-i6x>
Flysky FS-ia10b output more than 2000 microsecond pulse
DragonflyRobotics
# Flysky FS-ia10b output more than 2000 microsecond pulse

(Asked by: username_0 on 2020-08-21)

I just modified a servo to spin 360 degrees by taking out its potentiometer and replacing it with a voltage divider of roughly the same value. So when I use an Arduino, I have to send a pulse of about 2250 for the servo to be controlled. Anything a 1000 microseconds lower and it will just spin and won't respond and same for over a 1000. So what I want to do is to send a pulse from my Flysky receiver of more than 2000 microseconds. Is it possible and if so, how?

Receiver: FS-ia10b

Transmitter: Flysky FS-i6X

**Tags:** servo, digital-servo, flysky, fs-i6x

> **Comments:**
> **username_1**: You could try changing the endpoints on your transmitter to be larger than -100% to +100%... not sure if that would work though.  
> **username_1**: Wait, what? you have an odd mix of numbers in your question... please clarify what you mean by *"Anything a 1000 microseconds lower and it will just spin and won't respond and same for over a 1000. So what I want to do is to send a pulse from my Flysky receiver of more than 200 microseconds."*  
> **username_0**: I need to make my receiver send more than a 2000 microsecond pulse. My servo works near 2250 microseconds. And yes I tried to change the endpoints.  
> **username_1**: I assume that means changing the endpoints didn't work? What happened instead?  
> **username_0**: The endpoints didn't work. They didn't push the microseconds far enough.  
> **username_2**: I'm guessing that by 'spin 360 degrees' you mean continuious rotation, rather than just increasing the amount of rotation - as removing the potentiometer will prevent positiion sensing so it wont stop. Therefore if your R1 = R2, I would have thought the servo should be stationary when the pulse is at mid-range? Then turning one way when under mid-range and the other when over? So the pulse length shouldn't need extending, but you might need to tweak the mid-range trim slightly to find the zero point, to account for tolerance on your resistors. But perhaps I've misunderstood!  

---

## 1 answers

### Answer by username_3 on 2020-08-24. Score: 5 | Accepted answer

I don't think that will be possible. The protocol for analogue radio was a 20ms packet, consisting of up to 9 pulses and a gap. So there were 10 things in a 20ms packet. The receiver would split each packet into 2ms blocks and send each block to a servo. Any pulse longer than 2ms would overlap the pulse for the next channel.

Obviously with digital radio, it's entirely possible to exceed this limit but I think it's unlikely that there will be an easy, built-in way to do it. Once you've set the end points as high as they'll go, I think that's all you can do.

You could use an Arduino to scale up the pulses you're getting from the receiver to the size you need for the servo. An Arduino Nano is a similar size and price to a servo, and easily able to handle that sort of task.

However I think you'd be better to look at why your servo needs such a long pulse. Presumably it worked OK before you modified it, so it should be able to work from a standard pulse. It's possible that you've damaged it during the modification, or that the resistance of your voltage divider is too different to the original potentiometer, or that you've connected it incorrectly.

> **Comments:**
> **username_0**: This is great. Thank you so much! I will look into the resistor value and the Arduino solution.  

---

