I will show you step by step how to build an FPV drone with both analog and DJI FPV systems (also applies to other HD digital systems such as HDZero and Avatar). I will list all the components, explain the wiring and assembly, and tips and tricks that make a reliable FPV drone build.
Can Beginner Build FPV Drones?
Yes, you can just buy a pre-built drone off the shelf, but you won’t learn anything. By building it from scratch, you will learn how everything fits together and it enables you to repair it when something goes wrong.
Building your first FPV drone is not going to be easy, it might take hours, or even days to finish. When you encounter a problem, you might take advice from experienced pilots online, or ultimately end up finding your way by trial and error. Either way, the journey is going to be extremely rewarding.
Learning the Basics
The goal of this article is to teach you the steps and basic knowledge of building a quadcopter. But before we begin, make sure to get a basic understanding what an FPV drone is: How to get started with FPV Drone.
If you ever see an unfamiliar acronym, you can try looking it up here: Acronyms and technical terms in FPV.
I will be using these parts in this tutorial. These are affiliate links, when you make a purchase using these links, it doesn’t cost you anything extra, and I will receive a small commission which will help keep this blog going.
|Frame||TBS Source One V5||GetFPV | Amazon | AliExpress|
|FC / ESC||Speedybee F405 V3 + BLS 50A 4in1 ESC||GetFPV | RDQ | Amazon | AliEx|
|Motors||4x iFlight Xing2 2207 1855KV||Banggood | GetFPV | Amazon|
|Propellers||4x HQ 5×4.3×3 V2S||RDQ | GetFPV | AliExpress|
|Receiver||Radiomaster RP1 ExpressLRS||GetFPV | Banggood | RM|
|FPV Camera||Caddx Ratel 2||Banggood | GetFPV | RDQ|
|VTX||Speedybee TX800||RDQ | GetFPV | AliExpress|
|Misc. Part||Battery Strap (20x220mm)||Banggood | GetFPV | RDQ|
|Optional||Upgrade VTX Antenna||NewBeeDrone | RDQ|
I have a list of the cheapest 5″ drone parts in 2022 if your priority is low cost.
|Frame||TBS Source One (V5)||GetFPV | Amazon | AliExpress|
|FC / ESC||Speedybee F405 V3 + 50A 4in1 ESC||GetFPV | RDQ | Amazon | AliEx|
|Motors||4x iFlight Xing2 2207 1855KV||Banggood | GetFPV | Amazon|
|Propellers||4x HQ 5×4.3×3 V2S||RDQ | GetFPV | AliExpress|
|Receiver||Radiomaster RP1 ExpressLRS||GetFPV | Banggood | RM|
|FPV Setup||Runcam Link + Runcam Wasp (DJI System)||AliExpress | GetFPV | RDQ|
|Misc Part||Battery Strap (20x220mm)||Banggood | GetFPV | RDQ|
Tools and Supplies
You will also need the following tools and supplies when building an FPV drone:
- Soldering Iron and solder
- Hex screwdrivers set (Buy from Amazon)
- A small Phillips head screwdriver (Buy from Amazon)
- A pair of scissors for stripping and cutting wires
- Electrical tape (Buy from Amazon)
- 3M double sided foam tape (Buy from Amazon)
- Digital multimeter (Buy from Amazon | Banggood)
- A bunch of 2mm wide zip ties (ideally 15cm or longer, buy from Amazon)
- Cloth tape (15mm is a good width, great for wrapping motor wires but can be replaced by electrical tape, buy from Amazon)
If you are serious about the hobby, here’s a complete list of tools that you might find useful.
I have chosen the latest Source One V5 frame for this build because it’s one of the cheapest frames available. Also, because it’s open source, the design has been constantly updated over the years by the community to keep up with the latest hardware requirements, improving performance and usability. Here’s my review of the TBS Source One V5 frame.
The other cool thing about the Source One is the large number of free 3D printing designs available on Thingiverse for enhancement.
FC and ESC
I like getting an “FC stack” that consists of a flight controller board and a 4in1 ESC board, because there is minimal amount of soldering, it’s usually plug-and-play and it just works.
I’ve chosen the Speedybee F405 V3 stack because it’s one of the best value stacks out there at the moment (Nov 2022). It’s packed with features and has built-in Bluetooth for Betaflight configuration from your phone, and much more!
If you can’t get the Speedybee F405 V3 for some reason, here are my other FC recommendations.
Popular motors with similar size these days perform quite similarly, the main difference is usually the build quality. For a 5″ FPV drone, motor sizes such as 2306, 2207, 2208 are all good options here, here’s my reason why I’ve gone with 2207.
The other consideration is motor KV, we are using 1855KV in this build because I am planning to use 6S LiPo battery. For 6S, KV range between 1600-1900 are pretty common, the higher KV is more aggressive and power-hungry. 4S is also a popular option, but here are my reasons why I prefer 6S over 4S.
The two most popular FPV systems right now are analog and DJI, I will be covering the installation and setup for both systems in this tutorial.
For the Analog build, I will be using the Speedybee TX800. It’s an affordable yet high performance VTX that is easy to mount in the Source One frame. If it’s not available to you, here are other VTX I recommend.
For the DJI build, I will be using the Runcam Link VTX and Wasp Camera combo.
There are quite a few DJI compatible cameras, each has pros and cons. In a nutshell, for the best image quality during the day, I’d recommend the Nebula Pro (almost identical IQ as the DJI OG camera), but it’s rarely in stock nowadays and performs poorly at night. For low light, the Caddx Polar is probably the best, but it doesn’t have low latency mode (120FPS). The Runcam Wasp offers the best of both worlds, decent image quality and low light performance and yet it’s great in low light while still capable of 120FPS low latency mode. However it’s not the perfect camera and still has some downsides, not deal breakers IMO, but you should check out in my review to make an informed decision.
Your choice of radio transmitter will determine what receiver (RX) you can use. If you follow my radio recommendation, then your radio should support ExpressLRS, which is my recommended choice of radio link at the moment (Nov 2022). It’s affordable, high performance and just works! I have a whole article explaining why I love ExpressLRS.
There are many manufacturers making receivers and transmitter modules for ExpressLRS, you can get any of them, as long as they are ExpressLRS they will work together. I have chosen the Radiomaster RP1 receiver because I have used them for a few months now and they perform great, and they seem to be always in stock so far.
You will need the following accessories to fly a quadcopter in FPV. Take a look at what gear I use everyday for some ideas. Here is a summary.
A Radio Transmitter (Buyer’s Guide) is used for controlling the drone, right now (Nov 2022) I recommend getting the Radiomaster TX16S MKII (see my review), as it’s probably one of the best value radios out there.
A pair of FPV Goggles is for watching real-time video from the drone, here is my FPV Goggles Buyer’s Guide. The best in class analog FPV Goggles right now would be the Skyzone SKY04X (Nov 2022). If those are beyond your budget, you can check out the Skyzone Cobra X (review) which I think is the best budget “box goggles” at the moment (Nov 2022).
To use the DJI FPV System, you will need a pair of DJI FPV Goggles (see review), doesn’t matter if you are getting the V1 or V2, they have identical performance and will work equally well for custom built FPV drones.
As for LiPo batteries, some 6S 1000mAh-1300mAh would be perfect for this build, see this post for my LiPo Recommendations. Make sure to spend time learning about LiPo in this Battery Buyer’s Guide, they can be dangerous when mishandled.
If you want to see other mini quad parts that I have tested and recommend, check here: https://oscarliang.com/tag/recommend/
Steps of Building FPV Drone
Click the link will take you to the section in this article:
- Frame Assembly
- Installing Motors
- Wiring Diagram
- Installing ESC
- Testing ESC and Motors
- Setup Receiver
- Installing Analog FPV Setup
- Installing DJI FPV Setup
- Finishing off
- Using 3D Printed Parts
- Setting up Betaflight
- Tuning FPV Drone
- Learning How to Fly
1. Frame Assembly
It’s optional but a good practice to “prepare” the frame before building:
- Sand down the sharp edges on carbon fibre pieces, especially the outer side of the arms and plates. Sharp edges could cut your wires and battery strap in a crash. The chamferred edges can also make carbon fibre sheet less likely to delaminate in crashes
- Wash all carbon fibre parts in soap water to remove any carbon dust that remains after cutting, drilling and sanding (note that carbon fibre is conductive), then dry with towel
Assemble the frame by first sitting the arms and arm lock on top of the front bottom plate.
Then put the rear bottom plate (which has push nuts) on top of the arms, and fasten with screws from the bottom. Finally install the 8 aluminium standoffs, but watch out for the different heights, the four front standoffs are longer.
2. Installing Motors
You can now mount the four motors to the arms. It’s recommended to use threadlock on the motor screws. That’s because motors make vibrations and those screws can wiggle free over time. The good news is that the screws that come with the Xing2 motors already have threadlock applied, so we don’t need to worry about it.
If you use ordinary screws, you should get some loctite (thread locker). Make sure to get the blue liquid type, the red liquid type is intended for permanent use and you will have a very hard time undoing those screws later on.
Finally, make sure the motor screws are not too long and touching the motor winding. Here is how to check if your motor screws are too long if you can’t tell from looking at it.
3. Wiring Diagrams
You should draw a wiring diagram on a piece of paper about how to connect all the components. If you are using the same components that I recommended, here is a connection diagram you can follow.
For the Analog build:
You can “dry fit” all the components in the frame without actually connecting and soldering any of the wires. This allows you to see how long the wires need to be, where to place the components, and spot any potential issues with spacing.
4. Installing ESC
The Speedybee F405 V3 stack comes with long M3 30mm bolts, which I will be replacing the four shorter screws in the frame with.
Just slide the 4in1 ESC and FC boards into the four long screws. Watch out for the orientation of the ESC board – the power pads should be facing backward, with the motor solder pads facing up. To identify which side of the frame is the front, just look for the cut-outs for the camera mounting plates.
Check the bottom of the ESC to make sure it’s not touching the frame, and also between the ESC and FC, there should be nothing touching either.
You are about to do some soldering next. If you are new to soldering, please check out my tutorial “How to Solder for Beginners“.
Check how long the motor wires should be, and cut to length (it’s a good idea to leave a little slack, better be too long than too short).
Also secure the motor wires on the arms with some cloth tape (or electrical tape).
Then strip the tip of the wires (about 2mm) and tin the ends.
You should now have a bunch of spare wires from the motors you just cut. Take two of the longer ones and solder them to the input power of the ESC (preferably on the bottom side). Mark the positive wires with a piece of tape. We will solder the capacitor to these wires later on.
Now tin all the solder pads on the 4in1 ESC. It’s good practice to cover area of the board where you are not soldering with tape. You can use electrical tape, kapton tape or masking tape, as long as it doesn’t get burned through easily by molten solder. This will prevent solder accidentally dropping from your soldering iron onto the components and causing electrical shorts when you plug in the battery.
Solder the motor wires onto the ESC. Don’t worry about wire order and motor direction for now, we can change it later in the software.
Solder the XT60 power lead to the power pads on the ESC. Watch out for polarity (positive and negative). This is possibly the hardest soldering you will do in this build, because it takes a lot of heat to melt the solder on those large copper pads. Use higher temperature on your iron and be patient. It’s going to be downhill from here.
- Use a good amount of solder and solder flux (solder paste) for the large pads, and make sure the solder joints are shiny and full; if you can see the wire strands, it’s a sign that you haven’t applied enough solder
- If the solder “sticks” to the tip when you remove it from the joint, then you should apply more flux
- It’s okay to use high temperature when soldering large solder pads like these, the important thing is to make it quick and avoid heating the pads for too long. I personally use 450°C (840°F) for motor wires and XT60, and 380°C for signal wires.
Now solder the 1500uF capacitor that comes with the Speedybee stack. Firstly, bend the legs with a pair of pliers and cut shorter, then tin them with solder.
Solder the capacitor to the wires that we soldered to the ESC power pads earlier. Watch out for the polarity, the side with yellow marking is the negative side of the cap.
You may wonder, “why solder a capacitor to the ESC power?” Well, it’s for reducing voltage spikes and electrical noise generated from the ESC and motors. Even if your mini quad is “super clean”, when you have a bent prop, you will begin to get more noise from the motors, and a capacitor can have you covered in those situations too. See this post to learn more about why adding extra capacitor to FPV drones.
Now connect the FC to the ESC with the 8-pin ribbon cable provided. When installing the flight controller on top of the 4in1 ESC, make sure the arrow on the FC is pointing forward.
5. Testing ESC and Motors
Time to test the ESC and motors, which means we will be plugging in a LiPo battery for the first time!
For safety, you should always check continuity first to ensure there is no electrical short. This means using a multimeter in continuity mode, and use the probes to test the positive and negative terminals of the XT60 (or directly on the solder pads).
Here is a tutorial explaining what multimeter you should get and how to test your drone with it.
If there is a short circuit, the multimeter will be beeping continuously. If this happens, you need to find out what is causing the short and fix it, and DO NOT plug in the battery or it will fry your components. One common cause is excessive amount of solder used on one solder pad and it might have spilled over to the neighbouring pads.
Pro-Tip: sometimes the meter might beep for a split second then stop. That can happen when there are capacitors. When you touch the positive and negative pads with your probes, it charges the caps so there will be a flow of current, and the meter thinks there is a short. But when the caps are charged, the current flow stops and the beep will also stop. If you get a short beep for a second or two, that’s completely normal, it shouldn’t be a problem if the meter doesn’t continue to beep.
For the first time plugging in a battery, always use a smoke stopper (review). This is a great and simple device to avoid “magic smoke”! A smoke stopper is not mandatory, but it’s a worthy investment that I strongly recommend.
Now it’s time to test the motors, but DO NOT install propellers yet!
Plug in the battery, and connect the USB cable to the flight controller, then go to the Motors tab in Betaflight Configurator, and spin up the motors one by one (just move the slider to around 10%), and verify if the motors are spinning in the correct direction (instructions).
If a motor is spinning the wrong direction, then you should reverse it. You can change motor order as well as motor directions inside Betaflight Configurator (Motors tab), you no longer need to do that in BLHeliSuite, and do resource remapping in CLI.
Motors are not spinning at all? Did you connect the battery? If so, did you hear the ESC beeps when you plug in the battery? Did you connect the ESC to the FC?
If all motors are spinning except one, it’s possible that the ESC or that motor is faulty, or the ESC isn’t getting signal from the FC. You can try swapping that motor with a working one on the same quad, this will help rule out whether it’s the faulty ESC or motor.
If you need further assistance, just ask in our forum: https://intofpv.com
6. Receiver Setup
Solder the RX to the FC. Unfortunately the RP1 does not come with wires, so you need to get your own, 26AWG-28AWG are great: https://oscarliang.com/product-fpfc
Mount the RX antenna under the closest arm using a couple of zip ties. Wrap around the antenna wire with some tape so it doesn’t dangle around and get caught.
You need to bind the receiver to the radio (TX module), I have a detailed guide explaining how to setup ExpressLRS, so I won’t repeat it here. Then in Betaflight configurator, you need to apply the following configurations:
- Go to Ports tab, for the UART we have connected the receiver to, enable “Serial RX“. In our example, it would be UART2
- In the Receiver tab, select “Serial (via UART)” in Receiver Mode, and choose “CRSF” in Serial Receiver Provider
Once that’s done, you want to confirm the receiver is fully working in the Receiver tab. When you move the sticks on the radio, the bars (channels) should move as well.
If the wrong channels are responding, try a different Channel Map, it’s normally either “default (AETR)”, or TAER.
You will need to setup at least two switches on the radio (instructions), one for arming and the other for buzzer. You might also want a 3rd switch for flight mode (such as angle mode). Again, confirm it’s working in the receiver tab, when you flip the switches, AUX1 and AUX2 should respond.
If you have any questions, post in our forum: intoFPV.com
7. Installing Analog FPV Setup
This is for the analog build, skip to the next section if you are using the DJI FPV system.
Install the camera between the side plates.
Put double sided foam tape on the bottom of the VTX, cover any copper so it doesn’t come in contact with the frame when mounted.
Then copy this snippet in the CLI (this is the VTX Table for the Speedybee TX800 that will enable you to change VTX settings in the OSD menu).
vtxtable bands 5
vtxtable channels 8
vtxtable band 1 BOSCAM_A A CUSTOM 5865 5845 5825 5805 5785 5765 5745 5725
vtxtable band 2 BOSCAM_B B CUSTOM 5733 5752 5771 5790 5809 5828 5847 5866
vtxtable band 3 BOSCAM_E E CUSTOM 5705 5685 5665 0 5885 5905 0 0
vtxtable band 4 FATSHARK F CUSTOM 5740 5760 5780 5800 5820 5840 5860 5880
vtxtable band 5 RACEBAND R CUSTOM 5658 5695 5732 5769 5806 5843 5880 5917
vtxtable powerlevels 5
vtxtable powervalues 25 200 400 600 600
vtxtable powerlabels 25 200 400 800 800
8. Installing DJI FPV Setup
Here’s how to install the Runcam Link and Wasp camera in the DJI build.
Mount the Wasp camera between the side plates and install it inside the frame just like how we did it in the analog build.
Take the DJI Air Unit cable that comes with the FC, and cut the ends and solder it to the Vista. Here’s the pinout of the Vista:
We won’t connect the SBUS and GND pads in the Vista, so we can cut those two wires off in the cable.
Put double sided foam tape on the bottom of the Runcam Link (Vista).
I prefer to run the camera cable beneath the 4in1 ESC board, this makes a cleaner build. You could leave it on top of the FC if you want, but I don’t like having a cable constantly hitting the FC (or the gyro) during flight. If you need to disconnect the camera cable from the video transmitter, here is how.
To install the Vista in the frame, I simply use some 2mm zip ties (ideally 15mm or longer). And strap the VTX antenna to the standoff like so.
In order to have OSD for displaying battery level and other flight information on screen, you need to configure Betaflight. This page explains how to do it in detail.
To sum it up, in Betaflight configurator, you need to:
- In Ports tab, UART1 enable “Configuration/MSP“
- In Configuration tab, under Other Features, enable OSD
- Inside your DJI Goggles, go to Settings, Display and turn on Custom OSD
As a final check, you might want to power the drone from a LiPo battery again using a smoke stopper, to make sure it works properly before moving on to the next step.
9. Finishing Off
Put nylon nuts on the FC. Don’t over-tighten it, just touching the rubber grommet is fine. Compressed grommets reduce vibration damping and defeats the purpose of soft mounting.
For the capacitor, use a zip tie to strap it to the camera plates.
Install the top plate and put a battery strap under and through. The Source One V5 comes with rubbery battery pad, it does work quite well, but if you want something of top notch quality, check out Ummagrip battery pad. It’s very sticky, washable, and the thickness keeps your battery safely away from the bolts.
The weights of the finished drone are:
- Drone = 360g
- Drone + 6S 1100mAh LiPo = 560g
- Drone + 6S 1100mAh LiPo + GoPro 7 = 680g
When installing the propellers, be aware of the different rotations – CW (clockwise) and CCW (counter clockwise). Make sure to install them on the correct motors, otherwise your quad is not going to take off, or simply flip over when trying to.
M5 nylon lock nuts are used to hold the propeller securely on the motor, so it’s not likely to come loose even when the motors are spinning at very high speed. It can take some effort to tighten down when they are new, over time it will get easily. You don’t want it too tight or the prop hub can shutter. Just tight enough that the prop can’t move when you try to rotate it with your hand while the other hand is holding the motor bell.
Using a dedicated prop nut tool like this can speed things up when changing props.
When mounting the battery (and GoPro), make sure the COG (centre of gravity) is as close to the centre of the drone as possible. To check if you have placed the battery at the right spot, simply grab the middle of the top plate with 2 fingers, and see if the quad stays level.
It’s important to make sure the COG is right at the centre of the four motors. For example, if the quad is front heavy, the front motors will have to work harder than the rear motors in order to maintain level, and this will impact flight performance.
And we are ready for a test flight!
10. Using 3D Printed Parts
If you want a cleaner, slicker and more durable build, you should use 3D printed parts.
You can find many different designs online, just search for the frame “Source One V5” on Thingiverse.com. Parts for other frames might also work on the Source One. I got my 3D printed parts from https://3dprintsfpv.co.uk/, excellent service, highly recommended. If you can’t find the parts you want in the shop, just shoot them a message with the thingiverse link and the filament color you want. I am sure they will be happy to help you out.
Here are some good ones I found:
- My designs for the V4, but some parts works for V5 too: https://www.thingiverse.com/thing:4844808
- Arm protector and bumper: https://www.thingiverse.com/thing:4706164
- GoPro 5-7 Mount: https://www.thingiverse.com/thing:5416938
The front bumper and arm protectors are great additions that will protect your frame in crashes. You will need some longer motor screws for those arm protectors, M3 10mm is what I use.
On the analog build, with the 3D printed antenna mount, I am able to use the MMCX to SMA extension cable that comes with the TX800, and upgrade the VTX antenna to a circular polarized one for better signal quality.
Using a 3D printed mount holds the Vista antenna in a more optimal angle when flying.
11. Setting Up Betaflight
To setup Betaflight for your first flight, follow the instructions in this guide “how to setup Betaflight for the first time“.
Tuning your quad is basically making it to fly and behave the way you want. Betaflight has come a long way, you don’t have to tune your quad and it will probably fly just fine with stock settings. But if you are serious about performance, then you have a few more things to learn! :D
For me, tuning a mini quad is basically going through these settings and get them dialled in:
This is my PID and Filter tune for this build, but it might not work well for you if you are using different components. It’s quite an aggressive tune, make sure to do a short test flight and check your motor temperature before using it. I highly recommend tuning your build from scratch following this guide.
My rates for freestyle are (Actual Rate):
- Center Sensitivity 180
- Max Rate 750
- Expo 0.56
13. Learning How to Fly
If you have little to no experience in flying a mini quad, you should definitely check out these tutorials to get started:
- Practice with FPV simulators
- Tips and Exercises to learn FPV flying
- Finding FPV flying difficult? Here are some advice from different pilots
Any questions? Let me know in the comment.
You can check my past build guides from 2020 and 2018:
- 2020 (DJI): https://drive.google.com/file/d/11-QBBVgNaPU-qeGUABUy_Np6zEWEFSn1/view?usp=share_link
- 2020 (4in1 ESC + analog): https://drive.google.com/file/d/1dWlCwGVU8NZAL00of8RBshyjXov2LDDW/view?usp=share_link
- 2018 (single ESC + analog): https://drive.google.com/file/d/1CvMcbZd7Wo2KRcxXvyaJ8WZrsAD9q0Li/view?usp=share_link
Improvements and Upgrades
There are things we can do better to improve performance of the FPV drone we just built. I didn’t include these as I wanted to keep the guide simple and easy to follow. But once you mastered the basics, you can start taking a look at how to make your drone better. Here is a list of upgrades and improvements you can do:
- Flash Bluejay firmware to the ESC (you will have to choose between 24KHz or 48KHz versions. The 24KHz is better for responsiveness and torque, while 48Khz is better for smoothness but slightly less torque). Then in Betaflight, you should enable bi-directional Dshot, which allows you to turn on RPM filter which is one of the best filters
- Get some 3D printed parts if you haven’t already for improved durability and usability
- If you have an analog build, consider upgrading the VTX antenna to a circular polarized one. The dipole antenna that comes with the TX800 is ok, but not the best
- Properly tune your PID and Filter
- Reverse Motor Direction (props out), so it’s less likely to get caught by branches, also keeps your camera lens clean from grass juice
- If you have the DJI build, consider performing the root hack to get full OSD support