What Operating Systems Do Drones Use… And Where Can I Learn More?

I was curious about the operating systems used in drones. Anyone have insights or resources on where I can find more details about them?

Custom build drones use stacks.

Here’s a link: speedy bee f405 v3 at DuckDuckGo

The first thing to learn is the different protocols that the parts of the drone communicate through.

The receiver, transmitter, flight controller, ESC, cameras, GPS, telemetry add-ons, all have their own protocol to talk to each other.

If you’re working with FPV drones, check out this tutorial: FPV Protocols Explained (CRSF, SBUS, DSHOT, ACCST, PPM, PWM and more) - Oscar Liang

Reading all of his tutorials is highly recommended.

All these parts likely have their own operating systems, but you’ll use Betaflight or INAV to program the drone. Those are worth looking up too.

@Landry
How does this compare to deploying a medium complexity Linux instance on the software side?

Sage said:
@Landry
How does this compare to deploying a medium complexity Linux instance on the software side?

It’s pretty much the same. Processes and programs are running in the drone, just like in a Linux setup.

All those chips on the motherboard, which is connected to various devices, is similar to a drone setup.

The main thing with Linux is not being critical to the entire system; it’s more about the actual computer hardware and the communication between different parts.

@Landry
Hmm, it feels like everything’s already automated. I wanted to take on a programming challenge, but it’s less fun when it’s all documented.

Sage said:
@Landry
Hmm, it feels like everything’s already automated. I wanted to take on a programming challenge, but it’s less fun when it’s all documented.

I actually need all the documentation I can get.

@Kim
Don’t get me wrong, I do love documentation. It’s just that I find a challenge more exciting when it’s not already solved or well-known.

Sage said:
@Kim
Don’t get me wrong, I do love documentation. It’s just that I find a challenge more exciting when it’s not already solved or well-known.

You could spend two years learning INAV and building your own drone. That’s a good way to get hands-on knowledge about it.

@Landry
That makes sense. You’d need to code for each sensor and goal. I’m also curious about the stabilization process. Could a GPU help it learn to fly? The issue would be letting it crash a lot to learn.

@Sage
Check out the video I shared earlier. It explains the level of knowledge you’ll need to get things working.

Landry said:
@Sage
Check out the video I shared earlier. It explains the level of knowledge you’ll need to get things working.

Got it.

Landry said:
@Sage
Check out the video I shared earlier. It explains the level of knowledge you’ll need to get things working.

Thanks :blush:

Sage said:
@Landry
Hmm, it feels like everything’s already automated. I wanted to take on a programming challenge, but it’s less fun when it’s all documented.

Here’s a link to a video: https://m.youtube.com/watch?v=-nrQbY8hT-U&pp=ygUXQW5kcmV3IHNldHRpbmcgdXAgaSBuYXY=

Also, can I help with writing INAV?

Here’s the link for INAV: Welcome to the INAV Fixed Wing Group > INAV Fixed Wing Group

@Landry
Why does everyone prefer quadcopters over model airplanes? To me, it feels like airplanes would go further on less energy.

Sage said:
@Landry
Why does everyone prefer quadcopters over model airplanes? To me, it feels like airplanes would go further on less energy.

Quadcopters are more stable and can change direction faster, which might be why they’re preferred.

Sage said:
@Landry
Why does everyone prefer quadcopters over model airplanes? To me, it feels like airplanes would go further on less energy.

Drones are self-flying. If they have optical flow sensors, they can stay in place or stop when you release the controls. They also have lidar sensors to avoid obstacles. RC airplanes don’t have that. They’re always moving forward, whether at 5 mph or 120 mph. It’s a whole different experience.

Sage said:
@Landry
Why does everyone prefer quadcopters over model airplanes? To me, it feels like airplanes would go further on less energy.

That’s true. Small RC planes can get out of sight quickly if you’re not paying attention for even a couple of seconds.

When you mention operating system, I assume you’re referring to the firmware flashed onto the flight controller.

DJI uses a proprietary system, while FPV drones often use Betaflight. INAV is another option for hobbyists building drones and fixed-wing aircraft. Adupilot is used in some commercial UAVs. These firmware options are highly configurable, and configuration is usually done through tools like Betaflight Configurator, INAV Configurator, etc., on a PC.

ESCs (electronic speed controllers) also have firmware. While you can configure them to some extent, they aren’t as configurable as flight controllers. Some ESCs have proprietary firmware, but there are open-source options, such as BLHeli32, BLHeli-S, BlueJay, and AM32. You can also use tools to configure them.

Many radio transmitters (controllers) also run complex firmware. Some brands have proprietary firmware, while many FPV drone pilots use EdgeTx, which is compatible with various radio configurations, from small radios with simple screens to larger ones with touchscreen displays.

There are also many radio protocols, but they aren’t operating systems or firmware.

The drones in this forum often use proprietary operating systems with limited public info on how they work.

FPV drones generally use open-source firmware, like Betaflight for the flight controller, BLHELI for the ESCs, and ELRS for the receiver.

During my research, I came across FreeRTOS, PX4, and similar options. Thanks for your help. I’ll check out the resources you shared.