Flight controllers use shared timers to generate PWM signals for outputs, where each timer can typically control two outputs, and the Nexus X/XR's helicopter-derived design allows configuration of up to six servo outputs by utilizing multiple timers (Timer 2, 3, and 4) rather than the default three, with INAV software enabling users to map these outputs to specific channels for complex aircraft configurations.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
NEXUS outputs and timers explained for adding more than 3 servosAdded:
Hello and welcome to the video. This is a video going into a little bit of detail about the outputs on the Nexus X in particular, but also the Nexus XR.
Now, I've done a little series on this again linked down below and one of the things that seems to be confusing quite a lot of people is how you can get more than three servos configured in the output. Now, I did talk about this in another video, but as it's confusing so many of you, I thought I would do a video specifically on this.
Go on the bench in a minute and get into a little bit of detail, but the bottom line is is what we're dealing with here is a flight controller originally developed for helicopters with really only helicopter use in mind that's now in a condition that we can actually put INAV 9 in it and we can set it up for things like boats, cars, quads, wings, planes, whatever. However, because of the way that it was designed for use with helicopters, the outputs are a little bit weird and it's very easy to get six PWM outputs for servos, whereas by default it's probably going to be configured by three. If you are setting up INAV on your Nexus X or Nexus XR and you choose when you go through the initial setup a plane with a tail, you'll probably notice that INAV will figure most of this stuff out for you, but I want to go into a little bit more detail because if I'm trying to explain it in the comments without a video to point to is getting a bit tricky. So, for those of you that already got this figured out, brilliant.
For those of you that are not sure about how timers work, why they're important and how they map to outputs, we're going to get in the weeds a little bit. So, onto the bench.
Now, in a normal flight controller, the way it works is that the majority of the outputs on the end of it are going to be designed for either servos or for motors.
And the way it works is that in the actual hardware of the flight controller behind each of these outputs, there is a timer that generates the pulses to the right frequency that can be used to time the signals. Don't worry, this is a bit complicated, but stick with me. So, if you have analog servos running at 50 hertz, then that timer is going to be banging away at a appropriate speed. If then you increase the speed of those connected servos to maybe 100 hertz cuz you're using something like a digital servo, then guess what? It's going to increase the speed of that timer.
Similarly, if you have an output configured for a motor, that's just going to talk regular old PWM, the timer is going to run at one speed. If you then bump it up to something like DSHOT 300, one of the higher digital high performance connections that timer is going to be increased as well. Now, the way it works inside most flight controllers is they don't have one timer for each of the outputs. What they do is they actually have one timer shared between typically two outputs.
And that's why historically, if you've ever watched videos on things like INAV and other stuff, is that the first two outputs are usually reserved for motors and then the third and fourth output are usually where you start to plug in the servos. And that's only because outputs one and two typically share a timer and once a timer has been set up via the software, this is kind of done without your knowledge in the background for the output that you've got connected, you shouldn't mix ESCs and PWM and DSHOT connections all on the same timer. So, if you set up a timer for servo then you plug servos into all the outputs that that timer is slave to.
Similarly, if you set up an output as a motor, then guess what? You are going to then connect your motors to the outputs that are on that timer.
You can have multiple timers doing servos, you can have multiple timers doing motors.
It's all usually taken care of inside the flight controller, but this is where it gets a little bit complicated with the Nexus cuz here we are connected and if I just go into the mixer, what you can see here is that and I love this about INAV, it's actually showing us exactly how the timers are configured.
And we can see here that by default timer, doesn't matter the numbers, it just this is just how it's kind of assigned and how the circuit tree's done, but timer three is running servos one, two and three and those are S1, S2 and S3 on the Nexus. Those are the ones that are typically when it's installed in the helicopter going to be running the swash.
Then we have another one that's here, which is where the motor's connected to.
That timer is set for motors and that's where we're going to plug the ESC into.
That's why I did it in the build that I did with a little wing. And then we have two additional timers. We have one called timer two and timer four. Timer two actually runs the outputs S4, S6 and S7 and actually on the Nexus, that correlates to the tail, RPM and TLM outputs. And the last two, which is run by timer four is actually connecting to the auxiliary and the S-Bus outputs.
So, here what I've done is I've actually we can just tell INAV that which is which. So, let's just kind of force it. You can decide it. If you leave it on auto, INAV will figure it out, but I have seen issues in the past where you have to kind of force it.
So, let's save and reboot. So, now INAV knows that all of the outputs with the exception of the last two ones are going to be used for servos.
Now, the wrinkle with this, of course, and I've mentioned this in other videos is that auxiliary and S-Bus were that normally run by S8, although they could be available for outputs if you turn on UART one, then that is going to take away these two last outputs here and that's going to mean that you can only plug servos into S1, S2, S3 into the tail RPM and TLM, which is these other ones as well.
Hopefully that makes sense. So, for a more complicated plane, I would just set it up like this. That's going to give me six servos that I can plug in using all of those different connections and I've actually told INAV that that's the case.
So, now we can actually add extra things into these additional outputs. So, you can decide which servo you want, you can change the number. I've set up output six, which is the TLM. So, that's servo outputs one, two, three, four, five, six. A little bit complicated cuz we've got the motor in the middle, but you can always just play with this on the bench before you start plugging everything in.
And I've set S7, which is the TLM pin, which is where I've got the servo connected into just to be connected to channel six.
Channel six is just the one I'm using for good old modes. That's typically what I'm using it for.
The other thing you'll have noticed on the bench is that I have the rails powered [clears throat] by a little 5 volt 3 amp BEC.
There needs to be some kind of power coming in here to power the servos.
Normally that would come in via the ESC connection cuz the battery eliminator circuit inside the ESC would actually power the common rails for ground and 5 volts and power everything. If I now flick the switch on the radio for channel six, we can see that that is working. If I want to move that, then I can. I can change that to maybe maybe I want that in channel five instead. Let's click save and reboot. Wouldn't recommend doing this while things are powered, but for purposes of this video, I will.
Going to plug it into the RPM channel now, which is going to be that channel.
And now when I flick the switch it's going to work on that one.
And again, all I've done here is I've just changed the output. So, it can be a little bit complicated, a little bit confusing cuz some of the mapping doesn't quite work, but by setting up timer two and timer three as servos, that gives you S1, S2 and S3 as output, but also then tail, RPM and TLM as connections as well. You could potentially turn on auxiliary for another connection as well if we set up timer four for servos, but six connections is probably going to be enough for most pilots.
Thank you for watching my video. Check out the playlist and adding Painless360 to your search terms will help you find my content. If you haven't done so already, please hit the like and subscribe button. It helps a lot. You can support the time I spent here answering questions and helping others by using the links in the video description.
Related Videos
Beyond Robotics | European Rover Challenge 2026
beyondrobotics
189 views•2026-06-01
Beatbot Sora70: JetPulse Technology and AI obstacle avoidance and navigation!
DroidModderX
26K views•2026-06-02
Tesla FSD 14.3.3 Hits Phoenix Streets - FIRST LOOK
anthonystesla
114 views•2026-05-29
Elon Musk Just Revealed Fremont Line for Optimus Gen 3 Mass Production
TheAINexusOfficial
180 views•2026-05-30
人機一体「零式人機 ver.2」 子ども企画【おもしろ発見!モビリティー】 #乗り物 #automobile #robot #shorts
KyodoNews
1K views•2026-05-28
China’s New Luna AI Robot Looks Shockingly Human...
NextGenHumanoids
850 views•2026-05-28
Reachy Mini: the $300 open source robot you can actually hack — Andres Marafioti, Hugging Face
aiDotEngineer
662 views•2026-05-29
柔軟指×AI画像処理食品の仕分け作業システム!#柔軟指 #ロボット #自動化 #製造業をもっと盛り上げたい
KiQ_Robotics_Corp.
113 views•2026-05-28











