DIY Drone Guide

 

The following document is a brief do it yourself guide for building a multi-copter flying done.  It is based on a significant amount of experience and careful consideration.  Many of the suggestions are also useful for other types of drones including boats.  In this guide I've tried to provide detailed information and specific advice to help with design and ordering of components.  This will help the builder get started quickly.

 

A great source for drone information (hardware, software, reviews, etc.) is rcgroups:

http://www.rcgroups.com/forums/index.php

 

YouTube also has a lot of drone related information (reviews, tutorials, etc.)

https://www.youtube.com/watch?v=XOH9kGXyWsg

http://www.rcgroups.com/forums/showthread.php?t=1710948

https://www.youtube.com/results?search_query=DIY+drone

 

Other sources:

http://www.instructables.com/id/DIY-Drones/

https://www.facebook.com/DIYDrones/

 

 

Safety guidelines

 

This section is not intended to be a definitive list of safety precautions for drones.  It’s only meant to point out some of the main issues with drone safety.

 

Multi-copters can be dangerous depending on its size and power.  A Syma X5C could hurt your fingers or eyes.  A larger drone is like an upside-down flying lawnmower and should be treated with care.  It can also cause a lot of damage if it lands on somebodies head from a significant height.  You should be careful of your fingers and wear eye protection when using your multi-copter.  It’s also possible that your drone could get out of control and fly directly at someone (including yourself) which could injure head, body, or fingers (if they try to fight off the incoming drone).  A shield, net, or perhaps cut resistant gloves is recommended to protect against that scenario.

 

You should always unplug the multi-copter battery before touching other parts of the drone.  This is especially important after a crash when emotions run high and you might forget.  Don’t just use the on-off switch since cheap on-off switches have been known to malfunction.  Always turn on the transmitter before plugging in the multi-copter battery.  A drone without a transmitter can easily get out of control.  You should also remove the propellers when first testing a drone after new modifications (e.g. new electronics, software, etc.).  Li-poly batteries can also be dangerous.  See the battery section for details. 

 

 

Ready to Fly Drones

 

Before building your own drone you should consider buying a ready to fly drone and modifying (i.e. hacking) it.  This option can save money (especially when considering the likelihood of crashes) and also achieve good performance.  The following drones are currently the best for modification in my opinion. They can be purchased from various online vendors (see the section on vendors).

 

Note that the transmitter and receivers for inexpensive ready to fly drones are not very good.  It’s easy to go out of range or lose control of the drone.  It’s also not possible to combine them with a separate microcontroller for additional functionality.  Therefore, the transmitter, receiver, and other electronics in a ready to fly drone should normally be discarded and replaced with more general higher quality components.  Recommendations and suggestions are made in the following sections.

 

 

Syma X5C

 

- very stable, easy to fly, and easy to modify

- weighs about 100g

- has 155g total lift (i.e. it has 55g excess/net lift after overcoming gravity)

 

Note that a drone should ideally have total lift of at least twice the weight.  Racing and acrobatic drones can have lift of four times the weight or more.

 

Note that the total lift reduces as the battery voltage decreases during operation.  A lipoly batter typically starts around 4 V and reduces to 3.5 V.

https://learn.sparkfun.com/tutorials/battery-technologies/lithium-polymer

 

Syma X5C-1 Drone, Your Mother Could Fly This! Quadcopter 101

https://www.youtube.com/watch?v=y93vzA-KRlM

 

Note that the Syma X5C can be bought without the transmitter and camera for about half the price.

http://www.banggood.com/Syma-X5C-Explorers-RC-Quadcopter-Without-Camera-Transmitter-BNF-p-948193.html

 

It’s also possible to buy a Syma X5C in parts.  For example,

http://www.banggood.com/Syma-X5-X5C-Motor-Base-Spare-Part-4PCS-p-978463.html

 

http://www.banggood.com/Syma-X5-X5C-Clockwise-Motor-Spare-Part-X508-p-928804.html

 

http://www.banggood.com/Syma-X5-X5C-Anticlockwise-Motor-Spare-Part-X507-p-928806.html

 

http://www.banggood.com/Syma-X5-X5C-Main-Blades-Propellers-Spare-Part-X502-p-926874.html

 

In this case you could design your own frame and use the Syma X5C motors and motor holder / gears to make your own drone design (hexacopter, etc.).

 

JJRC H8C

 

http://www.banggood.com/JJRC-H8C-2_4G-4CH-6-Axis-RC-Quadcopter-Without-Camera-RTF-p-957758.html

 

This drone was designed to be the “Syma X5C killer”.  JJRC is my favourite drone maker because they try so many different designs and a lot of them work well.  The H8C is a like a X5C on nitro.  It has larger motors (8.5 mm diameter vs 7 mm diameter), a battery with twice the voltage (7.4V), and a stronger frame and gears.  It weighs about 145g and it has a total lift of 275g, so it has much more net lift and power than the X5C.  The drawback is that the 7.4V is too much for the motors (their nominal voltage is 4.5V) to handle long term if you fly the H8C too aggressively. This can result in early motor burn out (hence all the complaints on rcgroups).  However, the H8C seems to work fine as long as you don’t fly it too hard and the replacement motors only cost $2.5.  The H8C is currently my favourite low cost drone due to the extra power and extra room in the fuselage (useful for putting in new electronics).

 

Note it’s also possible to upgrade the Syma X5C motors (7mm diameter) to motors (8.5mm diameter) to get a lot more power.  However, the 7.4V battery from the H8C is required to get the full benefit.  Note that you also need electronics capable of handling the extra voltage – you can’t just attach a 7.4V battery to a X5C board.  The X5C motor holders also have to be enlarged using a circular file to accommodate the larger diameter motors.  However, enlarged versions can be purchased separately here (note these versions don’t come with the gears):

http://www.banggood.com/JJRC-H5C-New-version-Motor-Mount-Motor-Base-p-977610.html

 

MJX X101

 

http://www.banggood.com/MJX-X101-2_4G-4CH-6Axis-720P-FPV-Set-Fit-Headless-Mode-One-Key-Return-RC-Quadcopter-RTF-p-1005923.html

 

The MJX X101 is very stable and easy to fly.  It’s a good large size inexpensive drone weighing about 400g and it can easily lift 600g-800g.  It’s suitable for sport flying or carrying large cameras such as a GoPro.  I prefer this model to alternatives such as the Tarantula X6 (sportier with less load capability and less reliable motors) and the Syma X8C (heavier and less sporty).  However, the stock transmitter and receiver should immediately be replaced (along with the flight controller) since it is known to have fly away problems due to loss of communication even at close range.

 

MJX R/C - X101 - Review and Flight Flyin' Ryan RC

https://www.youtube.com/watch?v=zkA0S-u5pIE

 

The Syma X8C is also a pretty good option in this size category.  I have an orange (great colour) X8C and I’m very impressed with its quality and simple layout.  It has a lot more room in the fuselage than the X101 for putting in custom electronics.  Spare parts are also very easy and inexpensive to obtain.  The drawback is it’s noticeably heavier than the X101 so it’s less sporty, but it has more load carrying capacity and a longer flight time.  The X8C is a great low cost camera drone because it’s a very stable flyer.  You can attach a GoPro or similar components to it.


 

Components of a Flying Drone

 

The main components of a flying drone are:

 

Frame

Motors

Gears

Propeller blades

Landing gear

Motor amplifiers

Battery, charger, and regulator

Transmitter and receiver

Flight controller

 

Optional components:

 

Blade protectors

Microcontroller

Sensors

Actuators

Wireless communication

Data logging

First person view (FPV)

 

A brief description of each item with advice and specific suggestions is given below.

 

Frame

 

A good frame is light, strong (to survive crashes), and rigid (to reduce vibrations).  The arms need to be long enough to separate the propellers and thin enough not to interfere with the air flow.  The distribution of weight and number of motors / arms can also affect a drones handling, stability, and carrying capacity so it needs to be carefully considered / optimized.  Often vibration isolating materials such as rubber are incorporated into the connection points for the flight controller board and camera to reduce the effects of vibrations.

 

A frame is typically constructed from wood (Poplar, Birch, etc.), foam, plastic (3D printing), carbon fiber composite (very popular with racing drones), or metal (for large drones).  A mix of materials (e.g. plastic for the fuselage and metal for the arms) is also possible.  Some of these materials can also be used to reinforce an existing ready to fly drone frame.  The weak point is typically the thinnest part of the arm near the thrusters.

http://aeroquad.com/showwiki.php?title=Frame-Materials

 

Note that carbon fiber is a conductor of electricity, so precautions should be taken with exposed electronics so they don't short circuit when touching carbon fiber frames.  Carbon fiber can also interfere with wireless communication.

 

Foam or wood / sticks might be good options for prototyping. Note that the landing gear can be integrated into the bottom of the frame with the motor mounts / protectors.  Frames kits can also be purchased (make sure to order spare arms), for example

 

http://www.readymaderc.com/store/index.php?main_page=product_info&cPath=76_606&products_id=5004 -- this is one of the best most indestructible carbon fiber frames. 

Note the uni-body construction.  Uni-body construction is stronger but more difficult to repair.

 

http://www.hobbyking.com/hobbyking/store/__85257__Diatone_ET_200_Class_Micro_Multirotor.html -- lightest carbon fiber frame available for micro quads

 

http://dragonplate.com/ -- vendor of carbon fiber composite stock

 

http://www.bphobbies.com/view.asp?id=V870830 – vendor of carbon fiber composite stock

 

http://www.hobbyking.com/hobbyking/store/__1770__1756__Multi_Rotors_Drones_Parts-Carbon_Fiber_Tube.html -- inexpensive carbon fiber tubes which provide a very good option for making custom light weight frames

 

 

Motors

 

Brushed DC motors are the most inexpensive option for drones and they can provide very good performance.  They are the best option for a first done in my opinion.  However, brushed motors normally wear out after about 6-10 hours of operation.  They can also wear out if they get overheated due to insufficient resting time between battery changes or when a propeller gets stuck (which spikes the current and temperature).  Here are some good sources / selections for brushed DC motors for small / medium sized drones:

 

https://micro-motor-warehouse.com/collections/all-motors

- dark edition motors have the most thrust for an 8.5 mm diameter motor.

- they also sell inexpensive pinions

 

Hubsan X4 FPV & Camera Plus Motor Set (4pk) (model H107D+-03)

http://www.robotshop.com/ca/en/hubsan-x4-fpv--camera-plus-motor-set-4pk.html

- 8.5mm diameter motors suitable for upgrading the Syma X5C (without pinions)

- the pinion can be taken from an X5C though

 

Hubsan X4 Plus Motor Set (4pk) (model H107P-07)

http://www.robotshop.com/ca/en/hubsan-x4-plus-motor-set-4pk.html

- 7mm diameter replacement motors for Syma X5C (without pinions)

 

Holy Stone Original Motors for F181 RC Quadcopter Spare Parts

- 8.5mm diameter motor suitable for upgrading a Syma X5C -- check the pinion size compatibility though

https://www.amazon.ca/gp/product/B00Y84PH3Y/ref=ox_sc_act_title_7?smid=A3QTILSGJZUURE&psc=1

 

http://www.gearbest.com/rc-quadcopter-parts/pp_294256.html

- larger brushed replacement motors for the MJX X101

 

Note that the stock 7mm diameter motor of the Syma X5C produces about 40g of thrust when combined with the stock gears and propellers.  The regular 8.5mm diameter motors above produce 55 g of thrust (with the Syma X5C propellers / gears) with 3.7V batteries and a whopping 97g with 7.4V batteries.  However, the 7.4V level should only be applied for short durations (like nitro) or you will owe somebody a 10 second drone.  Note that the motor holders of the Syma X5C need to be enlarged in order to fit the 8.5 mm diameter motors (see the Ready to Fly Drone section for details).

 

The JJRC H8C thrusters produce 70 g of thrust with their 8.5 mm diameter motors.  This is somewhat lower than the 97 g produced with the upgraded X5C.  The reason is not clear, but it’s likely due to a different gear ratio, propeller, or motor.  I suspect that JJRC detuned their motors to make them more reliable.

 

Brushless motors use electrical commutation instead of mechanical (brushed) commutation.  Their performance is higher because brush wear is not a factor thus allowing them to run faster and cooler.  This leads to higher efficiency and reliability.  The bearings tend to wear out before the motor windings and they should be regularly lubricated.  However, brushless motors are significantly more expensive than brushed motors, especially when considering the extra cost of the electronic speed controllers required (see the Amplifier section for details).  Therefore, brushless motors are typically used for more expensive and larger drones.  Due to the high power, propeller speeds, and cost involved I don’t recommend brushless motors for a first drone.

 

The DYS BE1806-2300kv and EMAX MT1806 2280kv are two of the best options for larger sized drones in the 250 size class (250 mm diagonal length). They typically provide 300-500g of thrust per motor (depending on battery voltage and propeller size).  The best vendors for brushless motors are Hobbyking and Banggood.  Note that brushless motors are also sold in economical combo packs with matching speed controllers and propellers.  For example,

http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=86550

http://www.hobbyking.com/hobbyking/store/__84355__Emax_FPV_Drone_MT1806_2280kv_Brushless_Motor_Set_w_ESC_5x3_CW_CCW_.html

 

The EMAX Quad MT2204 2300kv is also a very good motor with similar capabilities to the motors above.

http://www.hobbyking.com/hobbyking/store/__84361__Emax_Quad_MT2204_2300kv_Brushless_Motor_Set_with_ESC_6045_CW_plus_CCW.html

 

I like EMAX motors because they come in CW and CCW versions and don’t require special propeller adapters.

 

Note that it's normally a good idea to quickly get your hands on some motors from a scrap pile or from a North American vendor (see the links above) while you wait for motors from international online vendors to arrive.  Note that motors and blades are sometimes combined to make ducted fans (see the Blade Protector section below).

 

 

Gears

 

Gears are often preferred to no gears (direct drive) in order to reduce the speed of the propellers and provide more torque (and less motor wear).  This allows more efficient operation with more lift capability (larger propellers).  It can also make the drone easier to control and less noisy.  Nylon gears are most common for small/medium size drones and metal for larger drones.  Sometimes the gear materials are mixed such as metal for the pinion and nylon for the large gear which provides a good trade-off between strength (metal) and noise (nylon).  3D printed gears are an interesting and flexible option for making gears if they can be made strong enough.  Many of my favorite ready to fly drones use gears, so I suspect they result in more optimal designs at least for brushed DC motors.

 

Gears, motor holders, and propellers can be bought in part kits for various ready to fly drones.  For example:

http://www.banggood.com/Syma-X5-X5C-Motor-Base-Spare-Part-4PCS-p-978463.html?cur_warehouse=CN - Syma X5C motor holders (includes gears)

 

Add a 7mm / 8.5 mm diameter motor with a propeller and you have a great inexpensive drone thruster.  These mounts are sized for 7mm motors so they have to be enlarged for 8.5 mm motors with a circular file.  Motor mounts for 8.5 mm diameter motors can also be purchased in the following link.  This option is less painful than enlarging a motor mount in my opinion.

http://www.banggood.com/JJRC-H5C-New-version-Motor-Mount-Motor-Base-p-977610.html -- this motor mount comes without gears (need to take them from the 7 mm motor mounts above)

 

It should also be noted that the propeller/gear bearings of some drones can be upgraded to provide better performance and longer motor life.  The JJRC H8C for example has these nice upgrades.  They work very well in my drone.

http://www.banggood.com/5Pcs-4x7x2mm-Ball-Bearings-for-Wltoys-JJRC-V686-V636-V626-H8C-H9D-H12C-p-1039523.html

 

 

Propeller blades

 

Propellers come in many different shapes and sizes.  Selecting the optimal shape and size is an interesting design problem, especially when considering the motor / gears capability and the optimal efficiency range of the motor.  The selection of optimal components is often determined using a thrust testing stand such as:

https://www.rcbenchmark.com/

http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=84687

 

Note that half the blades must rotate CW and the other half CCW in a quad rotor (same direction along the diagonals with the CW diagonal leaning to the right) in order to balance out the torque in the yaw direction.  The motor / fastener (adaptor) for the propeller should also be specifically selected for either CW or CCW rotation so propeller doesn't become loose during operation.  Propellors also are constructed from different materials such as plastic and carbon fiber composite.  I prefer soft plastic propellors for beginners since they are much safer for fingers.  Carbon fiber is similar to aluminum from the fingers perspective.

 

Propellers can be obtained locally from Robotshop, Hobbyking, and other online vendors.  For example,

http://www.banggood.com/10-Sets-Syma-X5C-X5SC-X5SW-JJRC-H5C-H5P-Propeller-Prop-X5C-02-p-1047545.html?cur_warehouse=CN

 

http://www.hobbyking.com/hobbyking/store/__1233__501__Multi_Rotors_Drones_Parts-Propellers.html

 

Electric ducted fans (EDF) are sometimes used instead of exposed propellers in order to provide the better protection for blades (and your fingers).  For example:

 

Air Hogs Helix X4 Stunt

http://www.airhogs.com/site/product/helix-x4-stunt

 

EDFs are not quite as light/efficient though for small thrusters but they are more compact. They are also easy to pivot with servos for thrust vectoring purposes.  EDFs can also be used to propel boats and cars.

 

Hobbyking is one of the best sources for EDFs.  For example,

http://www.hobbyking.com/hobbyking/store/__17145__EDF35_with_11000kv_Motor_Assembled.html

 

http://www.hobbyking.com/hobbyking/store/__682__681__Hardware_Accessories-EDF_Units_With_Motor.html

 

The best source for EDFs is probably

http://www.aeorc.cn/products/motor/edf-upgraded-plus-version.html

 

Blade protectors

 

One purpose of blade protectors is to protect the propellors during a crash. However, they are probably more important for protecting the motors and the gears.  During a crash the propeller typically locks in place which results in a stall condition for the motor and a very high current (the back EMF drops to zero when the motor stops turning).  This high current will quickly overheat the motor and the amplifier electronics normally resulting in permanent damage.  Therefore, a drone should be powered down (or disarmed) immediately after a crash if possible, especially if it doesn’t have blade protectors.  The disadvantage of blade protectors is added weight, but more importantly a reduction of thruster efficiency due to the extra drag.

 

 

Landing gear

 

Sometimes landing gear are not needed if they can be combined with the frame / motor mounts.  For example, the landing gear can be removed from the Syma X5C and the motor mounts can then be used as the landing gear.  It’s also sometimes beneficial to make the gear deliberately weak so they absorb more of the impact during a crash.  This can be accomplished by attaching the landing gear with weak glue, using foam landing gear, etc.

 

 

Motor amplifiers

 

A flight controller / microcontroller needs an amplifier in order to drive the motors.  It can’t be connected directly because the motor requires more voltage and current than the microcontroller can provide (normally only 5V and 10 mA).  This is analogous to a CD / MP3 player requiring a stereo amplifier in order to drive speakers.

 

Motor amplifiers are normally called electronic speed controllers (ESC) in the hobby community.  ESCs for brushless motors are more expensive than brushed ESCs because they are more complicated (they normally employ a microcontroller).  Note ESCs for flying drones / aircraft are not reversible (i.e. they don't run backwards) although they may have some form of braking capability.  Car and boat ESCs are reversible, but they are larger and heavier. For brushed DC motors simple inexpensive N-channel MOSFET circuits can be used since only non-reversible operation is required.  For example:

 

http://bildr.org/2012/03/rfp30n06le-arduino/

http://www.digikey.ca/product-search/en?keywords=FQP30N06L

 

http://users.encs.concordia.ca/~bwgordon/DIY_brushed_ESC.pdf - how to build an inexpensive DIY ESC for brushed DC motors

 

http://users.encs.concordia.ca/~bwgordon/DIY_brushed_ESC_new.pdf - new version of the DIY ESC which is a bit easier to wire if you can get the Freetronics MOSFET board

 

Both guides also discuss in detail how to select the wire size and type for the ESCs / motors.

 

Brushless ESCs are normally purchased.  Some of the better models include

 

http://www.hobbyking.com/hobbyking/store/__710__501__Multi_Rotors_Drones_Parts-Speed_Controller_ESC_.html

 

http://www.hobbyking.com/hobbyking/store/__81793__DYS_16Amp_Micro_Opto_BLHeli_Multi_Rotor_Electronic_Speed_Controller_BLHeli_Firmware_SN16A.html http://www.hobbyking.com/hobbyking/store/__81794__DYS_20Amp_Micro_Opto_BLHeli_Multi_Rotor_Electronic_Speed_Controller_BLHeli_Firmware_SN20A.html

 

http://www.hobbyking.com/hobbyking/store/__87851__ZTW_Spider_Series_18A_OPTO_Multi_Rotor_ESC_2_4S_BLHeli_SimonK_Firmware_.html – one of the lightest for this capacity

 

DYS is one of the better brands especially for light weight ESCs.  EMAX, ZTW, and Hobbyking are also good.  I tend to prefer lighter ESCs if possible.  For reference, the DIY brushed ESCs weigh about 2-3g with similar current capacity (4g with wires).  Note that the wires also have significant weight depending on their size.  Note that ESCs often have a battery elimination circuit (BEC) which provides a regulated 5V for sensitive electronic devices such as a flight controller or receiver.

 

Note that you normally want to select an ESC that has somewhat more current capability (e.g. 50% more) than your motors require for a given battery voltage.  Otherwise your ESCs will overheat unless you restrict the motor commands in the flight controller software.

 

On a side note, it’s also possible to reprogram certain models of non-reversible brushless ESCs (such as the Hobbyking blue series) to behave as reversible brushed ESCs.  This might be useful if you want a light weight reversible brushed ESC for robotics applications or if you want to land your drone on the ceiling.  For example,

 

http://www.hobbyking.com/hobbyking/store/__11429__HobbyKing_12A_BlueSeries_Brushless_Speed_Controller.html

 

http://www.hobbyking.com/hobbyking/store/__2164__TURNIGY_Plush_30amp_Speed_Controller_w_BEC.html

 

http://www.hobbyking.com/hobbyking/store/__27195__Atmel_Atmega_Socket_Firmware_Flashing_Tool.html – required to change the ESC software

 

http://www.hobbyking.com/hobbyking/store/__27990__USBasp_AVR_Programming_Device_for_ATMEL_Processors.html – required to change the ESC software

 

https://www.youtube.com/watch?v=051ga6xaOhs – how to reprogram

https://www.youtube.com/watch?v=uYHoc34phh4 – how to reprogram

 

https://launchpad.net/brushed

http://robowars.org/forum/viewtopic.php?t=1581

 

 

Battery, charger, and regulator

 

Lithium polymer (lipoly) batteries are normally used since they are lighter for a given energy storage than most other batteries.  However, they can spontaneously catch on fire, so safety precautions should be used especially with larger batteries (>750 mAh).  When charging they should never be left unattended and they should be stored in a safe fireproof place (e.g. a strong closed metal toolbox).  Furthermore, you should be careful not to short (or even get close) the battery leads since a large current will be produced which can result in a harmful flash and very high temperatures (like an arc welder).  When soldering / working with the leads of a lipoly battery you should always put electrical tape on one lead to prevent an accidental short circuit.

 

Note that the energy of a lipoly battery is proportional to weight, so there is a trade-off between flying time and battery weight.  The flying time can be used to estimate the average current for the motors using the conservation of energy as follows.

 

E(battery) = E(motors)

 

Vb * mAh =

4 * Vm * I * t(discharge time in h) – assuming 4 motors

 

I = ( Vb / Vm ) * ( mAh / t ) / 4

 

where Vb is the battery voltage and Vm is the average motor voltage. Assuming Vb/Vm = 3 (a conservative estimate) gives the average current I in mA

 

I = 3 / 4 * mAh / t

 

For example, the MJX X101 has a 7.4V 1200 mAh battery and the flight time is 9 min.  Therefore, an estimate of the average current for each motor is given by

 

I = 3 / 4 * 1200 / (9/60) = 6000 mA

 

This information can be used to select wire and amplifier sizes for the motors.

Note in some special cases (such as the JJRC H8C with the double sized battery voltage) the Vb/Vm ration could be 6 or more, so the above formula should be adjusted in those special cases.  The Vb/Vm ratio of 3 is a reasonable approximation for most stock setups.  If you need more accurate estimates of the current you can measure it in the lab with the propeller attached, preferably in a thrust testing stand.

 

Note that the total lift reduces as the battery voltage decreases during operation.  A lipoly batter typically starts around 4 V and reduces to 3.5 V.

https://learn.sparkfun.com/tutorials/battery-technologies/lithium-polymer

 

This information should be taken account when selecting battery and motor sizes and perhaps in the flight controller.  At the least, a battery monitor should be employed to indicate when the battery level is too low.  A battery monitor can be constructed using an Arduino ADC or bought as a separate component such as:

http://www.hobbyking.com/hobbyking/store/__14520__HobbyKing_8482_Lipoly_Battery_Monitor_1S.html

http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=7224

http://www.hobbyking.com/hobbyking/store/__60454__Turnigy_3_In_1_Battery_Monitor_Signal_Loss_and_Lost_Airplane_Alarm.html

 

Here is a good inexpensive source of batteries / chargers for Syma X5C size drones (650mAh -- an upgrade over the stock 500mAh):

 

Holy Stone 5-In-1 Max 2.5A Current Input Fast Battery Charger and two batteries for X5C Holy Stone M68

https://www.amazon.ca/gp/product/B00RSWH0K6/ref=ox_sc_act_title_1?smid=A3QTILSGJZUURE&psc=1

 

The largest and highest performing battery that can fit inside a Syma X5C is:

Turnigy nano-tech 750mah 1S 35~70C Lipo Pack (Fits Nine Eagles Solo-Pro 180)

http://www.hobbyking.com/hobbyking/store/uh_viewitem.asp?idproduct=20386

This can provide 10-12 min with the stock Syma X5C configuration without the camera. Note that the connector of the Turnigy nanotech 750 must be reversed (if it hasn't been done so already by someone else) after it has been bought as the connector polarity is the opposite of what the Syma X5C (and Syma X5C battery chargers expect).

https://www.youtube.com/watch?v=avwobYJ_AeA

 

The double voltage (7.4V) battery that is the secret sauce of the JJRC H8C increased power is given here

http://www.banggood.com/JJRC-H8C-RC-Quadcopter-Spare-Part-Battery-H8C-10-p-953564.html

http://www.banggood.com/JJRC-H8C-DFD-F182-F183-Quadcopter-Spare-Part-7_4V-650mAh-25C-Battery-p-963630.html

http://www.gearbest.com/rc-quadcopters-parts/pp_182606.html?wid=21

 

Lipoly battery voltage levels decrease significantly over time during operation (20-30%).  Furthermore, when motors / amplifiers are connected to batteries they cause significant electrical noise at the battery leads.  A regulator circuit (or a separate battery) is thus required, in order to provide a constant and less noisy voltage, for sensitive equipment such as flight controllers, micro controllers, and receivers to insure stable operation.  The stability of electronic components such as Xbee transmitter / receivers also seems very sensitive to battery voltage even though it is typically provided by a regulator on the microcontroller board. Some electronic speed controllers (ESCs) have a battery elimination circuit (BEC) which provides regulated power for sensitive equipment.  Note that step-up and step-down regulators are also available along with adjustable regulators that can do either task.  Here are some examples of good regulators circuits:

 

http://www.robotshop.com/ca/en/5v-step-up-voltage-regulator-u3v12f5.html

http://www.robotshop.com/ca/en/33v-step-up-voltage-regulator-ncp1402.html

http://www.robotshop.com/ca/en/step-up-step-down-voltage-regulator-s7v7f5.html - does both automatically (good if you want to use different battery types, eg 3.7V and 7.4V)

 

Alternatives:

https://www.sparkfun.com/products/317

http://www.digikey.ca/product-detail/en/on-semiconductor/MC34063AP1G/MC34063AP1GOS-ND/919067

http://www.digikey.ca/product-detail/en/texas-instruments/MC34063AP/296-17766-5-ND/717432

 

 

Transmitter and receiver

 

A transmitter / receiver combination is used to manually guide your drone with a control stick input.  These systems normally use the 2.4 GHz band that many wireless devices use (WiFi, Xbee -- see below, etc.).  The 2.4 GHz is free for companies to use and thus very crowded.  For this reason you need to be careful about interference from all nearby 2.4 GHz devices including transmitter / receivers for other drones.  Carbon fiber composite frames can also interfere with wireless communication as well as poor placement / selection of antenna.

 

Most transmitters / receivers from different companies are not compatible.  I've heard Flysky and Turnigy are compatible though.  A new standard called DSMX from Spektrum has been introduced which is more resistant to interference.  If you want to run several drones in close proximity then it's best to use a DSMX transmitter / receiver.  Note mode 2 transmitters (or adjustable mode) are best for quad rotors. Good inexpensive DSMX transmitters include:

 

Spektrum DXe Transmitter System with AR610 Receiver

http://www.robotshop.com/ca/en/spektrum-dxe-transmitter-system-with-ar610-receiver.html

 

DX6i 6CH DSMX Radio System with AR610 Receiver

http://www.robotshop.com/ca/en/dx6i-6-channel-dsmx-radio-system-receiver.html

 

Good inexpensive DSMX receivers include:

 

Lemon Rx DSMX Compatible 6-Channel Receiver

http://www.lemon-rx.com/shop/index.php?route=product/product&path=72&product_id=122

 

OrangeRx R615X DSM2/DSMX Compatible 6Ch 2.4GHz Receiver w/CPPM

http://www.hobbyking.com/hobbyking/store/__46632__OrangeRx_R615X_DSM2_DSMX_Compatible_6Ch_2_4GHz_Receiver_w_CPPM.html

 

Good inexpensive non-DSMX transmitter / receivers include:

 

FS-I6 Flysky i6 2.4 GHz Receiver and Transmitter Kit

https://abra-electronics.com/quadcopters/controllers/fs-i6-flysky-i6-2.4-ghz-receiver-and-transmitter-kit.html

 

Turnigy 6X FHSS 2.4ghz Transmitter and Receiver (Mode 2)

http://www.hobbyking.com/hobbyking/store/__24969__Turnigy_6X_FHSS_2_4ghz_Transmitter_and_Receiver_Mode_2_.html

 

Note that the receiver board produces a pulse for each channel with a duration proportional to the stick position.  This information could be used by a microcontroller board in addition to the flight controller. 

 

The control sticks also adjust potentiometers inside the transmitter box.  The voltage from these pots can be read with an Arduino ADC pin.  Furthermore, a DAC signal (or filtered PWM signal) can be fed into the transmitter (replacing the voltages from the potentiometers) in order to externally control the drone from an Arduino / PC.

 

You should also be careful of the "fly away" problem when flying outdoors that some drones have when they go out of range.  The phenomena is pretty self-explanatory.  It can be emotionally scaring for drone owners.  A good controller will try to come home or land when it's outside of range.  A drone builder should try to include this feature.

 

 

Flight controller

 

A flight controller is a microcontroller board with control software for drones (quad-copter, tri-copter, hexa-copter, etc.) and a built in inertial measurement unit (IMU) to sense orientation and acceleration.  A set of PID controllers use this sensor information to command the motor actuators in order to obtain stable motion with respect to a reference position.  Commands from the transmitter are read by the controller and used as the desired / reference position for the drone.  The PID parameters can be adjusted and tuned using configuration software.  Flight controllers simplify drone development considerably since you don't have to write control software or buy and connect an IMU.  This gives more time to focus on the overall mechatronic and design problems.  Note that the flight controller must be firmly connected (perhaps with vibration isolation mounts) to the frame in order to accurately sense the drone position and orientation.

 

There are a variety of flight controller boards and software packages available from the hobby community (Naze32 / Cleanflight, CD3D / Openpilot, Ardupilot / APM, etc.).  In my opinion, MultiWii is best for DIY projects for engineers because it's Arduino compatible and inexpensive while also supporting a large variety of controller boards.  The main advantage of the other boards / software is 32-bit processors (MultiWii uses 8-bit Arduino processors) which provide more power and memory.  However, the power and memory are not needed for PID control so the extra capability is not very useful for control purposes.  An additional microcontroller (8-bit or 32-bit) can be added for more computing power and additional functionality without being bogged down by low level flight control operations.

 

The alternatives to MultiWii are also supposedly easier to use.  However, MultiWii is much easier to use if you want to change the flight control software because the program structure is less complicated with less lines of code.  It’s also Arduino based so it provides a very familiar architecture and programming environment.  Basically, MultiWii software designers kept it simple because MultiWii boards have less memory.  Therefore, MultiWii is actually easier to use in many significant ways.  More information about MultiWii including how to configure the software is provided here.  Note this is a preliminary guide and provided on an “as is” basis – don’t ask me any question yet.

 

http://users.encs.concordia.ca/~bwgordon/MultiWii.html

 

Some of the better MultiWii boards include:

 

http://www.robotshop.com/ca/en/mwc-multiwii-flight-controller-uav-w--pins-arduino-compatible.html

Robotshop also has a version with soldered pins but I prefer to solder the pins separately since it provides more mounting flexibility in tight spaces (i.e. the pins can be mounted in different directions).  Note that many of the pins don’t have to be soldered – see the MultiWii guide above.

 

http://www.readytoflyquads.com/flip-mwc-flight-controller - same as Robotshop model above but for less money

 

http://www.readytoflyquads.com/flip-2-5 - adds barometer (for altitude measurement) and a compass

 

This is my preferred board at the moment.  The compass allows the control of the yaw/heading and the barometer allows rough control of the altitude.  The other boards above just stabilize the drone position and orientation.  However, this is enough to do many things including aerobatic maneuvers.

 

CRIUS MWC MultiWii SE V2.6

- Crius seems to be one of the largest producers of MultiWii boards

- pins are soldered in the board (can be removed if necessary)

http://www.dx.com/p/crius-mwc-multiwii-se-v2-5-version-multi-copter-4-axis-main-flight-control-board-blue-227394#.V0jMHze7cfF

 

CRIUS All IN ONE PRO Flight Controller V2.0

- MultiWii board with the most memory and inputs / outputs (based on Arduino Mega microcontroller)

http://www.goodluckbuy.com/crius-all-in-one-pro-flight-controller-v2-0-lastest-ver-pirate-mwc-arduplaneng-multiwii.html

 

 

Optional components:

 

Microcontroller

 

Adding an additional microcontroller to your drone (in addition to the flight controller) can be used to add new functionality to your drone without burdening (or potentially damaging) the flight controller or modifying its software.  Additional functionality includes tasks such as path planning (using GPS or other sensors), reacting to stimulus (fire, light, etc.), wireless communication with a PC, etc.  I strongly recommend using a microcontroller if you want to add additional programmable features to your drone -- don't use the flight controller for anything except flight control.  For flying drones, low weight microcontroller boards with low power consumption are recommended such as:

 

1) Iteaduino Arduino Nano (Arduino compatible)

 

http://www.robotshop.com/ca/en/iteaduino-nano-arduino-compatible-microcontroller.html

https://www.itead.cc/iteaduino-nano.html

 

I recommend this one over other clones since Itead is a good brand name and the USB interface / driver is good (it won't suddenly stop functioning like other clones).  Note that this board is classified as an "Arduino Pro or Pro Mini" in the Arduino IDE and not a "Nano" -- this is the case for most Arduino Nano clones.

 

2) Teensy 3.2 (Arduino compatible)

 

This is a 32-bit microcontroller board with much greater processing power and more memory than an Arduino (10-20x).  It is 100% Arduino compatible after you install the Arduino IDE add-on (Teensyduino).  It also has 16-bit ADC (Arduino has 10-bit) and 12-bit DAC (Arduino has none).  This is a great board for mechatronics and audio projects in general.  The main drawback is it takes a bit more power (50 mA at 5V) than a regular Arduino board (25 mA at 5V) but not that much.

http://www.robotshop.com/ca/en/teensy-32-usb-microcontroller-development-board-pins.html

 

3) Raspberry pi 3

 

The 64-bit Raspberry Pi 3 is a single board computer that is significantly heavier than the microcontrollers above (45 g).  It can, however, be used with large flying drones and ground / water drones.  It has much more processing power than the options above -- 20x or more times the processing power of a Teensy 3.2.  This makes it suitable for more demanding tasks such as computer vision and complex path planning / decision making algorithms.  However, the Raspberry Pi 3 uses significantly more power (580 mA at 5V) and it’s more expensive.  The Raspberry Pi 3 is comparable in processing power to an inexpensive laptop from a few years ago.  It can add a great deal of intelligence / autonomy to a drone.  It runs a variation of the Linux operating system which is very good for embedded / real-time programming.

 

http://www.robotshop.com/ca/en/raspberry-pi-3-computer-board.html

https://www.raspberrypi.org/magpi/raspberry-pi-3-specs-benchmarks/

 

 

Sensors

 

Various sensors can be used to give your drone the ability to sense and react to its environment.  This includes:

 

ultrasonic - good for inexpensively measuring distances, obstacle avoidance, and the height above ground (for altitude control near the ground).  For example,

 

HC-SR04 Ultrasonic Range Finder (iTead Studio)

http://www.robotshop.com/ca/en/hc-sr04-ultrasonic-range-finder.html

 

Note that sensors such as ultrasonic and light sensors (below) can be mounted on servos in order to point and measure distance in different directions.  You can potentially create a map to guide the motion of a drone this way.

 

