A $200 smart Linux drone with the Pi Zero and the PXFmini autopilot shield.

Similar projects worth following
This project builds a Linux drone with the Raspberry Pi Zero using a BOM (Bill of Materials) of less than 200 US$. The drone uses a PREEMPT_RT patched Linux kernel, a Debian-based file system and Dronecode’s APM flight stack compiled for the PXFmini autopilot shield.

  • Drone made with the PXFmini autopilot shield for the Raspberry Pi (available from here).
  • Open schematics
  • APM/ardupilot flight stack compiled for the Pi Zero (sources, instructions)
  • Linux drone using a Debian file system made by Erle Robotics specially for the Pi Zero (available here). Includes a catkin workspace with the Robot Operating System (ROS) Indigo.
  • Docs about the PXFmini

  • 1 × PXFmini autopilot shield A shield to make robots and drones for the Raspberry Pi,
  • 1 × Raspberry Pi Zero The $5 computer!
  • 1 × HobbyKing Spec FPV250 A common quadcopter frame, feel free to pick yours
  • 1 × Erle Robotics PXFmini compatible power module

View all 4 project logs

  • 1
    Step 1

    Step 1: Assemble the drone kit

    Required time: 30 minutes

    Once you get all the components start by assembling your drone:

    • Get the black frame together and place the motors on top.
    • Fix the ESC (Electronic Speed Controllers) to the frame using some tape and connect them to the motors.
    • Put together the power (red) and ground (black) ends of the ESCs into the individualcable (to be connected later to the battery) and fix everything underneath the frame.
    • Adjust the power module connectors to the battery ones. There several ways to do this but here's a quick one: a) cut the connectors and solder battery and power module together (do it one at a time, careful with short circuits!). b) cut the other end of the power module and resolder the battery connector (previously cut) there. c) Done!, this will allow us to easily connect and disconnect the "battery+power module" to the drone.
    • Place the "battery+power module" pack underneath, use the velcro included in the package to do so.

    Step 2: Get the autopilot ready

    Required time: 30 minutes

    Connect the PXFmini shield on top of the Raspberry Pi Zero as described in the following image:

    The PXFmini (stands for PixHawk Fire Cape mini), a 69€ autopilot shield for the Raspberry Pi to build robots and drones.

    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 3: Mount the autopilot

    Required time: 5 minutes

    PXFmini mounted on top of the Raspberry Pi Zero assembled in the drone

    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 ESC 1 (corresponding with motor 1) to PWM channel 1, ESC 2 to PWM 2 and so on.

    Step 4: Mount the propellers and get it flying!

    Required time: 15 minutes

    There's two kinds of propellers clockwise (marked with an "R") and counter-clockwise. Place the clockwise propellers in motor 3 and 4 and the counter-clockwise ones in motors 1 and 2.

    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. Have a look at
    • 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).

View all instructions

Enjoy this project?



abraham.barcena92 wrote 07/15/2020 at 19:13 point

So the links for the website leads to another web, does anyone have the firmware or knows where i can download it ???'

  Are you sure? yes | no

dontPushTheButton wrote 02/10/2021 at 01:56 point

Erle Robotics was acquired by Acutronic Robotics which has since gone under because they couldn't secure financing:,bus%20specifically%20designed%20for%20robots.

I've looked around for some of the downloads, but I haven't been successful.  If I remember right, the purchase of the pxfmini included a proprietary distribution of linux (frambuesa? based on Jessie?) all tweaked to work nicely with the PXFmini.  I can't find it anywhere.  I'd love to be wrong if someone else knows where to look.

  Are you sure? yes | no

lou bachenheimer wrote 05/02/2017 at 15:14 point

Are there any pictures or videos showing how you connect the power module? I'm trying to build this project, but have no idea where to connect the power module to the battery. The 6 pin jst output from the power module plugs into the autopilot shield, but how do I connect the 4 pin battery output to the xt-60 on the power module?


  Are you sure? yes | no

pittemanjason wrote 01/25/2017 at 11:54 point

Really nice project and idea! I'm wondering if you could add extra features to this project such as: make it controllable via smartphone or Playstation/Xbox controller, add camera in front so that you're able to stream video or take pictures (by hitting a certain button on the controller or something),...

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates