Ask HN (again): What is the best affordable programmable drone?

This question was asked on both 2015 & 2016 in HN. I would like to ask it again today to know what are the newest options for this.

Q: What would you recommend as a reasonably priced (sub 150$) quad-copter/drone, that has a camera, the ability to be programmed (so that I can process video/write my own stability algorithms for it), good range, and reasonable flying time? In the event nothing fits that price point, any pointers on what the state of the art is?

Thanks!

  • One option would be a Navio2 [1] flight controller which runs the PX4 or Ardupilot flight stack on a realtime linux kernel on an rpi. You'd then need to put that on an airframe (a F450 or one of it's many clones is a solid choice if you intend to use this thing outdoors).

    You'll also need all the ancillaries (receiver, batteries, charger, rc transmitter) although you'll need those anyway if you plan to fly outdoors in a safe manner.

    Alternatively, if you want a ready to go solution which is good for indoor and limited outdoor use, the Parrot ARDrone [2] runs linux, has two cameras and has aftermarket firmware available from both Ardupilot and Paparazzi projects.

    Be aware that if you intend to use your drone for 'work' or commerce you should check your local air regulator (FAA/CAA/CASA etc) to see whether you require any permissions or qualifications to legally operate.

    1: https://emlid.com/navio/

    2: https://www.parrot.com/uk/drones/parrot-ardrone-20-gps-editi...

  • I have the crazyflie nano, comes in at $180. Camera would be extra, but not much more. You can get 1k in range with the antenna upgrade. There are also many other neat upgrades like inductive charging and indoor positioning. Buy spare motors and clips, or a 3d printer. Having some guards while you work on flight algos will be helpful. Try out some RL

    https://www.bitcraze.io/crazyflie-2/

  • The Qualcomm Snapdragon Flight and the Intel Aero systems are going to come in at like $500-$1000. If you want to process camera frames, your price target is a bit untenable for now. You might try to use any old flight controller and a pi with a camera, or a cheap wifi drone like the qr-w100s and doing computer vision over wifi (here's a repo we started for this: https://github.com/SeneCameras/qr-w100s)

    If you're considering crazyflie, Flybrix is a programmable octocopter at $189. We are developing a camera module with onboard processing for optical flow, to release later this year. we are taking extraordinary pains to get a programmable drone with programmable computer vision at a reasonable price point.

  • I'm not an expert but I have quite a bit of experience in the RC world.

    I haven't seen anything that fits those requirements in that price range.

    Just getting a PixHawk flight controller so you can program the drone would cost that much. Same for a good radio transmitter to actually fly the drone.

    I think DIY is out of the question at that price point.

  • As a DIY drone builder for 5 years, here are my two pennies.

    Arduino lets you program it. Apm and multiwii are essentially arduino. Video is a bit tricky, but you can always transmit it back to your laptop and process however you like

  • This is somewhat offtopic to the OP's question but I've been wondering about something mildly related for some time.

    What sort of price range would I be looking at for a homemade long-range drone (I assume a plane) that could fly fairly high for a while and carry 10kg+ of weight?

    I ask this as someone completely ignorant of aviation; I'm not sure what sane values of "fairly high" and "fly for a while" actually are.

    For "fairly high" I'd say "can it be high up enough to be hard to see and hear from the ground?" (Binoculars are fine; camera zoom lenses win everything and trying to fight those would be stupid.)

    For "fly for a while" I'm curious if I'd be able to fit enough gas (I don't expect batteries to work for this) to run for 20 minutes, or even an hour or maybe more.

    I'd be interested in what a cost gradient for 10kg, 20kg, etc would look like.

    This is just a "how much would it cost to carry things around" back-of-my-mind question I've been mentally noodling for a while.

    I don't honestly need super-specifics; back-of-the-envelope ballpark figures would be great. (I expect Amazon will nail drone delivery in practice; not trying to plan business ideas or anything.)

    --

    Also - what's out there that can fly for an hour+, and which is reasonably "positionable", as in something I can get to hover in place for short periods? (ie, a plane needs to fly straight to stay in the sky, so that doesn't work)

  • It's hard to answer this question without knowing more precise values for "good range", "reasonable flying time", and even "ability to be programmed". At this price point, I think your only option is to buy an off-the-shelf quadcopter and modify it yourself. The $30 Hubsan H107[0] can be reflashed with an open-source firmware[1], although you won't be able to process video from the camera using the onboard MCU.

    [0] https://www.banggood.com/Hubsan-X4-H107C-2_4G-4CH-RC-Quadcop...

    [1] https://github.com/goebish/bradwii-X4

  • If you want low-level access to the hardware for reprogramming the stability routines, then any hobby racing drone running the CleanFlight or BetaFlight (https://github.com/betaflight/betaflight) software would be good... They can be built for under $100. However the camera won't be accessible by the flight controller.

    If you only need high-level access to a flight API - e.g. sending commands like "take off" and "forward 1m", then take a look at GoBot: https://gobot.io/documentation/platforms/ - they have a few quadcopters on their supported platforms list.

  • The DJI Mavic Pro runs Linux. Some are working on reversing their firmware.

    https://forums.hak5.org/index.php?/topic/39735-reversing-mav...

  • FWIW, don't know if this is mentioned in earlier threads and I think the price is higher but I think it fits into this thread anyway (Norwegian, so you might want to run it through translation, but has pictures, videos and parts lists):

    https://nrkbeta.no/2011/10/13/slik-bygger-du-ditt-eget-quadk...

  • I recently came across the following custom Eachine E010S build [0] based on a Beecore F3, which can be programmed with e.g. Betaflight, although the video processing would have to happen on the receiver side...

    [0] https://youtu.be/3ED_jCKlhP8

  • Tangent to the OP's question, any up to date database of the most relevant drones in commerce? I am advising a firm who is developing a testing bench for the diagnosis of drones and some numbers or market parameters would be welcome. Thanks.

  • Ardupilot on MEGA2560 with a Pi/Odroid for any video processing would be fine. You can get away with a 3500mAh battery on a quad w/ 1045 props & 1000KV motors for 15-20mins.

    PM me for another great combination/consultation.

  • I know this isn't quite the kind of answer you're looking for, but for those who are willing to put even more work in, $150 should be able to get you reasonably far with hobbiest electronics and a 3D printer (that price is obviously not including the cost of purchasing a printer).

    Take for example, this open source chassis [1] that is based on the DJI Mavic (retail $1,000). Plenty of fun for those with the time and desire to take this even further.

    [1] http://www.thingiverse.com/thing:2004357

  • I doubt you'll succeed with $150... but for programability, range, flying time & decent payload... I'd consider a Quad VTOL aerofoil....

    Such as: http://px4.io/portfolio/deltaquad-vtol/

  • Not sure about reasonably priced UAVs, but the AscTec Hummingbird is high on the state of the art ranking:

    http://www.asctec.de/en/uav-uas-drones-rpas-roav/asctec-humm...

  • There is nothing for that money but if you want to DIY a programmable UAV, start here:

    http://ardupilot.org/

    It's hard to recommend anything without knowing the specifics of what you want to use it for

  • Phantom 3 standard is about 330 bucks. You can use the DJI SDK to program it.

    At 150 its going to be quite hard to get all the features you are looking for. Even with DIY route you will need Motors, Controller, Camera, Transmitter etc. Easily 300+ bucks.

  • Pretty much any ARM based flight controller board would be programmable...

  • A bit more expensive than what you are looking for, but I got the DIY (not built) 3D Robotics Y6 for $600 which runs the PX4/Ardupilot stack. I have been able to use it with ROS.

  • About "reasonable flying time" - are there any options available to use solar panels? Most importantly are solar panels good enough to power the unit?

  • Drone with Apps & Games: http://adia.tech/

  • With all the below, you'll have a solid drone with more power than you are likely to need even in heavy wind. You can program it in a couple ways. One way would be to use the flight controller provided, put it in air mode, and balance the signal with an external arduino/mpu6500 combo that feeds the signal to the normal receiver inputs. Another option is you can just go in to the BetaFlight code and modify it to your liking. A third option, is to remove the flight controller altogether and just use the arduino/mpu6050 combo to feed signal to the esc.

    If you are trying to use the camera for some sort of remote processing, you'll need a vtx [7]

    The thing no one is saying so far though, is be careful. Playing with your own balancing software on a quadcopter is an easy way to turn it into an unpredictable missile with an exposed blender attached. You will get hurt or someone else will get hurt. Do it inside and tether it down at first, that way the only day you ruin is your own

    Here's a part list for you ($108 total):

    - [1] Lisam-LS-210 Frame ($16): cheap, sturdy, lots of room for your stuff

    - [2] Matek Power Distribution Board ($4): easy to run power to everything, plus it gives you 5v and 12v BEC for powering your other stuff like an Arduino

    - [3] Omnibus Flight Controller ($25): runs cleanflight/betaflight open source flight controller software. That way you can choose whether you want to write your software on the controller or on your arduino

    - [4] 4x 2205 2300KV brushless motors ($25): these will let you add a decent amount of stuff to your platform without it bogging down

    - [5] 4x 20 amp esc's ($26): Needed for the brushless motors. They run BLHeli control software, so yet another thing you can fiddle with

    - [6] camera ($12): simple camera, decent but not hd quality

    [1] https://www.banggood.com/Lisam-LS-210-210mm-Carbon-Fiber-Fra...

    [2] https://www.banggood.com/Matek-Systems-PDB-XT60-W-BEC-5V-12V...

    [3] https://www.banggood.com/Betaflight-F4-Flight-Controller-STM...

    [4]https://www.banggood.com/4X-Racerstar-2205-BR2205-2300KV-2-4...

    [5] https://www.banggood.com/4-PCS-Racerstar-RS20A-Lites-20A-Blh...

    [6] https://www.banggood.com/700TVL-2_8mm-Lens-100-Degree-Wide-A...

    [7] http://www.banggood.com/TS5823S-Micro-VTX-5_8G-200mW-48CH-Mi...

    All this is basically straight from this part list, but seems applicable