Infrared / light - good for measuring distances and finding hot objects.  For example,

 

http://www.robotshop.com/ca/en/infrared-light-sensors.html

 

http://www.robotshop.com/ca/en/electronic-brick-light-sensor.html - measures incoming light, easy to hook up

http://www.robotshop.com/ca/en/mini-photocell-light-sensor.html - same as above and lighter, but requires a bit more wiring (need to add resistors)

 

http://www.robotshop.com/ca/en/sharp-gp2y0a02yk0f-ir-range-sensor.html – IR range finding sensor

http://www.robotshop.com/ca/en/sharp-gp2y0a710k0f-ir-range-sensor.html -- range finding sensor for long distances

 

Inertial measurement unit (IMU)

 

Measures orientation, acceleration, and sometimes pressure/altitude. Note that the flight controller board has a built in IMU to control stability.  However, a good external IMU can potentially be more accurate and provide better performance.  For example,

 

BNO055 9 DOF Absolute Orientation IMU Fusion Breakout Board

This board is good because it has built in filtering software to compute Euler angles, etc.  You and the microcontroller don't have to waste time with matrices, transformations, and filters to use it.

 

http://www.robotshop.com/ca/en/bno055-9-dof-absolute-orientation-imu-fusion-breakout-board.html

 

GPS sensors

 

