drone in the sky

Not just another drone project

Introduction

So what is this all about?
It is about building a complete Quadcopter/Drone from scratch that can be used for filming and aerial photography.

Project status (01.10.2019)

Code: https://github.com/seeul8er/DroneBridge

Project goals

  • Small package for ease of transport. What is a multicopter worth when you can not take it to the places that are exciting. I am not a professional filmmaker so what I want is to enjoy my trip in the first place. The drone is the little extra that helps to capture some cool shots from an unusual perspective.
  • Capture great photos and videos. The footage will be the final result. If it sucks the whole project has failed.
  • Cheap. I am a student with very limited financial possibilities. I won’t do a project if the costs are too high or I could just buy an equal (or better) product for the same amount of money.
  • Easy to use. Having to set up the drone for 10min before every flight is not cool nor fun.
  • Robust. If I have to worry about the drone to suddenly drop out of the sky, loose signal or crash than the whole thing is useless. You just wouldnā€™t use it. Drones for filming are heavy (minimum 1kg). Imagine a 1kg+ aluminum block falling out of the sky.
  • As much flight time as possible. Nothing more annoying than having to bring three battery packs just to get 15 minutes of flight time.
  • Use of very basic materials and tools. I do not have access to rapid prototyping or any other kind of machinery. Just a drill and some saws. Has to be enough to get the job done.

What does this project do differently?

Compared to existing solutions this project aims to:

  • Robust digital video downlink using DroneBridge
    • Provide a real alternative to DJI Lightbridge
    • Custom RC & telemetry transmission using raw sockets and custom protocols
    • Custom Android app for ease of use
    • A high degree of modularisation. Extendability!
    • All advantages of EZ-WifiBroadcasts technique + a complete copter command and control concept
    • iNAV & MAVLink support
  • Full iNAV support makes it magnitudes cheaper than Pixhawk based projects
  • Lots of documentation!

Table of Contents

This post is divided into multiple sections:

  1. Introduction – project goals
  2. State of the art
  3. Weight & performance management (Systems Engineering)
  4. Where to start? (Powertrain guide)
  5. The radio link (Systems Engineering – DroneBridge)
  6. Choosing a flight controller
  7. Choosing a remote control
  8. Building an airframe
  9. Setting up a ground station
  10. Lessons learned

16 thoughts on “Not just another drone project”

  1. Laurent says:

    Hello,
    I follow you for several months in your project DroneBridge having also long wanted to build a drone dedicated to the photo / video.
    To follow you on this project I ordered the following elements to build my drone.
    – Turnigy i6S radio with smartphone / tablet support.
    – Omnibus F4 Pro flight controller with barometric sensor
    – Ublox N8M GPS with Compass
    – Four 2312 980 Kv engines with 9450 propellers
    – Four controllers 30 A
    – Chassis S500 from Hobbyking
    – GoPro STORM32 gimbal
    – Two Raspberry Pi 3 B
    – Two ALFA AWUS036NHA (AR9271)

    What will you advise me as batteries? 3S? 4S? 5000 mAh / h?

    I did ground tests on flat ground of the DroneBridge link and the resiltat is of the order of 610 meters for the moment with the antennas Omni 3 db.
    When the drone will be in flight condition I could do the test ground / Air which should logically be much better. It should be tested with a circular polarization antenna side drone and a directional antenna ground. (and why not an antenna with motorized tracking in the future …)

    I keep you informed of my tests.

    Laurent

    1. cyber says:

      Cool project! Sadly I never really tested the range. Always kept on developing and trusting the guys from wifibroadcast that they are right with their numbers. But in air should def. improve range a lot! New tests from WifiBroadcast (low transmission bit rates I guess) show up to 7km of range!

      Do you have any data about power consumption of the motor-propeller combination? Google might find some user tests. Like how much amperes one motor draws runing on 3S/4S while providing 300g of lift etc.
      With that data and your overall weight of the drone you can sort of estimate what battery would perform best in your case.
      – Lets say your drone is 1300g -> 325g/motor to keep it in hover
      – Look up the amps or watts drawn at that load on 3S and see how long a 5200mAh 3S would last etc.

      From my experience I would say you are right to go for 5000+mAh. 3S batteries are lighter and give a bit more flight time in my case (at least on paper – did no tests with 4S). So maybe 3S is for you also.

  2. Laurent says:

    In fact I took the same technical specifications as the DJI Phantom 4 for engines and propellers. The Phantom 4 is also powered by a battery in 4S it seems to me.
    For the DroneBridge side, does lowering the Wifibroadcast transfer rate to increase the range affect the DroneBridge protocol such as latency at the RC level or telemetry?

    Best regards

    Laurent

    1. cyber says:

      If it is the same motors that DJI uses then 4S is the go to (as you said DJI uses 4S as well).
      The problem is that every motor type is different. KV and stuff does not allow to compare motors on matters of efficiency. Size, quality and number of magnets, diameters, spaces in between the parts, prop diameter, prop angle etc. determine the efficiency. But I’d say that you can’t be wrong by choosing any of the battery types (3S, 4S).

      DroneBridge RC, telemetry and status messages take up very little bandwidth compared to the video feed. So lowering the transmission rate should not affect any latency etc. It might become critical on the lowest bit rate settings. But I have not tested that.

  3. Marcus says:

    Great project, thanks for keeping us up to date!
    I actually wanted to post this on DroneBridge but the comments there seem to be closed.
    Looking at the hardware diagram I had a question: Wouldn’t the Raspberry Pi easily be capable of providing at least the same funcionality as the ESP32? In other words, allow for direct connection of an Android phone without an additional ground station? I am of course talking about a Raspberry Pi with Wifi.

    1. cyber says:

      Hi! thanks šŸ™‚ I closed comments because of a vast amount of spammers.

      Yes, that would be possible. The advantage over the ESP would be that we can also send the video stream. I guess we could also have a higher range in case we hook up a high power WiFi card to the AirPi.
      In fact, that was the first working setup I had. Just a pure WiFi connection. I ditched it because of the advantages that come with WiFi adapters operating in monitor mode.
      The current implementation still contains some code from that time. All modules have a command line argument called “-m (mode)” that can be set to “w” for WiFi, however, it is not implemented at this point.
      At the moment I have no time to add it, but I think it would be a nice thing to have in the future.

  4. Petar says:

    Hi CYBER,
    Nice project you have created.
    I am interested in building similar drone for my photography needs, but could`t figure out how to connect my Tx as a source of ppm signal to the Pi-ground station.
    Do you have any idea how would I use my ground station to send RC commands to the drone?

    Regards

    1. cyber says:

      First, you need to convert the PPM signal to a digital signal. You can do that e. g. with an Arduino. Then you feed the digital values via UART from the Arduino to the RPi. Here you need a program that reads the UART and forwards the data to the UAV. You could implement an “UART reader” inside the DB control module. Just read the UART instead of a joystick. DroneBridge control module will handle all the forwarding to the UAV for you. Here is a sample that reads from an OpenTX joystick. In every loop just set the channel value of JoystickData[i] and call send_rc_packet(JoystickData);

  5. Shobhit Gupta says:

    Hello, thank you for sharing the details.
    I’m looking for pure wifi based solution for my drone which can send both telemetry and video for a open area range of around 500m. I am new to this dronebridge. Would you guide about which wifi adapter would be suitable and a little bit on how I go about implementing dronebridge for my purpose?

    1. cyber says:

      Hi! For supported hardware look here docs supported hardware
      Since you want ~500m of range almost all adapters with supported chips should get the job done. I always recommend Alfa AWUS036NHA, but if that one is too expensive or hard to get, go take a look at Ralink cards or Realtek (with chip 8812au; not super stable and supported at that point). You can also choose 5Ghz. Just go check if the Wifi chip of the adapter is on the supported list. External antennas are recommended.

      Besides the WiFi adapters you will need a RPi. I recommend the Pi3B (not the +). It is the only one being supported by all projects and got a lot more power than a Pi0(W).

      In case I understood you wrong and you want the standard Wifi (with access point) etc. You will not need DroneBridge. Just get high power cards and google Wifi video streaming.

  6. Shobhit Gupta says:

    Thank you for your reply.
    Actually, I need a wifi adapter with a very light weight (around 25-50g or ) and I’m using an odroid XU4 board, not rpi. If you know any standard wifi module with access point that can get me range of 500m, please inform. Cost is not a concern for me now.
    If I go for dronebridge, will it be compatible with odroid XU4 same as rpi? I understand that the tutorials only tell about usage with rpi. Please point to some tutorial for the same if it is available.
    Thanks in advance for your help.

    1. cyber says:

      The WN722 v1 with the stock antenna is around 22g. It will not get any lighter than that I think. The heaviest part is the antenna. Remove the plastic cover and you might get 3g lower. Apart from that I think that almost all adapters with one or two antennas are in the range of 25g-50g. So no worries on that side.

      I am afraid I do not know a high power access point. I would need to do some research on that as well.
      DroneBridge works on other device than the Raspberry Pi however I do not provide support for it. You can not use the pre-made images. You will need to patch the Odroid Kernel and install/compile the modules. For encoding & decoding we use Raspberry Pis hardware support (raspbivid). You will need to replace the call to that by something that supports the Odroid.
      The camera is the next thing to keep in mind. You can not use a PiCam as far as I know

  7. Shobhit Gupta says:

    Please check this tutorial https://dev.px4.io/master/en/qgc/video_streaming_wifi_broadcast.html.
    I think this shows it can work on odroid. They have used the logitech USB camera, so I think other USB camera might also work. Can you please check it and tell if I follow this tutorial, I can make it work on my odroid. I am asking this before trying as I would be purchasing the hardware accordingly and I want to the odroid board and a USB camera instead of Rpi.
    Please share your opinion.

    1. cyber says:

      The system works perfectly fine with any kind of video/data source or SBC/Computer, you just can not use the ready-made DroneBridge/Wifibroadcast images since they are for RPi only.
      The tutorial is showing commands to read the camera stream & to display it on the GND. That is what I meant. It requires you to manually build the WBC programs. And then feed the UAV program the video stream. But apart from that it should work with the Odroid as well, in theory since I have not tested it myself. The range will be lower than with the RPi since the ready-made images contain some kernel patches, but 500m is no problem even without patches.

  8. Clem says:

    Hi Wolfgang, very nice work! From a purely theoretical standpoint, what’s enabling the increased range compared to a regular Wifi module/protocol? Is it just the fact that you’re using UDP packets rather than TCP?

    1. cyber says:

      Hi, sort of. It does not use the concept of an access point. Like UDP it does not guarantee delivery, it just broadcasts the data. (No use of UDP over the long-range link, but same concept) That way, as long as you can pick up any kind of signal, you will be able to receive data. We are also operating at a fixed data rate lower than most WiFi connections. Another big factor is that the system uses patched wifi drivers that push the hardware to its limits when it comes to output power. That is why the max. EIRP must be watched when you want to operate the system legally.

Leave a Reply

Your email address will not be published. Required fields are marked *