Building an FPV racing quadcopter
Building an FPV Racing Quadcopter
There are nearly as many articles out there on how to build a racing quad as there are different parts. Most of them will work (the parts and the guides) in that you will get a quadcopter at the end of it. If it is the only quad you build and you only potter around the local field, then you may struggle a little but you will probably have fun! You can also buy Ready To Fly (RTF) quadcopters and again, even though half of what you pay will go towards the effort to build it, you will have fun. The difference between that sort of quadcopter and a good "racing" or "acro" quad is chalk and cheese when you get some flight-time under your belt.
This article contains the details on how to build a pro standard racing quad. It can be used as a follow-along guide of sorts but it also explains why components are used and what you should consider when selecting them if you want more than a basic ‘how to’.
Please build, fly and configure your drone safely. Moving propellers and mishandled lithium batteries can cause serious damage to person and property. It is your responsibility to operate safely when flying and handling your ‘drone’!
Some related external resources (by no means exhaustive!): -
The parts used in this guide are listed below, along with some of reasoning behind their selection.
Stanton Frames TSX200 was selected because the best acro or racing frames are lightweight, true-X frames. There are several of these to choose from such as the Shrike, the SCX200 and the QAV-X. The author has all of these frames. They all fly well but the reasons we are using the TSX are as follows: -
If the flight controller is mounted on standoffs that form part of the frame, it will pick up oscillations from the motors in its gyro. Less vibration dampening can be used on that type of frame to isolate the flight controller, which makes the quad difficult to tune and prone to oscillations and prop wash
The TSX 200 is not over-engineered with unnecessary and thus carries no unnecessary weight in stock form
Out of all the frames on the market the author is aware of, the TSX-200 and the SCX-200 are the best value for this application
Since writing this guide, a multitude of other racing drone frames have been released! Although not a true X frame, the
Mongoose is a superb "stretched X" with low weight, simple layout and relatively tough construction at a price that is hard to beat. Motors
The Brother Hobby Tornado T2 2300kv Motors were selected to power this quad. Miniquadtestbench.com is an excellent and neutral site for motor tests. 2206 2300KV is a sweet spot for motors on 5-inch racing quads. There are some 2205 2300Kv such as the Cobra Champion and Xnova which can match the top 2206 on light 5 inch props, but lose efficiency with medium and heavy props. Higher Kv 2206 motors provide thrust which is never used as it just makes the quad gain altitude (not something that is helpful if you are trying to fly under a gate!) at the expense of worse efficiency. The writer has Xnova 2206 2500Kv and ZMX V3 2206 2600Kv on quads, all they provide is areas at the top of the throttle range you don't need and shorter flight times. A light-weight 2206 2300Kv motor with around 1300 grams of thrust at 3g per Watt or better on the props to be used is ideal. Brother Hobby have a couple of such offerings, the Tornado T2 does this at a reasonable price. Some motors also have other side effects – for example red bottom racing motors have a habit of producing mechanical noise (oscillations). Lumenier motors are an area about which an entire page could be written, the summary would be that the 2206 2350kv are a nice choice if you want a smooth acro quadcopter but you would lack top-end and pay over the odds!
Prop selection is important! The combination of motor, prop, ESC and LiPo comprises the power train for the quad. If the props are too aggressive, the motor will draw too much power, get hot and struggle to keep the power on or change thrust; if the motors are too small/lacking in torque the same problems will occur. If the props are not aggressive enough or the motors are overly powerful the thrust will be low. If the ESC amp rating is low the ESCs will burst into flame, if the lipo is not capable of providing enough power it will damage the battery.
Again miniquad test bench is a must-visit site for prop/motor data, with 2205s the author tends to run HQ 5×4x3 props as they are light and respond fast. With good 2206 motors most 5 inch tri-blades are fine. The author avoids bullnosed props as they can be very inefficient. For 2206 motors like the T2, the preferred props are HQ5040 S-tip triblades and Racekraft 5051s. The TSX will not fit the
Racekraft props so the HQProp S-Tip it is! ESCs
The Sunrise Cicada V2 30amp BLheli_s ESCs were chosen simply because BLheli_s ESCs are the best on the market. The only reasonably competitor is Kiss. The writer has 6 different types of BLheli_s ESCs on quads and a quad with kiss24a. BLheli_s based ESCs are preferred because without using a KISS flight controller it is far easier to do so. Significant differences can be experienced in-flight between BLHeli and BLHeli_S ESCs, but it would not be truthful to say the writer can distinguish any difference between different BLHeli_S ESCs in-flight.
To decide which BLheli_s ESC to use the first step is to find out how many amps your motors will pull. A quick trip to miniquadtestbench.com shows the Brother Hobby 2206 2300Kv draw about 27 amps on the bench. In reality, in flight the motor will draw 25-30% less, so we are looking for an ESC that can cope with amps in the low 20's. The writer teetered over the
Spedix ES25 ESCs which are very reasonably priced, and in all probability if cost was a concern, those would have been selected. Burning an ESC would have been the authors own fault, but since this is a kit list under recommendation, the Sunrise Cicada 30 amp has been chosen. The Little Bee 30A ESC was also a candidate, but that one is bigger and slightly heavier. In fact, in the couple of weeks since writing this, the Spedix 30A HV with Dshot has been released, which would also be a good choice.
Rather than the standard OneShot or Multishot protocol, we will be using DShot. DShot is currently under development but the author has been flying with this protocol since the first development release; it provides notably more stability than PWM protocols such as OneShot and the improvement can actually be heard in the motor sound!
In principle the Sunrise Cicadas can run Dshot 150 or Dshot 300 without modification (Author has such a setup) but for the best signal we are going to remove the capacitor on the ESCs on the signal line, which will allow them to run up to Dshot600 and give a better digital signal for the slower protocols at the cost of making PWM protocols (which we will not be using) more vulnerable to noise. The Capacitor that we are removing is shown in the picture below with a yellow circle round it.
To remove the caps the author used a craft knife. On other ESCs the author has used clippers to cut the cap in half first but these were reasonably easy to simply cut off. Flight Controller
The Bluejay F4 Flight Controller was selected for the heart of this setup. The main criteria for a flight controller is to avoid MPU6500 or MPU9250 Flight controllers, which although can be just fine, are twice as vulnerable to noise as other gyros and some seem to get overwhelmed with noise and completely fail (An issue in Github since spring 2016). Invosense (the manufacturer of aforementioned gyros) does not list quadcopters as a recommended use for this gyro in its own specifications and anecdotally has recommended on social media that it not be used for that purpose!. F1 flight controllers are now far too slow in terms of processor speed and even F3 are showing cracks. It is comparatively easy to run fast loop times and a couple of features and overload them, so F4 is the way to go (until F7
come out!) An F3 would also work.
There is no need for an integral PDB or OSD in the flight controller as we are going to provide this functionality elsewhere. Blackbox logging to an SD card is very convenient, although the author does not subscribe to using a black-box feature too much for tuning, it can be an invaluable tool for ‘debugging’. There are also people on the RCGroups forum who will go through the data for you.
With this in mind, the BlueJay FC is one of the best flight controllers the author has used (and is now on his third quad with it!)
Whenever you buy a Flight Controller the first thing you should do is plug it in and connect it to your PC, as suppliers will generally not accept returns if you have soldered anything. Therefore make sure you can connect to the flight controller and check its sensors work correctly before any modifications.
The Frsky XSR is the smallest FRsky receiver that will provide SBUS and smartport and up to 16 channels and as well as a smaller form factor it has shorter antenna than the old X4-RSB. The range of the XSR may be slightly less but that is not really a problem for this type of quad which is never going to be trying to break any distance flying records. As a basic rule this type of build is compact, the
smallest receiver possible should be used. Frsky XM receivers are also available and provide an even smaller form factor although do not provide telemetry. FPV Camera
The Foxeer Arrow, HS1177 or HS1190 are a perfectly good
FPV camera for this type of quadcopter. Its form factor has become the defacto for frame designers and 600TVL CCD is the optimum compromise between latency and detail. The only legitimate reason for not using that cam is that its OSD cable is not on a separate plug, so once is set up the wires are cut or the plug is de-pinned, this makes changing any settings later a very onerous task.
We will be using the Foxeer Arrow for this build, mainly due to the fact it has a voltage monitor and OSD so it displays the battery voltage and flight timer without the need for a separate OSD.
FPV Video Transmitter and Antenna
TBS Unify Pro HV Race is a great choice here. Normally the author uses Fx799T or Foxeer switcher VTXs, but this frame has specific
requirements for how the antenna is mounted. Unlike other similar frames, the antenna can not leave the body from the centre rear of the frame because it uses a single rear standoff, so the frame pretty much mandates that the antenna is mounted through a hole in the top. This either requires a vTx with a vertically connected SMA/RP-SMA connection or one with a pigtail. Since the Unify Pro Race had just come out, the author opted to try it! Other requirements for a racer vTx are 40 channels and 25mW capable (the legal limit in the UK is 25mW!)
For the antenna, the
TBS Triumph was chosen. This is one of the best antennae the author has used. Battery Selection
Selecting the right battery for your racer is quite important. Firstly because your motors and props are going to try and draw a certain amount of current (Back to miniquadtestbench.com!) and if your battery cant deliver that current, it is going to
and your quad will feel slow and sluggish and perhaps more importantly this can cause your lipo to puff and ultimately become useless.
The calculation in the ESC section of the guide shows the quad can expect to be heading towards 25amps for each motor at full throttle. The rest of the electronics will only draw a fraction of this, so the lipo needs to be able to handle bursts of 100 amps.
To find what a battery can provide, multiply its capacity in Ah (divide the mAh by 1000 to give amps rather than milliamps) by its C rating. Typically, the higher the mAh, the longer the flight time but the heavier the battery. On this sort of quad 1300-1550mAh lipos are the norm. Note that the C ratings listed by manufacturers are in optimal conditions and are rarely (if ever) attained outside the factory, so a degree of margin is required.
The brand is also important, under heavy load (when the pilot hits the throttle or performs hard manoeuvres) the battery voltage will tend to sag, reducing thrust. The better the quality of the lipo, the less this sag occurs. Cheap lipos just don't fly that well. The testing with this quad was done with a Tattu R-Line 4s 1550mAh 95C battery. The author has used a spectrum of batteries but the Gens Ace R-Line far outstrips the best of them. The R-Line 4S 1300mAh 95C would also be a good choice, if anything making the quad more agile due to the weight reduction but dropping the flight time slightly
Racing quads are very much about weight, don't get carried away with the latest 3d printed gizmo, buzzers, locater devices etc. Before you add anything, ask why? For this build we will be using some bits that don't come with the frame and some bits that are useful, namely: -
XT60 pigtail or
charge lead with the banana plugs cut off. The TSX comes with a PDB but no XT60 plug, initially the author soldered a plug directly to the PDB but this proved to be a bad idea as when the battery is connected, the two XT60 plugs together protrude below the battery, canting the quad over to side, such that it will not sit level on the ground at all. A short (1-2 inch) pigtail was used to attach an XT60 plug to the PDB for battery connection.
Heatshrink tube is ideal for protecting ESCs. The heatshrink that the ESC comes with is removed as part of the build and sometimes this is replaced with electrical tape, but the author finds this makes further work messy. Unshrunk 13mm heatshrink is useful as it cushions the ESCs from the arms and is easily removed should the need arise later. 100mm cable ties from your local DIY store are perfect for securing ESCs and unruly wires.
6mm rubber vibration standoffs to mount the flight controller (and nylon screws and nuts). The Flight controller can be hard-mounted but the combination of granular, fast and accurate throttle control, fast and accurate gyro and powerful motors tends to produce oscillations, which can be cured by rubber o-rings and could easily be used on the frame, but the best way to soft mount the flight controller is to use rubber standoffs.
It has become common advice to use a 1000uf low ESR capacitor across the XT60 connector to prevent electrical noise and voltage ripple from making the quad shake, this would not be an easy thing on this frame, however the use of Dshot should dramatically reduce the impact of electrical jitter so the frame is being built without a capacitor
GoPro2 lens – most FPV cams come with a 2.8mm lens, you can get a much wider field of view which makes flying easier by using a 2.5mm or smaller lens, the main problem is that the smaller the lens, the more the image tends to ‘fish eye’. One of the best lenses which has the minimum amount of fisheye is the gopro2 lens, this is a 2.5mm 170 degree FOV lens, just remove the lens from the fpv cam and add the GoPro lens, power on the cam and adjust the rubber grommet so the lens is locked in place with the cam focused and done.
The first step of the build is to plan the electronics. Often, you can just work this out in your head but for the purposes of this exercise, a wiring diagram is presented so it can be followed. In fact for this build there are two wiring diagrams, this is because the FPV kit is almost entirely separate from the main power train, which is a good thing as the power train can interfere with the video feed so the more separation between the two the better.
The diagram below shows the wiring for the FPV equipment:
The FPV kit is all running from a 12V regulator, there are a couple of good reasons for this: -
Why not use a 5V? A lot of FPV kit, particularly cameras, cease to function if the voltage drops even slightly below 5V. A 5V regulator may be fine or it may not, in the air at speed during a hard manoeuvre is not a good place to be when you find out!
Why not use direct battery power? – Although the kit is rated to 4s voltage levels, the motor/ESCs in flight during braking can create voltage spikes. The author has a draw full of FPV kit that has been burned out by this.
The diagram below is the remainder of the electronics:
When the electronics are worked out, the next step is referred to as a "dry build". This means putting the frame together with the various electronic parts in their places to check it all fits. A couple of things were discovered on the build at this stage, these are: -
Putting a capacitor on the XT60 pigtail was going to be difficult! Typically a 1000 uf low ESR 35V capacitor can be used to prevent electrical jitter getting into the control system, however in this case dshot will be used, which is far more resilient to PWM type protocols like oneshot or multishot anyway
It was planned to solder the XT60 plug directly to the bottom of the PDB facing downwards as shown in the picture below:
However, with a battery plugged in, the leads would protrude below the battery, preventing the quad sitting flat and putting stress on the XT60 plug and the PDB during landing, hence it was decided to use a short pigtail which would curve off to the rear as shown in the picture below:
In this build the Frsky XSR will be seated under the flight controller, since there is a nice void in the frame for it there. A zip tie will secure the TBS Unify to the top plate.
Other preparation work frequently carried out at the more dogmatic end of the spectrum is to file the edges of the carbon plates to make sure they are smooth (this should be done underwater as carbon dust is very bad for the lungs) and then sealing the edges of the plates using superglue or clear nail polish to prevent delamination in a hard crash.
Once the dry fit is done it is time to start soldering. We will not be using pins but directly soldering wires to pads or pin holes. Using pins adds weight but more importantly eats volumes of space in these small builds.
For the new people, a cheap soldering iron is not going to help your cause, get a 40-60W variable temperature soldering station. Get a flux pen and apply flux to pads before soldering. Health and safety has made changes to the composition of solder and modern stuff can be difficult to work with, many people still use rosin core lead/tin solder.
Traditionally, when building a quadcopter the author used to do the power train first so test hovers could be carried out (line of sight) before working on the FPV systems, however the wires are kept as short as possible and this anchors the flight controller so that it obstructs the PDB. On this build therefore, the FPV gear was done first.
When soldering, trim the wire to the appropriate length, remove the end of the sleeve using a stripping tool or a craft knife and tin both the pad and the wire before soldering. Apply some flux with a flux pen, solder the wire to the pad and when it is cooled, clean off the remaining flux with isopropyl Alcohol.
Tip on soldering ESCs: strip off the heat shrink that comes on the ESCs with a craft knife, when all soldering is completed use fresh heat shrink to protect your ESCs but don't actually shrink it. Then it can easily be removed to work on the ESCs at a later date. ESCs and heat shrink are held in pace by a zip tie. However, this requires a little thought, solder the motor side of the ESCs first, then slide the new heatshrink over the ESC and right up as far as possible on to the wires to the motor this should prevent the heat from subsequent soldering affecting the heat shrink, when the final soldering is completed the heat shrink can be slid back down over the ESC in to place.
There are a couple of things that again used by the more dogmatic, these include covering the circuit boards with different ‘gunk’: -
Hot Glue: when wire is soldered directly to circuit boards the solder joints can both be protected and strengthened by the use of hot glue to cover the bond afterwards
Liquid electrical tape: Used in the same way as hot glue, also often used to cover PDBs
Conformal Coating: This is applied to circuit boards to make them waterproof and is available as a spray and a pain!
Configuring the quadcopter
Once the soldering is done and the quad is assembled, before zip ties are put in place and threadlock is applied the next trick is to flash the latest firmware and configure it.
The ESCs should be flashed with the latest version of BLHeli (currently 16.5)
This is done through BLhelisuite or the new BLHeli Chrome app. Download the relevant application to the computer to be used, in this example we will be using the chrome app as it is shiny and new, it is available from the chrome app store. Start it up and plug the USB connection from the Flight Controller in. select the USB port the Flight Controller is on and click connect.
Ensure that the the props are off, add the battery and click
All the settings on the left are fine, in the event of desync demag and/or motor timing can be increased but this will lose some top end out the quad and may cause the motors to heat up. The default setting work just fine for the quad we are building. Check all four ESCs have shown up on the right hand side and check the version they are flashed with. In this case, G_H_30 Version 16.5. !6.5 is the latest version so it does not need updating however if this is required use the "Flash all" button on the bottom right and answer all the questions positively and the version will be upgraded. The rest of the name for a BLheli version (here G_H_30) is a code as follows:
G: this indicates the pin outs used on the processor, if a firmware with a different letter is used it is likely to brick the ESC
H: This indicates the processor is BB2, a BB2 processor can run BB1 code but there is no reason to, a BB1 processor can not run BB2 code
30: This is the quiescence between signals, a smaller one should not be used although a longer one can (in this case G-H-50 for example could be flashed and would work) but there is no real reason to do so
The only other point on this screen is that the motor direction of each motor can be reversed, this will be returned to when we are working on Betaflight and making sure motors are spinning in the correct direction
Once the latest version of BLHeli is installed on all 4 ESCs click disconnect, close the app and disconnect the battery.
We are going to flash the flight controller with Betaflight 3.1.
Install betaflight configurator from the Google Chrome Store if you don't already have it. Start it up and select the Firmware Flasher tab. Select the board and release at the top left and click the Load Firmware (Online) button at the bottom right.
The progress bar will show the progress of the install and the connection type at the top of the screen will change from COM to DFU:
Once it is complete the connection type will change to COM. Click connect on the correct com port and it will connect. On the ports tab disable MSP on UART1 and enable smartport telemetry, Ser UART6 to Serial RX.
Click save and reboot and then reconnect. On the configuration tab. In the esc/motor features section we are selecting dshot600. The author also likes to use motor stop for landings and out of habit min and max throttle have been set;
On the left had side in the Reciever mode and Set Receiver Provider sections set RX_Serial and SBus respectively:
In the system configuration section make sure the gyro loop time is 8kHz, the author also set the PID looptime to 8kHz but to be honest not much difference is observed when running it faster than 2kHz.
In the Other Features section enable telemetry:
Click save and reboot and reconnect. On the PID tuning section we have set some rates and adjusted the PIDS slightly to give a starting point for tuning:
Click Save. On the receiver tab select the channel map required (for a Taranis it is JR / Spektrum / Graupner) and click save.
On the modes tab and set up the modes as required (a three position switch for disarmed/armed/armed and air mode and a second one for modes (stabilised modes are sometimes good for landings)). Click save.
On the motors tab, add the flight battery (making sure the props are off), check the "I understand the risk" button, select the master slider and using the up arrow gradually increase the throttle to find the point where all 4 motors are spinning smoothly in this case mine spin at 1009 throttle.
Take a note of which direction each motor is spinning. There is no need to calibrate the ESCs as we are running dshot.
Extra configuration using the CLI
Go to the CLI tab, we will be setting two commands here:
Set digital_idle_percent: this is the equivalent of min throttle for dshot. We know what value our motors spin up at (in my case 1009), we need to add 20-30 points to this to make sure prop stall doesn’t occur during manoeuvring so we would normally set min throttle to 1029-1039. Dshot uses 0-2000 for its throttle signal, its min throttle is expressed as a percentage, so if you use 1030 as my min throttle that is 3% (1030 in 1000-2000) so the command used is:
set digital_idle_percent = 3
The latest release of Betaflight 3.1 allows a very few flight controllers to run up to 32KHZ gyros and 16KHz PID loops, the Bluejay F4 is one of these. The author has tested on the Bluejay and it works. The processor load needs to be checked using the status command in the CLI to make sure the load has not got too high because too many features and other tasks are running, and the ESC protocol must be dshot600 or multishot to use the 16Khz PID loops.
The next thing we are going to do is run our motors the opposite direction from what is normally used in Cleanflight and Betaflight, there are aerodynamic advantages to doing this, although the author has never felt the difference, but most importantly the props will not throw rubbish into the camera lens and being able to see is very helpful. The command to do this is:
set yaw_motor_direction = -1
When both of these have been entered type save and hit return.
Next is to set all motors running the direction required, remember that we are running reversed motor directions, check the direction you have recorded them moving in, go back in to BLheli and adjust the setting on the relevant ESCs to make them spin in the direction required, do not forget this when you are putting the props on!
Carry out a quick test hover to ensure the quad is functioning and check the FPV is showing up.
Then attach all zip ties and use threadlock on the screws.