
Ask HN (again): What is the best affordable programmable drone? - nanospeck
This question was asked on both 2015 &amp; 2016 in HN. I would like to ask it again today to know what are the newest options for this.<p>Q: What would you recommend as a reasonably priced (sub 150$) quad-copter&#x2F;drone, that has a camera, the ability to be programmed (so that I can process video&#x2F;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?<p>Thanks!
======
blutack
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/](https://emlid.com/navio/)

2: [https://www.parrot.com/uk/drones/parrot-ardrone-20-gps-
editi...](https://www.parrot.com/uk/drones/parrot-ardrone-20-gps-
edition#parrot-ar-drone-20-gps-edition)

------
verdverm
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/](https://www.bitcraze.io/crazyflie-2/)

~~~
nanospeck
This is a good one, the kind i was looking for. However, I couldn't find the
camera option. Are you sure the integration is possible? Do you have any
links?

~~~
c0wb0yc0d3r
Best I have found...

[https://forum.bitcraze.io/viewtopic.php?f=6&p=8295](https://forum.bitcraze.io/viewtopic.php?f=6&p=8295)

------
amirhirsch
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](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.

~~~
shiftpgdn
Nvidia Jetson TX1/TX2 is available now for right around $400 with 256 CUDA
cores 4-8GB of ram and 16-32GB of disk.

~~~
ansible
There are drones available and in planning based around the TX1 (and
presumably the TX2). Note that because of the power requirements, the drone
size is larger.

~~~
nojvek
I would definitely love to get one based on a TX2. It's the only chip that has
enough computing power to do real time image processing, run SLAM and a small
CNN at the same time.

Would deffo pay 500-1000 for it.

------
yeahsure
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.

~~~
VLM
"PixHawk flight controller"

That's a nice controller, but heavy and expensive, 37 grams and $75 according
to amazon. My sub-250g build used a Naze32 which weighs about 4 grams without
connectors and was $35. I flashed it with cleanflight from github

[https://github.com/cleanflight/cleanflight](https://github.com/cleanflight/cleanflight)

Presumably OP wanting to modify stuff will want FOSS like cleanflight.

This is of course ancient obsolete history because things move fast in
multicopter world and that was like 6 months ago. Not even sarcasm. This
advice was reasonably contemporary last fall, but this spring I donno.

OP will rapidly get into a scalability problem where I assume OP wants to do
something interesting or complicated and aerospace is highly optimized so OP
is likely to have much more success driving a flight controller as if it
servos using a ras-pi or something, than trying to compile cleanflight to add
Alexa to the cleanflight itself or whatever it is OP is trying to do.

Electronics have improved quite a bit. Back in the 80s we'd buy a $200 mosfet
motor controller with a half pound heatsink and connect it to a $20 motor in
your RC dune buggy (running off old fashioned nicads LOL) but now a days you
attach a $11 no-heatsink controller to a $40 brushless motor and call it good.
Of course you don't need a cooling fan if you have hundreds of watts of fan
blowing on it from half an inch away...

Something to think about ops desire for a $100 multicopter is control
electronics and surprisingly chassis and props and serial receivers are cheap,
but I dropped $40 on EACH motor, by far the most expensive part of the build.
Of course at 220 grams flying weight my build has the vertical acceleration
performance of a large model rocket, which can be slightly terrifying when
learning to fly, something lower performance but still flyable might be
cheaper. I just thought it interesting that most of my build's money is in the
motors, like about half of it.

~~~
codezero
Do you have any videos of the acceleration? That sounds awesome.

~~~
VLM
No, but while learning to fly I'd describe it more as terrifying. OK big wind
gust or whatever we're getting too low, too low, too low, floor it, ... and a
second later we're 50 feet up moving very fast upward and that's the new
problem.

Pilot induced oscillation, never fun.

I can hover around 1/3 throttle so that would imply 1 G of thrust so you can
guess that flooring it would be 2 G vertical acceleration. So 64 ft/s squared
so one second after I floor it I'm going 40 mph straight up.. It feels like
throwing a $300 volleyball as hard as you can straight up.

To stay underweight I use small 500 mAH lithium poly batteries which lead to
both high acceleration and short flight times, like 3-4 minutes tops. I think
I have a 250 somewhere which is really small and light. I could probably
physically lift 2000 mAH batteries or larger, but would then be over the FAA
250 gram limit so I'd have to register as a drone pilot, which I'm OK with,
other than I haven't done it yet. Great, another government list to find
myself on, just what I needed. Once you're on enough lists, one more won't
hurt...

------
huula
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

~~~
nanospeck
5 years??! That's amazing. Do you have a blog about your projects? That would
be an interesting read.

------
4ndr3vv
Previous responses:

2016
[https://news.ycombinator.com/item?id=10872233](https://news.ycombinator.com/item?id=10872233)

2015
[https://news.ycombinator.com/item?id=8989411](https://news.ycombinator.com/item?id=8989411)

~~~
i336_
Tangential, for whoever also wonders this:

10872233 - 8989411 = 1882822

------
i336_
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)

~~~
shiftpgdn
I completely disagree with the other reply to your post.

Keep in mind you said drone and not quadcopter. You could very easily buy a
ready to run flying wing [1] with a 30 minute flight time out of the box for
just $90. A flying wing is more more suitable for gas or jet A powered motors
as the natural lift of the airframe shape keeps it up in the air and balanced.
This design scales up linearly (see the B-2 bomber.)

I've hypothesized that a dirigible filled with helium or hydrogen could
potentially stay up for days or weeks if you had a full carbon composite
airframe with a well sealed mylar skin. Lift capacity wouldn't be as great but
it's still a fun thought exercise.

[1] [https://hobbyking.com/en_us/phantom-fpv-flying-wing-epo-
airp...](https://hobbyking.com/en_us/phantom-fpv-flying-wing-epo-
airplane-1550mm-v2-kit.html)

~~~
semi-extrinsic
Basically all civilian fixed wing aircraft have an order of magnitude less
thrust than what they'd need for flying straight up. Wings are an awesome
piece of tech!

------
grw_
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...](https://www.banggood.com/Hubsan-X4-H107C-2_4G-4CH-RC-Quadcopter-
With-Camera-Mode-2-RTF-p-75824.html?rmmds=search)

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

------
davelondon
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](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/](https://gobot.io/documentation/platforms/)
\- they have a few quadcopters on their supported platforms list.

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

[https://forums.hak5.org/index.php?/topic/39735-reversing-
mav...](https://forums.hak5.org/index.php?/topic/39735-reversing-mavic-pro-
firmware/)

------
reitanqild
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...](https://nrkbeta.no/2011/10/13/slik-bygger-du-ditt-eget-quadkopter-
del-1/)

------
cedricvg
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](https://youtu.be/3ED_jCKlhP8)

------
DrNuke
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.

------
ap46
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.

~~~
fest
Ardupilot team has stopped firmware development for APM1/APM2 boards in 2015.
I wouldn't advise buying it now with intent to work on stabilization firmware.

~~~
ap46
Yeah but stabilisation doesn't change over time, for the most part it still
remains PID based. 8-bit MCUs are so under-utilised & 32-bit processors are
simply an overkill & barrier to people getting started.

~~~
fest
The attitude stabilization- yes, I would agree.

But the development mostly seems to concentrate around higher level, position
and navigation controllers and there is a lot of complex floating point math
going on there.

------
aaronds
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](http://www.thingiverse.com/thing:2004357)

~~~
Neliquat
I think you underestimate the price of electronics...

------
Daviey
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/](http://px4.io/portfolio/deltaquad-vtol/)

------
gijsnijholt
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...](http://www.asctec.de/en/uav-uas-drones-rpas-roav/asctec-hummingbird/)

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

[http://ardupilot.org/](http://ardupilot.org/)

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

------
samfisher83
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.

~~~
nanospeck
Cool but where can you get Phantom 3 standard for 330 USD? I'm seeing $499 on
their official website.

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

------
NwmG
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.

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

~~~
Zaak
A quick sanity check is that there aren't many solar-powered flying creatures.

A 15W solar panel is about three square feet, and probably weighs several
pounds. A 15W quadcoptor is about two square feet and has a takeoff weight of
less then three pounds.

You might be able to carry a small solar panel as a backup in case the copter
runs out of power in a remote location, but it would have to sit for quite a
while before it's ready to fly again.

------
tusharsoni08
Drone with Apps & Games: [http://adia.tech/](http://adia.tech/)

~~~
finpr
the idea is amazing, but is not available and the website is pretty horrible
the subscribe link don't work and seem made by screenshoot..

~~~
fenwick67
The entire website is just one giant image.

------
JoeCortopassi
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...](https://www.banggood.com/Lisam-LS-210-210mm-Carbon-Fiber-Frame-Kit-
Mini-Quadcopter-p-1001216.html?p=CB061349323732016062)

[2] [https://www.banggood.com/Matek-Systems-PDB-
XT60-W-BEC-5V-12V...](https://www.banggood.com/Matek-Systems-PDB-
XT60-W-BEC-5V-12V-2oz-Copper-For-RC-
Multirotors-p-1049051.html?p=CB061349323732016062)

[3] [https://www.banggood.com/Betaflight-F4-Flight-Controller-
STM...](https://www.banggood.com/Betaflight-F4-Flight-Controller-
STM32-F405-MCU-Integrated-OSD-p-1103940.html?p=CB061349323732016062)

[4][https://www.banggood.com/4X-Racerstar-2205-BR2205-2300KV-2-4...](https://www.banggood.com/4X-Racerstar-2205-BR2205-2300KV-2-4S-Brushless-
Motor-2-CW-2-CCW-For-
QAV250-ZMR250-260-Multirotor-p-1066837.html?p=CB061349323732016062)

[5] [https://www.banggood.com/4-PCS-Racerstar-
RS20A-Lites-20A-Blh...](https://www.banggood.com/4-PCS-Racerstar-
RS20A-Lites-20A-Blheli_S-BB2-2-4S-Brushless-Motor-for-FPV-
Racer-p-1105427.html?p=CB061349323732016062)

[6] [https://www.banggood.com/700TVL-2_8mm-Lens-100-Degree-
Wide-A...](https://www.banggood.com/700TVL-2_8mm-Lens-100-Degree-Wide-Angle-
FPV-Camera-NTSC-PAL-p-1044895.html?p=CB061349323732016062)

[7] [http://www.banggood.com/TS5823S-Micro-VTX-5_8G-200mW-48CH-
Mi...](http://www.banggood.com/TS5823S-Micro-VTX-5_8G-200mW-48CH-Mini-FPV-
Transmitter-SMA-RP-SMA-for-RC-Racer-p-1127469.html?p=CB061349323732016062)

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

