Before we dive into this comprehensive raspberry pi drone article, I have a mini advertisement for you. If you are interested in building a raspberry pi drone, I would recommend looking into our Drone Dojo Raspberry Pi Drone Kits that we are calling the PiHawk. It’s actually comparable in price to you having to find the 30+ individual parts on your own, and even comes with a video drone building manual.
Raspberry Pi Boards have taken over the DIY tech tinkering world. Think of any word, add the words “raspberry pi” and you’ll likely find a project. Laughably, I just tested this out myself with “raspberry pi cow” and found an article on FitBits for cows. Seriously.
Well, if raspberry pis are infecting even CowTech, you better believe they have taken over the drone world. Before we get into that however, it would be good to understand how raspberry pi drones work.
You see, advanced drones consist of two types of boards: a companion computer and a flight controller.
The flight controller (FC) is the low level device that operates the hardware. It is what allows the drone to self level itself hundreds of times a second. The FC needs to be highly dependable, because if there are any time delays at all the drone will crash.
The companion computer is a little different. This device can essentially run high level scripts and communicate commands to the flight controller.
A little too abstract? Let’s clear that up.
In any raspberry pi drone, the raspberry pi board will be acting as the companion computer. You simply need to connect your flight controller to your raspberry pi companion computer. In a little, I’ll show you examples of how the companion computer can control the drone.
But first, let’s cover what types of flight controllers you can use with a raspberry pi drone.
Stay updated with any future raspberry pi drone projects by signing up below.
Raspberry Pi Connected With The Pixhawk
The pixhawk is a very popular flight controller that has been around for quite some time. What is cool about this is it’s open source hardware, meaning the schematics are free for anyone.
Due to it’s open source nature, it has turned into an extremely dependable board. Just two decades ago, flight controllers and the accompanying firmware would cost thousands to hundreds of thousands of dollars.
Today, you can get one for around $100 dollars.
In this video, I have outlined step by step how to get your raspberry pi communicating with your pixhawk flight controller.
This is by far my favorite method for building a raspberry pi drone.
Next, I’ll show you another popular flight controller you can use on your raspberry pi drone.
Raspberry Pi Connected With The Navio2
The Navio2 is a raspberry pi shield that you can plug into the top of your raspberry pi board. It was created by the company known as Emlid, and was a pioneer in the raspberry pi drone space.
The Navio2 boards are a bit more expensive than the Pixhawk boards, coming in at over $200.
Pixhawk Versus Navio2 Raspberry Pi Drones
While the Navio2 is an interesting concept, in practical terms these drones can be quite buggy. Especially for those wishing to program their raspberry pi drones with autonomous missions.
Oh, and they are twice as expensive as the pixhawk alternative.
If you want to try and build this, be my guest, but it is my advice to stay away from them (speaking from experience).
You’ll end up wasting hours and hours on debugging. The navio2 was my first raspberry pi drone, and I wish I would have started with the Pixhawk instead.
The Pixhawk is much less buggy, and you’ll rarely face hardware level issues on these types of drones. This is type of flight controller we feature in our raspberry pi drone kits.
I know what you may be thinking. I must be talking up the Pixhawk because that is what is in our drone kits. In fact, if the Navio2 boards were better than the Pixhawk, I’d have no problem packaging our raspberry pi drone kits with Navio2 boards instead.
It’s as simple as this. I’ve flown both and know of the severe cons when it comes to the Navio2 boards.
Now that we have more knowledge on how RPI Drones work, lets look into some of the fun things you can do with them!
Raspberry Pi Drone Projects
Interestingly enough, you can fly the drone without a companion computer/raspberry pi drone, and even do basic autonomous missions on a simple Pixhawk drone.
So what’s the point of putting a raspberry pi, like the jetson nano, on your drone? Because it unleashes advanced functionality on your drone.
The following are some examples of missions you can only conduct while having a raspberry pi connected.
Autonomous Mission Scripting With Python Dronekit
Once we have connected the pixhawk with the raspberry pi, we can send flight commands to the flight controller from the raspberry pi.
It’s like this. Imagine there is a blind driver at the wheel of the car (the pixhawk), and the raspberry pi is sitting in the backseat. The raspberry pi can say “TURN LEFT” and the pixhawk will turn left. Technically, it is the pixhawk that is driving, but the raspberry pi can route commands, and likely has more high level information (eyesight).
One way the raspberry pi can route commands to the flight controller is with python scripting!
There is a library called python dronekit which allows you to write autonomous drone missions, all in python. For example, there is a command to tell the drone to take off into the air, another command to tell it to move to a particular waypoint, and a ton more.
Here is a video of just that. We wrote a python script to fly the drone around in all directions for a few seconds, and then land. Python dronekit missions can get much more advanced than this. This is just serving as a 101 on python controlled drones.
Precision Landing On An Aruco Marker With OpenCV Computer Vision
We cover precision landing in detail here, but essentially there are some drone applications that require the drone to land on a target with extreme accuracy. Think of drone delivery, or landing on an oil rig at sea.
The typical accuracy for typical GPS based landing is +/- 20 feet, which just isn’t good enough for some applications.
Luckily, with a raspberry pi drone, you can get much better results. We’re talking +/- 10 cm. Did I just use feet in one sentence and centimeters in the next? You bet your butt I did.
With a raspberry pi drone, you can attach a camera, write an openCV script to track the distance between the drone and the marker, and use the same python script to send commands to the flight controller to move to minimize the error.
It’s pretty neat stuff. Here is a video of doing just that. Fast forward to around 1:36 if you’re not interested in the computer simulation precision landing.
Drone Delivery With a Raspberry Pi Drone
We all know how cool drone delivery would be, right?! Imagine ordering a tooth brush from the store and getting it in your backyard in 20 minutes. That reality must be way, way in the future though, right? WRONG!
With a simple raspberry pi drone, you can build your own drone delivery machine!
This mission incorporates the precision landing discussed in the last project. You can watch a raspberry pi drone delivering a taco to a waypoint, and flying home in this video.
Other Raspberry Pi Drone Projects
As you can see, the functionality of your drone increases dramatically whenever you attach a raspberry pi to it. Whatever ideas you have in your haed, there is likely a way to get it working with a raspberry pi drone.
Here are some other projects that raspberry pi drones are capable of:
- Object Recognition with TensorFlow
- Drone Fishing
- Drone Surveillance
- Motion Controlled Drone
- 4G LTE Drone for Limitless Range
- Obstacle Avoidance
- A ton more
Raspberry Pi Drone Parts
While we do offer raspberry pi drone kits here at the drone dojo, with free domestic and international shipping, I realize some of you may want to still try and build the drone on your own.
I would stress that the cost is only slightly cheaper (~$50) to build your own drone, and you won’t get the full drone building video manual.
However, I still want to help you out. So here is a list of the parts you’d need to build your own drone.
Required Parts for any Raspberry Pi Drone
- Raspberry Pi 4 Model B (2 GB RAM) or (4 GB RAM)
- ESCs 4 PACK or ESCs 4 PACKMotors 4 PACK
- RC Controller
- Props or Props (any 1045 props will work)
- Battery or Battery
- Battery Charger or Battery Charger
- LiPo Fire-proof Case
- Micro SD Card
- Micro SD to USB
- Battery Connector or Battery Connector
- Velcro Straps
- Scotch Mounting Tape
- Zip Tie
Parts for Navio2 Raspberry Pi Drones
Parts for Pixhawk Raspberry Pi Drones
- Pixhawk Kit (Comes with GPS, telemetry, GPS mount, PPM encoder, Power Module and other things)
- Pixhawk to Raspberry Pi connector
- 11mm Standoffs and Screws
- Platform to seat on top of Raspberry Pi to mount Pixhawk (Link requires a 3D printer. You could get creative with some other sturdy platform if needed)