Can be used outdoors to measure the position to within 2.5m.  This allows the drone to hover in the same location or follow a path which is useful for camera applications. Example GPS boards include:

 

http://www.robotshop.com/ca/en/adafruit-ultimate-gps-breakout-66-channel-mtk3339.html

http://www.robotshop.com/ca/en/sfe-venus-gps-w-sma-connector.html

http://www.readytoflyquads.com/rtf-econo-line-gps-w-mounting-backplane-and-compass

http://www.readytoflyquads.com/mini-ublox-m8n-gps-w-35x35mm-mounting-backplane-and-compass

 

 

Actuators

 

Additional actuators (apart from the thruster motors) can be added for additional functionality.  This includes servos for picking up and pointing at things, for example:

 

http://www.robotshop.com/ca/en/hitec-hs55-servo-motor.html -- a good lightweight servo

 

Interfacing an Arduino to servo motor is covered in the following lab:

http://users.encs.concordia.ca/~bwgordon/arduino_lab2.html

 

Servos can also be potentially used for changing the direction of your thrusters for thrust vectoring capability.

 

and lasers for shooting at things, for example (there are cheaper and lighter lasers available elsewhere though):

 

http://www.robotshop.com/ca/en/laser-module-red-point.html

 

 

Wireless communication

 

Wireless communication between a microcontroller and a PC can be used for remote control of the drone from a PC and telemetry (sending data back to the PC for analysis).  The most simple (and one of the best) ways to communicate wirelessly is using a pair of Xbee communication modules.  One module connects to the serial port of the microcontroller and another module connects to a USB adapter that connected to the PC.  The PC can then perform two way communication (at 250 kbps max) with the microcontroller using standard serial communication protocol software (examples are provided in the microcontroller section).  Note it's normally better to use the series 1 Xbee (not the series 2 or pro) since it's much easier to configure and it has less communication delay (about 1/30s).  Here are the components needed for an Xbee link:

 

http://www.robotshop.com/ca/en/1mw-xbee-transceiver-module-trace-antenna.html -- need two of these, one for each side

 

http://www.robotshop.com/ca/en/sfe-xbee-explorer-usb.html

 

The Xbee pro can be used for longer distances.  When using Xbee communication (which is also 2.4 GHz based) you should check for delays, dropped / lost messages, and interference (with transmitter / receivers, WiFi, etc. ).

 

Note that the raspberry pi 3 has built in WiFi which allows communication with a PC at a much faster rate than the Xbee (an antenna might be required for long distances though).

 

 

Data logging

 

Recording flight data is good for analyzing the cause of crashes as well as providing data for analysis and plotting.  However, most microcontrollers such as Arduino have very small amounts of memory for recording data.  Therefore, the data needs to be sent back to a PC with wireless communication such as Xbee or recorded on a micro SD card.  The micro SD option is less complicated with better performance so that’s what I normally recommend.  The following micro SD adapters can be used with an Arduino or other microcontroller board.  The SD Datalogger example in the Arduino IDE shows how this is done.

 

http://www.robotshop.com/ca/en/microsd-adapter-arduino.html

http://www.robotshop.com/ca/en/adafruit-microsd-card-breakout-board.html

 

 

First person view (FPV)

 

First person view equipment sends a live image back to a screen or goggles which can be used to fly a drone from a first person perspective.  This cool feature adds a new level of realism and interest to drone flying and racing.  FPV requires a camera mounted on the front of the drone which can also be pointed using servos.  The camera is then connected to a transmitter which sends a live video feed back to a receiver which then connects to a monitor or goggles.  Since the 2.4 GHz wireless band is pretty crowded most FPV equipment uses the 5.8 GHz band.  The quality of the video is a bit low (600 horizontal lines) so an additional high definition recording camera (which records to a micro SD card) is often added to larger drones.  The following links provide recommendations for entry level FPV gear based on my experience.  I have a set of Cyclops goggles and they are very good.

 

FPV gear

 

Quanum Cyclops FPV Goggle and receiver

http://www.hobbyking.com/hobbyking/store/__104149__Quanum_Cyclops_FPV_Goggle_w_Integrated_Monitor_and_Receiver.html

Quanum ELITE QE58-2 5.8GHz Selectable 25mW - 200mW Wireless AV Transmitter

http://www.hobbyking.com/hobbyking/store/__89786__Quanum_ELITE_QE58_2_5_8GHz_Selectable_25mW_200mW_Wireless_AV_Transmitter.html

Aomway 5.8GHz 4-Leaf Clover Antenna Set for TX/RX

http://www.hobbyking.com/hobbyking/store/__76889__Aomway_5_8GHz_4_Leaf_Clover_Antenna_Set_for_TX_RX_SMA_RHCP_.html

RunCam SKYPLUS-L28-P FPV Camera PAL

http://www.hobbyking.com/hobbyking/store/__88662__RunCam_SKYPLUS_L28_P_FPV_Camera_PAL.html

Recording cameras

 

RunCam FULL HD 1080P 120 degree FPV CAMERA (DC 5V)

http://www.hobbyking.com/hobbyking/store/__88674__RunCam_FULL_HD_1080P_120_degree_FPV_CAMERA_DC_5V_.html

RunCam2 FULL HD 1440P 4MP 120 Degree FPV Camera w/ WiFi (Orange)

http://www.hobbyking.com/hobbyking/store/__97437__RunCam2_FULL_HD_1440P_4MP_120_Degree_FPV_Camera_w_WiFi_Orange_.html

The RunCam2 can also be used as a FPV camera in addition to recording.