This tutorial demonstrates how to build a Linux drone with the Raspberry Pi Zero. The drone uses a real-time capable Linux kernel, a Debian-based file system and Dronecode’s APM flight stack compiled for the PXFmini autopilot board. All these components have been put together by Erle Robotics in their OS image for the PXFmini.
Erle-Rover built with the elements described below. You’ll have to connect these components to compatible autopilots to put into operation:
Step 1: Get Ready the Autopilot
Required time 30 min
Connect the PXFmini shield on top of the Raspberry Pi Zero as described in the following content:
You’re almost done but you still need to get the right software on the Raspberry Pi Zero+PXFmini set. This should include the flight stack, an appropriate kernel, enabled daemons that auto-launch on boot, and additional goodies.
Fortunately, if you purchased the PXFmini from Erle Robotics you’ll get access to their Debian images which include all this so just fetch a PXFmini compatible Debian image and flash it into a microSD card.
Step 2: Mount the Autopilot
Required 30 min
Mounting the autopilot (Raspberry Pi Zero + PXFmini) in the drone can be done using several methods. Pick yours and connect the JST GH cable from the power module to the PXFmini. This will to power the autopilot when the battery gets connected.
Next is mounting the PWM channels in the autopilot. Get your ESC cables and connect the servomotor 1 (corresponding with the steering) to PWM channel 1, ESC 2 to PWM 2 corresponding with the throttle.
Finally, you’ll need a way to control your drone. I propose two methods:
- WiFi + gamepad: Have the autopilot create its own WiFi network with a USB dongle (Erle Robotics images support this by default) and use a common gamepath to control the drone through a Ground Control Station.
- WiFi + ROS: Do you happen to know about the Robot Operating System(ROS)? You can use a ROS node to visualize the flight mode, state and control the drone.
- Traditional RC: Alternatively you could buy an RC controller with PPMSUM-enabled receiver and attach it to the autopilot (to the PPM-SUM input channel).
If you want to create a flying vehicle check out this tutorial
For more detail: Pi0Rover: A Smart Rover with the Pi Zero