Skip to content

Curated list of free software and hardware to build remote controlled copters and planes

License

Notifications You must be signed in to change notification settings

Matthias84/awesome-flying-fpv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 

Repository files navigation

Awesome Flying FPV Awesome

This is a list of Free Software and Open Hardware dedicated for multicopters as well as airplanes or flying wings. We list esp. established projects with a active community and also some classics that might be legacy but important projects with a lot of mods.

We hope to give you some orientation where to start and present you the full spectrum of open source development on the world of UAVs.

Warning You as creator, mechanic, spotter and pilot are responsible for your drone and doing. It is on you to avoid damages and not to hurt any person or animal. You are also responsible to match the local regulations of your country and to know where and how to fly with a minimum risk to others and yourself. Please respect good airmanship.

Warning In past and recent wars and military conflicts, parties make use of UAVs and sometimes DIY aircraft to spot and attack opponents. My intention on this technology is in opposite a peaceful research and learning on tech and nature, not on killing people! stopkillerrobots.org

Contents

Airframes

The body of a UAV depends on the kind of aircraft and is optimized for it's usecase. Is it high speed for racing, improved agility for acrobatic freestyle, a heavy lifter for filming , long distance observations, ... . This requirements result in different mechanics and materials and take DIY aspect into account.

You will find also a lot of spare parts or mods / extensions to commercial vehicles, which we don't list up here!

Note Building a UAV from scratch is a pretty challenging task for a beginner, esp. if you have limited amount of time. So it might be wise, to try existing solutions or kits before, so you don't get stuck to early and have a handy manual. Later on, you can try different mods or start with custom builds, if you have gained more experience and know how to avoid common pitfalls. See also: My Raspberry Pi drone: the story so far by Matchstic.

Multicopters 🚁

Copters are built using different materials from alu / carbon profiles to CNC cuts to full 3D printed cases and have different configurations for different number of rotors (bi... octo):

Fixed Wing / Planes 🛩️

Traditional RC airplanes are created using balsa wood and foil covered rips for the wings. Commercial models make often use of foam, that you can also cut by CNC and lasers to create wing profiles. Also fully 3D printed planes are possible, that you glue and strength with carbon roods. There is also a growing community for (commercial) 3D printed models like Craycle Hobby, Eclipson airplanes,3D lab print, Plane Print , OWLplane or rc-jetprint.de using lightweight PLA to save weight.

VTOLs 🚀

Vertical take-off and landing are air vehicles that transform from copter to a gliding wing, making it very easy to start/land but require a more complex mechanic and become a tip heavier than fixed wings.

Batteries & Power Control 🔋

Commercial LiPo battery packs are common in RC, but can be replaced with custom 18650 based Liion packs. The onboard power bus drives the ESC and FC directly, which offer 5V outputs to supply onboard units.

Motor Control ⚙️

Usually brushless DC motors (BLDC) are used for their power and precision. They require Electronic Speed Controller (ESC) per motor.

  • BLheli_S - Popular Firmware for ESCs with fine-grained control.
  • BlueJay - BLheli fork, Digital ESC firmware for controlling brushless motors. More features like custom melodies. Since 2020.
  • AM32-MultiRotor-ESC-FW - DSHOT, telemetry, 2024
  • MESC FOC ESC - Open Hardware and Firmware for STM32 basrd ESC.
  • ESC Configurator - Web app to setup your BLHeli / Bluejay ESC.
  • PIDtoolbox - tuning your PID settings for max. performance of your specific modell.

Flight Control 👨‍✈️

Modern autopilot software require STM32 based boards with F4/F7 chip generation and usually no longer support legacy boards like NAZE32, CC3D, ArduPilot, etc. Most projects are base on Baseflight / Cleanflight firmware and Desktop Configurator.

  • INAV - Focus on GPS based flight planning / autonomous flights for wings and copters.
  • betaflight - Focus on racing and agility for wings and copters.
  • EmuFlight - Focus on modern algorithms.
  • dRonin - Supporting Openpilot and other target boards.
  • Ardupilot - Full ecosystem including professional / research use for wings and copters and even land or water vehicles. A lot of information, experiences and possibilities, but also more complex than INAV.
  • dRehmflight - Dedicated to VTOLs and it's transformation during flight process, Teensy Boards only.
  • Rotorflight - Firmware for traditional single-rotor helicopters.
  • HPR-Rocket-Flight-Computer - High speed rockets firmware
  • CleanFlight - Legacy fork of baseflight , stall.
  • BaseFlight - Legacy and oldest FW of the days of Wii gyro hacks and 8bit, stall.
  • QUICKSILVER firmware - ?.
  • Paparazzi UAV - ?.
  • LibrePilot - Stall since 2018.
  • madflight - For Arduino based target boards, different sensors supported, 2024
  • The Cube Autopilot - FC hardware like the Pixhawk 2,
  • Risc V Powering a 3D Printed Drone - RISCV cpu experiments on DIY quadcopter.

RC Transmitters & Handcontroller 🎮

Radio control transmitters (RC TX, your side) support extension bays with the JR / JR lite formfactor and serial interfaces to adapt to different radio protocols. See also Ground station. Most receivers (RX, drone side) support standard serial protocols like Crossfire (CSRF) to talk with the FC.

Modules 🧩

Hardware and firmware to establish custom radio links. Nowadays usually a bidirectional link, so pure TX / RX side.

  • Multi Module - Supports different protocols like FrSky, FlySky, Walkera, Futaba, ... .
  • ExpressLRS - ELRS for long range or better latency. support. flashing some existing hardware, but also provide commercial modules for 868/915 MHz or 2.4 / 5.8 GHz.
  • mLRS - Mavlink compatible LRS.
  • openLRSng - Next generation of OpenLRS, stall since 2018.
  • Raven LRS - Lora based, 2019.
  • OpenSky - Alternative firmware for FrSky modules, 2016.
  • DeviationTX - Alternative firmware for Walkera, 2016.

VTX 📺

Videotransmitter (VTX) are analog or digital radio transmitter on your drone, which send usually a videostream of your front camera (first person view - FPV) but can also transmit arbitrary information or establish a somewhat regular bidirectional link between the drone and a groundstation which also offers control uplink etc. See also Ground station.

  • OpenHD - Use 2.4 / 5.8 GHz wifi hardware and SBCs on air and groundside to provide a video and telemetry downlink and an optional control uplink. Try to develop a more efficient dedicated hardware board. Compare different open digital links.
  • RubyFPV - Use 2.4 / 5.8 GHz wifi hardware and RPIs to provide a video and telemetry downlink and an optional control uplink. No source provided but plugin system.
  • Wifibroadcast NG - Use 2.4 / 5.8 GHz wifi hardware and RPIs to provide a video and telemetry downlink.
  • wfb-ng on OpenIPC - Wifibroadcast NG on OpenIPC compatible CCTV modules, capable of 120fps or 4k video feeds with telemetry
  • DroneBridge - Use 2.4 GHz wifi hardware and RPIs, ESP32 and Android App for bidirectional link, Comparison to the other protocols here.
  • EZ Wifibroadcast - Oldest and first wifi based VTX setup.
  • wtfos - Rooting and mod DJI FPV sender and receiver.
  • DigiView-SBC - Receive DJI HD signal, alpha 2021.
  • OpenVTx - Free firmware for open hardware anlog VTX.
  • VTX Power Measure - Python scripting the Immersion RF-Meter V2.

Camera & Gimbals 🎥

Cameras feed the onboard videotransmitter for downlink or record as DVR with higher quality. See also VTX for custom systems which allow you different camera setups.

GPS 🛰️

Global Navigation Systems like GPS allow to determine the current position of your drone. Consumer GPS modules are cheap, but some can be tweaked to gain better accuracy on postprcessing or live.

  • GNSS SDR - Software toolchain to process radio signals of GPS, Baidu, GLONASS that are received by SDR hardware radio backends.
  • rtklib - Software toolchain to increase precision of GNSS signals by applying realtime or post-processing to eliminate interferences. Signals recorded by SDR or some commercial GPS modules.
  • Vicon MavLink - Get indoor positioning via commercial optical systems for a whole drone swarm.

Sensors 🌡️

A drone uses more sensors like compass, barometer, airspeed or current to increase position estimation, or to show the system performance

See Ardupilot - Optional hardware for more ideas.

Video Receivers 📶

Googles have modul bays to support different radio protocols or HDMI input. See also VTX for custom systems which allow you different camera setups.

Antennas and Trackers 📡

Transceiver as well as receivers can be tweaked with custom antenna configurations and tracker can support directional antennas. They use multiple receivers and diversity, or telemetry to point to your drone. This is more professional equipment to do beyond VLOS flights and not needed for novice pilots. There are also approaches to use 4G for video and control link for extra extend.

Telemetry & Logs 📊

Sensor values and control information are shared via common serial protocols which can be recorded onboard (blackbox) on internal SD cards at FC, or transferred to your TX handset or Groundstation. Useful to find lost drones, as well as debug and tune PID and flight behavior

  • MAVlink - Modern extensible protocol from hobbiests ... commercial UAV.
  • Cyphal - Fka. UAVCAN industrial only drone bus system.
  • YAMSPy - Read MSP serial protocol with Python.
  • LuaTelemetry - OpenTX / EdgeTX script that renders live cockpit and map from telemetry datastream.
  • betaflight-tx-lua-scripts - Script to show telemetry and control e.g. CAM, VTX settings.
  • otxtelemetry - OpenTX / EdgeTX script to add Mavlink support.
  • INAV blackbox viewer - Render sensor / motor values as video overlay OSD.
  • INAV blackbox tools - Convert to CSV timeseries files or as visual OSD overlay.
  • flightlog2x - Convert blackbox logs of INAV, OpenTX, ... to CSV, GPX, KML and render tracks and trajectory with different performance styles, separate GUI.
  • UAVLogViewer - Web application for Ardupilot logs.
  • OSD-subtitles - Render Blackbox logs to OSD as subtitle for synconous plaback with video file.
  • Dashware - Closed Source OSD rendering for blackbox logs.
  • PID-Analyzer - Read blackbox and tune PID control variables.
  • openXsensor - Convert and alter telemetry protocols.
  • OpenLog - With blackbox firmware for blackbox data recorder (today usually part of main FC).

Mission Control & Basestation 🗺️

Ground Control Stations (GCS) on laptops / tablets allow better overview of flight parameters and position for mission control during long range / time flights. Also see Ardupilot.org - Choosing GCS.

  • mwptools - Waypoint mission planner esp. for INAV including INAV Radar and ADS-B sources.
  • APM Planner 2.0 - Mavlink compatible, with experience from MP and Q Groundcontrol.
  • QGroundControl - Mavlink, Desktop and mobile.
  • MissionPlanner - Waypoint Mission planning esp. for Ardupilot.
  • MAVProxy - Commandline and GUI mission planer and telemetry viewer and processor.
  • BulletGCSS - Uses GSM and MQTT for extra long range links.
  • Dreka GCS - A new GCS (currently limited but more modern look & feel).

Companion Computers & Integration 💻

Your FC is focused on realtime control for maneuvers, while additional computers add ressources for more complex data processing, see also Arudpilot.org - Companion Computers and digital VTX systems above.

  • öchìn CM4 - RPI Compute Module carrier board dedicated for FC
  • APsync - Mavlink focused OS for different SBCs.
  • RPanion - Mavlink focused RPI image.
  • ROS - Robot Operating System, to handle more complex and interactive flights.
  • DroneKit - Multi platform integration ecosystem including Mavlink radio link.

Computer Vision 🤖

CV is on the processing of what you see at the UAV live image or recordings. This is about aerial mapping, or machine learning powered flight planning. See also UAV Mapping Guidelines.

  • OpenDroneMap - Stitch photos to aerial imagery, calc 3D models, ... .
  • OpenAerialMap - Share Drone shots for disaster response etc.
  • DroneDB - Store and archive drone shots and aerial imagery.
  • OpenAthena - Auto GCP detection using markers
  • OpenMMS - Mobile mapping system that carries a laser scanner.
  • BANet - ML segmentation of areas for aerial imagery.
  • AVCBet - ML segmentation of areas for aerial imagery.
  • Faster - ML let drones learn to avoid obstacles.
  • Fast-Planner - Learn drones to avoid obstacles on the course.
  • Autonomous Drone Dodges Obstacles Without GPS - RPI based CV and route planning and obstacle avoidance.
  • Drone-net - ML detect quadcopters within photos / videos using YOLO v4.
  • Fire Detection UAV - ML learn drones to spot fire.
  • DroneAid - ML find persons in disaster response by emergency markers.
  • AirPose - ML human pose estimation from drone perspective.

Complete Systems 🎁

Dedicated drones and toolchains to help on a dedicated topic

  • Guiness World record drone build - How a 300mph / 480 km/h quadcopter rocket needs to be designed and build. Similar is the AOSHS5 build (but only 200mph).
  • Arduino FPV Mini Drone - Woodframed mini quad without BLDC and custom RF link around MultiWII
  • SearchWing - A Search and Rescue RC airplane for visual inspection of huge areas on sea to rescue people from refugee boats at the EU sea border. Waterproof to land beside the SAR mothership.
  • Dronecoria - Octocopter made from wood as heavy lift to drop seeds.
  • Agilicious - 3D printed OSHW drone and ecosystem esp. for CV autonomous agile flight research, 2023
  • Crazyflie - A not so FPV drone that uses custom modules and different technology for swarm control.
  • ESP-Drone - ESP32 and PCB only based quadcopter without FPV but custom wifi on brushed
  • ESP32 Drone - no traditional FPV, but low cost quad using ESP32 board, 2022.
  • Wifree-copter - Easy 3D printed copter that uses RPI as WIFI remote control with App, 2016.

Security & Safety 🪂

Simulators 🌐

Before you damage any hardware you can learn to avoid common pitfalls and train by virtual flights using your handhelt TX. Other allow to test / benchmark autopilots to work in controlled environments.

The most consumer friendly trainer simulators are commercial, but available for Linux, macOS as well (Freerider Recarged, Liftoff, DRL Sim, Velocidrone.

  • crrcsim - For rc airplanes, 2018.
  • Picasim - For rc planes, closed source, sucessor of SSS, stall since 2019.
  • FlightGear - Usually for big airplanes, but can be paired with FC good description from PaparazziUAV or by Arduplane for simulation.
  • AirSim - By Microsoft for algorithm testing.
  • jMAVSim - For Mavlink.
  • JSBsim - With bindings to Python, Matlab.
  • GAZEBOsim - Multi robot.
  • ROS supports simulations like described by PX4.

Checklists 📋

Malfunction can have dramatic consequences, as well as your drone can cause massive damages. To avoid unnecessary risks, a step by step protocol and documentation is mandatory for every flight in case you might use your insurance.

build power check

maiden flight check

regular flight check

ID Systems 🛂

We share the airspace with other pilots. RC copters and planes are hard to spot, so it is recommend to share your position via transponder systems. This allows also tracking of illegal maneuvers.

Hacking & Hijacking 🔓

Radio links per se are unsafe and can easily be jammed.

Accesoirs 🪠

With 3D printing it is easy to get useful addons for your equipment and models

  • Delta 5 race timer - Use 5.8GHz video signals to trigger lap counter.
    • RotorHazard - Sucessor with multinode and central RPI server
  • Capture The Flag for drones - Optical system to emulate a flag for close team-fights.
  • Gimbal protection
  • holder & stands
  • actioncam mounts
  • rotor guards
  • ...

Mobile Apps 📱

Free and useful applications to use on your mobile device. Might be not nessesarry open source

  • SpeedyBee - Is an Appllication for Flight controller parameters settings and blackbox log reader for betaflight, iNAV, emuflight Android, iOS.
  • BLHeli_32 - App is for configuring BLHeli_32 ESCs.
  • FPV Video Channelsorter 5.8GHz - Sorts the channels for each pilot over the available frequencies.
  • UAV Forecast - See the weather forecast, GPS satellites, solar activity (Kp), No-Fly Zones and flight restrictions Android, iOS.
  • Go FPV - A UVC Video Camera display and capture app, built for my DIY First Person View goggles.

Workbench 🧰

Legal Information 🏛️

Depending on the country you live in, the laws and legal rules of airspace may vary.

Communities 🗣️

Every hobby makes more fun and progress if you share your ideas and questions to others. Beside the UAV pilot communities there are plenty of modder and hackers out there.

Forums & Social Media

Video Channels