<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[DroneLabs.AI]]></title><description><![CDATA[Exploring the intersection of drones and AI through hands-on builds, real-world experiments, project logs, and industry news. Follow along as I document successes, failures, and lessons learned while building autonomous drones.]]></description><link>https://dronelabs.ai</link><image><url>https://substackcdn.com/image/fetch/$s_!VmSr!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0de2c26-baca-46c2-a483-41796df29f3d_1280x1280.png</url><title>DroneLabs.AI</title><link>https://dronelabs.ai</link></image><generator>Substack</generator><lastBuildDate>Thu, 10 Sep 2026 06:44:43 GMT</lastBuildDate><atom:link href="https://dronelabs.ai/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Arya Aggarwal]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[dronelabsai@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[dronelabsai@substack.com]]></itunes:email><itunes:name><![CDATA[Arya Aggarwal]]></itunes:name></itunes:owner><itunes:author><![CDATA[Arya Aggarwal]]></itunes:author><googleplay:owner><![CDATA[dronelabsai@substack.com]]></googleplay:owner><googleplay:email><![CDATA[dronelabsai@substack.com]]></googleplay:email><googleplay:author><![CDATA[Arya Aggarwal]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Understanding Drone Components and Their Variations]]></title><description><![CDATA[Understanding the role of each drone component makes it easier to troubleshoot problems and choose the right parts for a specific build.]]></description><link>https://dronelabs.ai/p/understanding-drone-components-and</link><guid isPermaLink="false">https://dronelabs.ai/p/understanding-drone-components-and</guid><dc:creator><![CDATA[Arya Aggarwal]]></dc:creator><pubDate>Tue, 25 Aug 2026 15:03:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5_XJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>Understanding the role of each drone component makes it easier to troubleshoot problems and choose the right parts for a specific build. Different types of drones can also require very different components. An FPV drone, for example, may use a battery with a high C-rating to provide the current needed for rapid acceleration, while a development-focused drone may prioritize battery capacity and efficiency instead.</span></p><p><span>In this article, I break down the purpose of the main components found in a drone build and explain some of the variations you may encounter. Keep in mind that these are general categories, and the specific components you need will depend on the type of drone you are building.</span></p><h2><strong><span>1. Frame</span></strong></h2><p><span>The frame provides the structure of the drone and gives the other components a place to mount. Frame design has a major effect on what hardware can be installed and how the drone behaves in flight.</span></p><ul><li><p><span>Holds the motors, flight controller, battery, and other components in place</span></p></li><li><p><span>Determines the available mounting space for equipment and payloads</span></p></li><li><p><span>Helps determine which propeller sizes can be used</span></p></li><li><p><span>Smaller, lighter frames are common on agile FPV drones, while larger frames such as the X500 provide more room for batteries, sensors, cameras, and companion computers</span></p></li></ul><p><span>Frame size does not determine propeller size by itself, but the two are closely related. A larger frame can generally accommodate larger propellers, while the motor and power system must also be capable of turning those propellers efficiently.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5_XJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5_XJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png 424w, https://substackcdn.com/image/fetch/$s_!5_XJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png 848w, https://substackcdn.com/image/fetch/$s_!5_XJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png 1272w, https://substackcdn.com/image/fetch/$s_!5_XJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5_XJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png" width="1456" height="789" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:789,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:358412,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dronelabs.ai/i/212464074?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5_XJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png 424w, https://substackcdn.com/image/fetch/$s_!5_XJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png 848w, https://substackcdn.com/image/fetch/$s_!5_XJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png 1272w, https://substackcdn.com/image/fetch/$s_!5_XJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde61bd6a-09ae-45ca-a303-c05596d89453_1643x890.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><sup>Source: </sup><a href="https://www.getfpv.com/lumenier-qav-rxl-2-8-fpv-quadcopter-frame.html?gc_id=21805212387&amp;g_special_campaign=true&amp;gad_source=1&amp;gad_campaignid=21805212387&amp;gbraid=0AAAAAD8cN5Kfq90YEMuYbRYOCqeZgEX6C&amp;gclid=CjwKCAjwtKrUBhAhEiwAr77Zoj-_GLORL2eD-AkcSiVMRkF4RH_x520Zg17kkANVanZLd8n3nd1oKxoCRJkQAvD_BwE"><sup>Image 1</sup></a><sup>, </sup><a href="https://holybro.com/products/x500-v2-kits?variant=42541212008637"><sup>Image 2</sup></a></p><h2><strong><span>2. Propulsion System</span></strong></h2><p><span>The propulsion system is responsible for producing the thrust that keeps the drone in the air and allows it to move. The motors, propellers, and ESCs have to work together, so changing one often requires changes to the others.</span></p><h3><strong><span>Motors</span></strong></h3><p><span>Motors convert electrical energy into mechanical rotation that spins the propellers. On a typical multirotor, the flight controller constantly changes the speed of individual motors to control the aircraft&#8217;s movement.</span></p><ul><li><p><span>Spin the propellers to produce thrust</span></p></li><li><p><span>Increase or decrease speed independently to control the drone&#8217;s attitude and movement</span></p></li><li><p><span>Usually installed in alternating clockwise and counter-clockwise directions so that the drone&#8217;s rotational forces balance each other</span></p></li><li><p><span>Need to be matched with the propellers, battery voltage, and ESCs being used</span></p></li></ul><p><span>A motor spinning faster produces more thrust, while changing the relative speed between motors allows the flight controller to control roll, pitch, and yaw.</span></p><h3><strong><span>Propellers</span></strong></h3><p><span>Propellers convert the motor&#8217;s rotation into thrust. Their diameter, pitch, and design have a major effect on how efficiently the drone produces lift.</span></p><ul><li><p><span>Larger propellers can generally produce more thrust and can be efficient for lifting heavier aircraft</span></p></li><li><p><span>Smaller propellers tend to be easier to accelerate and are common on lightweight, agile drones</span></p></li><li><p><span>Higher-pitch propellers can increase the amount of air moved per revolution but also require more torque and power</span></p></li><li><p><span>Propellers must be selected to match the motors and the rest of the power system</span></p></li></ul><p><span>Because propellers affect motor load, motors, propellers, and ESCs should be treated as a system rather than selected independently.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KHyM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KHyM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png 424w, https://substackcdn.com/image/fetch/$s_!KHyM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png 848w, https://substackcdn.com/image/fetch/$s_!KHyM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!KHyM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KHyM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:372605,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dronelabs.ai/i/212464074?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KHyM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png 424w, https://substackcdn.com/image/fetch/$s_!KHyM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png 848w, https://substackcdn.com/image/fetch/$s_!KHyM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!KHyM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8333bc19-39b0-41e5-be0a-185d75289d8d_1960x1120.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><sup>Source: </sup><a href="https://www.racedayquads.com/products/dal-spitfire-t5148-5-tri-blade-5-prop-4-pack-choose-your-color?variant=40468172111985"><sup>Image 1</sup></a><sup>, </sup><a href="https://holybro.com/products/spare-parts-x500-v2-kit?variant=41591073669309"><sup>Image 2</sup></a></p><h3><strong><span>ESCs (Electronic Speed Controllers)</span></strong></h3><p><span>The ESC sits between the power system and the motor. It receives commands from the flight controller and controls how much electrical power is delivered to the motor.</span></p><ul><li><p><span>Controls the speed of an individual motor</span></p></li><li><p><span>Converts the flight controller&#8217;s motor command into electrical switching that drives the motor</span></p></li><li><p><span>Must be rated for the motor, battery voltage, and expected current</span></p></li><li><p><span>Can use different communication protocols, such as PWM, OneShot, or DShot</span></p></li></ul><p><span>The specific protocol depends on the flight controller and ESCs. PX4, for example, supports several ESC protocols, including PWM, OneShot, DShot, and DroneCAN. DShot is a digital protocol that also avoids the traditional throttle calibration required by PWM-based ESCs.</span></p><h3><strong><span>Motor Control Signal</span></strong></h3><p><span>The flight controller needs a way to communicate the desired motor output to each ESC. This is not a separate physical component, but rather the communication link between the flight controller and ESC.</span></p><p><span>Common protocols include PWM, OneShot, and DShot. The choice depends on the hardware and flight-control software being used.</span></p><h2><strong><span>3. Power System</span></strong></h2><p><span>The power system supplies electricity to the motors, flight controller, and other electronics. Choosing the correct battery and power hardware is especially important because the electrical requirements of the propulsion system can vary significantly between drones.</span></p><h3><strong><span>Battery</span></strong></h3><p><span>The battery stores the electrical energy used by the drone. LiPo batteries are commonly used in RC aircraft because they provide a high amount of power while remaining relatively lightweight.</span></p><p><span>Three battery specifications are especially important when choosing a battery:</span></p><ul><li><p><strong><span>Capacity (mAh):</span></strong><span> Measured in milliamp-hours, this indicates how much electrical charge the battery can store. A higher-capacity battery can generally provide more energy, but it is also heavier, so there is a tradeoff between flight time and weight.</span></p></li><li><p><strong><span>C-rating:</span></strong><span> The C-rating represents how much current a battery is designed to deliver relative to its capacity. A rough way to calculate the rated maximum discharge current is to multiply the battery&#8217;s capacity in amp-hours by its C-rating. For example, a 5 Ah battery rated at 40C would have a theoretical rating of 200 A. Actual performance depends on the battery and its manufacturer.</span></p></li><li><p><strong><span>Cell count (S):</span></strong><span> The S-rating describes how many individual LiPo cells are connected in series. More cells increase the pack&#8217;s voltage. For example, a 4S LiPo has four cells connected in series and a nominal voltage of about 14.8 V.</span></p></li></ul><p><span>A higher C-rating is not automatically better. The battery should be chosen based on the current required by the motors and the rest of the electrical system, while also considering its weight and capacity.</span></p><h3><strong><span>Charger</span></strong></h3><p><span>A charger replenishes the battery&#8217;s energy after a flight. LiPo batteries require chargers designed for lithium-polymer batteries, and multi-cell packs are normally charged using a balance connection so that the individual cells remain at the correct voltage relative to one another.</span></p><p><span>The charger must be configured for the battery&#8217;s cell count and charging requirements. Using the wrong settings can damage the battery.</span></p><h3><strong><span>Power Module</span></strong></h3><p><span>The power module connects the battery&#8217;s electrical system to the flight controller. It provides regulated power for the flight controller and can measure battery voltage and current.</span></p><p><span>This information is sent to the flight controller so the software can estimate how much battery capacity remains and trigger low-battery warnings or other failsafes. It is therefore more accurate to think of the power module as providing the measurements used to estimate remaining battery capacity rather than directly measuring a simple &#8220;battery percentage.&#8221;</span></p><h3><strong><span>Power Distribution Board (PDB)</span></strong></h3><p><span>A power distribution board takes the battery&#8217;s main power connection and distributes it to the components that need it, particularly the ESCs and motors.</span></p><ul><li><p><span>Splits the battery connection into multiple power outputs</span></p></li><li><p><span>Helps simplify the drone&#8217;s wiring</span></p></li><li><p><span>Some PDBs also include additional power regulation or battery-monitoring circuitry</span></p></li></ul><p><span>Not every modern drone needs a separate PDB. Some systems combine power distribution with other electronics, while certain flight controllers or ESC setups have different power architectures.</span></p><h2><strong><span>4. Flight Control &amp; Navigation</span></strong></h2><h3><strong><span>Flight Controller</span></strong></h3><p><span>The flight controller is the central computer responsible for stabilizing and controlling the drone. It receives information from sensors and other systems, determines what the aircraft needs to do, and sends commands to the motors.</span></p><ul><li><p><span>Processes sensor data to determine the drone&#8217;s orientation and movement</span></p></li><li><p><span>Controls the motors through the ESCs</span></p></li><li><p><span>Connects to peripherals such as GPS receivers, radio receivers, telemetry radios, and companion computers</span></p></li><li><p><span>Different flight controllers have different processors, sensor configurations, memory, and numbers and types of ports</span></p></li></ul><p><span>The flight controller is the part that ties the rest of the system together. Even though the motors provide the thrust, the flight controller determines how that thrust is distributed to keep the drone stable and make it move as commanded.</span></p><h3><strong><span>GPS Module</span></strong></h3><p><span>A GPS module provides the flight controller with information about the drone&#8217;s position and movement. GPS is especially useful for drones that need navigation features beyond basic manual stabilization.</span></p><ul><li><p><span>Provides position information</span></p></li><li><p><span>Enables features such as GPS-assisted position hold</span></p></li><li><p><span>Can be used for waypoint missions and other autonomous navigation features</span></p></li><li><p><span>Provides important information for features such as GPS-based return-to-home</span></p></li></ul><p><span>GPS is not necessary for every type of drone. Many small FPV drones, for example, can fly without it, while autonomous and development-focused platforms often benefit greatly from having a GPS module.</span></p><h2><strong><span>5. Communication Systems</span></strong></h2><p><span>Drones commonly have multiple communication links. One connects the pilot to the aircraft, while another can connect the flight controller to a ground station or computer.</span></p><h3><strong><span>Transmitter and Receiver</span></strong></h3><p><span>The transmitter is the controller used by the pilot to send commands to the drone. The receiver is installed on the drone and passes those commands to the flight controller.</span></p><p><span>The exact protocols used depend on the equipment. For example, ExpressLRS is a radio-control system, while an ExpressLRS receiver commonly communicates with the flight controller over the CRSF serial protocol. Other receivers may use protocols such as SBUS.</span></p><p><span>When selecting a transmitter and receiver, make sure they are compatible with each other and that the receiver can communicate with your flight controller using a supported protocol.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!55DS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!55DS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png 424w, https://substackcdn.com/image/fetch/$s_!55DS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png 848w, https://substackcdn.com/image/fetch/$s_!55DS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!55DS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!55DS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:759747,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dronelabs.ai/i/212464074?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!55DS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png 424w, https://substackcdn.com/image/fetch/$s_!55DS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png 848w, https://substackcdn.com/image/fetch/$s_!55DS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!55DS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb55c411d-01b3-4123-a5ac-0e705c1648df_1960x1120.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><sup>Source: </sup><a href="https://www.buddyrc.com/products/copy-of-lemon-rx-8-channel-ppm-receiver-diveristy-antenna-dsm2-dsmx-compatible?srsltid=AfmBOoqun42vd7JY8pEHnWUbEpRLcHIs7XEXxMHeZGn41Z81rOX3_7Me"><sup>Image 1</sup></a><sup>, </sup><a href="https://radiomasterrc.com/products/rp3-h-expresslrs-2-4ghz-nano-receiver"><sup>Image 2</sup></a></p><h3><strong><span>Telemetry Radio</span></strong></h3><p><span>A telemetry radio provides a separate wireless connection between the drone and a ground station.</span></p><p><span>Instead of carrying the pilot&#8217;s stick commands, this link can be used to send information such as flight status, position, battery data, and other telemetry between the aircraft and a computer. It can also allow a ground station to send commands to the flight controller.</span></p><p><span>This type of connection is particularly useful for development and autonomous drones because it allows you to monitor and interact with the vehicle from a computer without requiring the computer itself to be mounted on the drone.</span></p><p><span>If you would like to read more about using code to fly a drone, you can read about it here: </span><a href="https://dronelabs.ai/p/testing-autonomous-drone-movement">Testing Autonomous Drone Movement with PX4 Python Scripts</a>.</p><h2><strong><span>6. Regulatory Compliance</span></strong></h2><h3><strong><span>Remote ID Broadcast Module</span></strong></h3><p><span>Remote ID is a regulatory requirement that applies to many drones in the United States. Rather than being a flight component, a Remote ID module is part of the system used to meet FAA identification requdddddddirements.</span></p><p><span>A Remote ID broadcast module broadcasts identification and location information while the drone is flying. The FAA describes it as a way for other parties to receive information about the drone and, depending on the type of Remote ID system, the control station or takeoff location.</span></p><p><span>In the United States, drones that are required to be registered or are registered generally must comply with Remote ID. There are different ways to comply, including using a Standard Remote ID drone, attaching an approved broadcast module, or operating within an FAA-Recognized Identification Area (FRIA) when the applicable requirements are met.</span></p><p><span>Because drone regulations can change and may differ by location and type of operation, always check the current rules before flying.</span></p><h2><strong><span>Here Are the Parts I Used</span></strong></h2><p><span>The following are the main components I used for my development-focused drone build:</span></p><ul><li><p><strong><span>Frame:</span></strong><a href="https://holybro.com/products/x500-v2-kits"><span> Holybro X500 V2 ARF Kit</span></a></p></li><li><p><strong>Battery: </strong><a href="https://www.ebay.com/itm/393405692866">Tattu 5200mAh 14.8V 35C 4S</a></p></li><li><p><strong><span>Flight controller:</span></strong><a href="https://holybro.com/products/pixhawk-6c"><span> Holybro Pixhawk 6C</span></a></p></li><li><p><strong><span>Power module:</span></strong><a href="https://holybro.com/products/pm02-v3-12s-power-module"><span> Holybro PM02 V3</span></a></p></li><li><p><strong><span>Battery:</span></strong><a href="https://www.genstattu.com/tattu-5200mah-14-8v-35c-4s1p-lipo-battery-pack-with-xt60-plug.html"><span> Tattu 5200mAh 14.8V 35C 4S LiPo</span></a></p></li><li><p><strong><span>GPS:</span></strong><a href="https://holybro.com/products/m10-gps"><span> Holybro M10 GPS</span></a></p></li><li><p><strong><span>Transmitter:</span></strong><a href="https://radiomasterrc.com/products/boxer-radio-controller-m2"><span> RadioMaster Boxer</span></a></p></li><li><p><strong><span>Receiver:</span></strong><a href="https://radiomasterrc.com/products/rp3-h-expresslrs-2-4ghz-nano-receiver"><span> RadioMaster RP3-H ExpressLRS 2.4GHz Nano Receiver</span></a></p></li><li><p><strong><span>Telemetry radio:</span></strong><a href="https://holybro.com/products/sik-telemetry-radio-v3"><span> Holybro SiK Telemetry Radio V3</span></a></p></li><li><p><strong><span>Remote ID module:</span></strong><a href="https://store.holystone.com/products/holy-stone-drone-remote-id-module"><span> Holy Stone Remote ID Broadcast Module</span></a></p></li></ul><p></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://dronelabs.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading DroneLabs.AI! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Testing Autonomous Drone Movement with PX4 Python Scripts]]></title><description><![CDATA[Previously, I had only used one basic Python script to fly my drone: take off, hover, and land.]]></description><link>https://dronelabs.ai/p/testing-autonomous-drone-movement</link><guid isPermaLink="false">https://dronelabs.ai/p/testing-autonomous-drone-movement</guid><dc:creator><![CDATA[Arya Aggarwal]]></dc:creator><pubDate>Sat, 25 Jul 2026 21:40:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2LRr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>Previously, I had only used one basic Python script to fly my drone: take off, hover, and land.</span></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;2ed686b5-5d92-4f0e-a522-f64b0dbda5ee&quot;,&quot;duration&quot;:null}"></div><p><span>My next goal was to understand how to control each axis of movement in a controlled way: pitch (tilting the drone forward and backward), roll (tilting the drone left and right), and yaw (rotating clockwise and counterclockwise about its vertical axis), before combining them into more complex flight paths.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2LRr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2LRr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png 424w, https://substackcdn.com/image/fetch/$s_!2LRr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png 848w, https://substackcdn.com/image/fetch/$s_!2LRr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png 1272w, https://substackcdn.com/image/fetch/$s_!2LRr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2LRr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png" width="648" height="581.2417582417582" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1306,&quot;width&quot;:1456,&quot;resizeWidth&quot;:648,&quot;bytes&quot;:460975,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dronelabs.ai/i/208490744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2LRr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png 424w, https://substackcdn.com/image/fetch/$s_!2LRr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png 848w, https://substackcdn.com/image/fetch/$s_!2LRr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png 1272w, https://substackcdn.com/image/fetch/$s_!2LRr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c7c19d-5462-4ef2-b715-2364dfeb2c76_2720x2440.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>First, I started with pitch. To test it, I simply added a forward pitch maneuver to the first script. Once that worked reliably, I was ready to build on it with more complex movements.</span></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;fa9a3d8f-e3b2-44c2-af3d-ff9ec39b0035&quot;,&quot;duration&quot;:null}"></div><p><span>With pitch working, I decided to move on to something a little more challenging by introducing roll. I expanded the pitch test so the drone flew in a square path and moved diagonally twice using both pitch and roll. This let me verify both roll and the drone&#8217;s ability to execute several movements together in a single mission.</span></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;497bb620-bafa-4469-9841-1831915d9229&quot;,&quot;duration&quot;:null}"></div><p><span>The third axis of movement I focused on was yaw. To test it, I modified the first program so that the drone rotated to a heading of 180 degrees after takeoff. The program worked perfectly in simulation, so I loaded it onto the drone expecting similar results. However, after attempting to change its heading, it struggled to stay airborne and slowly descended back to the ground. I still haven&#8217;t determined the exact cause&#8212;stay tuned to find out.</span></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;ce159cb1-8c42-4f0f-865f-5f101e7731eb&quot;,&quot;duration&quot;:null}"></div><p><span>It was my first reminder that simulation doesn&#8217;t always reflect what happens in the real world and that it is crucial to experiment on actual hardware. The simulator is great for developing and verifying code, but it can&#8217;t perfectly capture every behavior of the actual drone.</span></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://dronelabs.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Building My Holybro X500 V2 Drone: 5 Unexpected Problems I Had to Solve]]></title><description><![CDATA[About two weeks ago, I finished building my Holybro X500 V2 drone.]]></description><link>https://dronelabs.ai/p/building-my-holybro-x500-v2-5-unexpected</link><guid isPermaLink="false">https://dronelabs.ai/p/building-my-holybro-x500-v2-5-unexpected</guid><dc:creator><![CDATA[Arya Aggarwal]]></dc:creator><pubDate>Mon, 20 Jul 2026 22:18:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_Nvj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>About two weeks ago, I finished building my Holybro X500 V2 drone. Even though I had done thorough research before buying the parts, the build itself was much more challenging than I expected. Several unexpected issues came up along the way, and there weren&#8217;t many resources covering the specific problems I ran into. That meant I had to troubleshoot and figure out most of them on my own. Here are some of the biggest challenges I encountered and how I solved them.</em></p><div><hr></div><h2>1. The Wrong Power Module</h2><p>The first issue came before I could even power the drone. I had purchased my power module in a bundle with the Pixhawk 6C flight controller and GPS, assuming everything would be compatible. However, when I started wiring everything together, I realized the included power module only had one female XT60 port and a JST-GH connector. It was missing the male XT60 output needed to connect to the power distribution board, making it impossible to wire the system correctly.</p><p>To solve this, I purchased the Pixhawk PM02 V3 12S Power Module separately. Unlike the bundled version, it included the necessary battery, power distribution board, and flight controller connections, allowing me to continue with the build.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Nvj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Nvj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png 424w, https://substackcdn.com/image/fetch/$s_!_Nvj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png 848w, https://substackcdn.com/image/fetch/$s_!_Nvj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png 1272w, https://substackcdn.com/image/fetch/$s_!_Nvj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Nvj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png" width="1456" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:610623,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dronelabs.ai/i/207826805?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_Nvj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png 424w, https://substackcdn.com/image/fetch/$s_!_Nvj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png 848w, https://substackcdn.com/image/fetch/$s_!_Nvj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png 1272w, https://substackcdn.com/image/fetch/$s_!_Nvj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3df274e8-8775-46eb-a6f4-0119fef45772_2400x1560.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>2. Only Two Motors Would Spin</h2><p>Once I had power flowing to both the flight controller and the motors, I connected the Pixhawk to QGroundControl to verify the motor configuration. QGroundControl also allowed me to spin up each motor individually, but I quickly noticed that only two of the four motors responded.</p><p>At first, I assumed two of the motors or ESCs were defective. After inspecting the PWM module more closely, I noticed that two of the ESC connectors had their wire colors facing the opposite direction from the other two. I flipped those two connectors around, plugged them back in, and all four motors immediately started working.</p><div><hr></div><h2>3. Choosing the Wrong Receiver</h2><p>The next challenge came when setting up my radio system. My RadioMaster Boxer transmitter has built-in ExpressLRS support, but instead of buying an ELRS receiver, I had purchased a Lemon RX DSMX receiver. Although it technically worked, using an external DSMX module with a Pixhawk made the setup much more complicated than it needed to be.</p><p>Rather than continuing down that path, I switched to a RadioMaster RP3-H ExpressLRS receiver, which is designed for ELRS and includes a JST-GH connector compatible with Pixhawk systems.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pkpP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pkpP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png 424w, https://substackcdn.com/image/fetch/$s_!pkpP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png 848w, https://substackcdn.com/image/fetch/$s_!pkpP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png 1272w, https://substackcdn.com/image/fetch/$s_!pkpP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pkpP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png" width="1456" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1482279,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dronelabs.ai/i/207826805?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pkpP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png 424w, https://substackcdn.com/image/fetch/$s_!pkpP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png 848w, https://substackcdn.com/image/fetch/$s_!pkpP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png 1272w, https://substackcdn.com/image/fetch/$s_!pkpP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11248c5-65af-4268-a3af-cc78e45dc1ce_2400x1560.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>4. The Receiver Cable Didn&#8217;t Fit</h2><p>Unfortunately, installing the new receiver revealed another issue. The RP3-H uses a 4-pin JST-GH connector, while the Pixhawk receiver port uses a 5-pin JST-GH connector. The cable included with the receiver therefore couldn&#8217;t connect directly to the flight controller.</p><p>To work around this, I bought a JST-GH connector kit with spare housings and wires. Using a needle, I carefully removed each wire from the original 4-pin housing and transferred them into a new 5-pin housing in the correct order. After repinning the connector, I was finally able to connect the rec  eiver to the Pixhawk.</p><div><hr></div><h2>5. A Test Flight Mistake</h2><p>With everything finally assembled, I was ready for my first test flight. The flight itself went well, but I made one mistake that quickly became obvious afterward. I hadn&#8217;t secured the two thin receiver antennas, and during the flight one of them swung into a propeller and was cut.</p><p>Since a damaged receiver antenna can reduce range and lead to inconsistent signal quality, I replaced the receiver with another RP3-H and made sure to secure both antennas to the front arms of the drone before flying again.</p><div><hr></div><h2>Final Thoughts</h2><p>Although each of these issues slowed down the build, solving them taught me much more about how the different components of a Pixhawk-based drone work together. Hopefully, documenting these problems and their solutions will save someone else building a similar drone some time and frustration.</p><p>If you want to see the full list of parts I used, along with the alternative components I considered before making each purchase, you can check out my other article here: </p><p></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;49553d43-67d3-4a28-80a9-f460b2dd7a9c&quot;,&quot;caption&quot;:&quot;A breakdown of every component in my X500 V2 build: what each part actually does, and a look at the other options I considered for each one.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Building My Holybro X500 V2: Every Part &#8212; and the Alternatives I Considered&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:518919490,&quot;name&quot;:&quot;Drone Labs AI&quot;,&quot;bio&quot;:&quot;I am a High schooler who is interested in UAVs, drones, and AI. Follow as I post stories about drone news as well as my own experiences building and working with drones.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f442f244-d665-4d71-bce2-c9fc07e498d5_928x928.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-17T02:07:44.782Z&quot;,&quot;cover_image&quot;:null,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://dronelabs.ai/p/building-my-holybro-x500-v2-every&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:207369180,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:10030683,&quot;publication_name&quot;:&quot;Drone Labs AI&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!DPao!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1724a16e-f233-44db-8f03-22032af2fcb4_144x144.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://dronelabs.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Getting My Drone to Fly Autonomously with Code]]></title><description><![CDATA[I&#8217;ve built many kinds of AI agents for social media data gathering, but I&#8217;ve recently become interested in flying drones using AI.]]></description><link>https://dronelabs.ai/p/getting-my-drone-to-fly-autonomously</link><guid isPermaLink="false">https://dronelabs.ai/p/getting-my-drone-to-fly-autonomously</guid><dc:creator><![CDATA[Arya Aggarwal]]></dc:creator><pubDate>Mon, 20 Jul 2026 03:31:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VmSr!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0de2c26-baca-46c2-a483-41796df29f3d_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;8e876301-c53f-4c0d-aada-325fd06792eb&quot;,&quot;duration&quot;:null}"></div><p></p><p>I&#8217;ve built many kinds of AI agents for social media data gathering, but I&#8217;ve recently become interested in flying drones using AI. While building AI agents was rewarding, I found myself wanting to move beyond software and explore how AI could interact with the physical world. My interest sparked after reading about counter drones. What fascinated me was how these autonomous systems could navigate, identify, and intercept with minimal human intervention. As I researched further, I realized drones have countless applications, and many industries are only beginning to explore what autonomous drones can do. So I decided to try building one of my own.</p><p>I had no idea where to begin, but I figured there must be an open-source platform for writing code for autonomous drones. After a few Google searches, I identified ArduPilot and PX4 as two of the leading platforms for drone development. ArduPilot seemed easier to get started with, but its GPLv3 license requires companies distributing modified versions to make the relevant source code available. PX4, on the other hand, uses the more permissive BSD 3-Clause license, which is better suited to proprietary commercial development. I wanted to stay aligned with industry practices, so I zeroed in on PX4.</p><p>With that decision made, I started looking for a drone that would work well with PX4. After comparing many different frame options, I chose the Holybro X500 V2 ARF drone kit because it&#8217;s well documented, officially supported by PX4, and leaves plenty of room for future expansion. The next step was finding the right flight hardware (flight controller, GPS module, etc.). This was quite a tedious process, and if you want to see all the parts I considered or build a drone of your own, you can check out that post here: <a href="https://www.linkedin.com/posts/arya-aggarwal-906789283_building-my-holybro-x500-v2-every-part-share-7483796222412103680-DSZK/?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAET-DdYBFznihGxFT5N8gNu9HmTPwQYAIzE">https://www.linkedin.com/posts/arya-aggarwal-906789283_building-my-holybro-x500-v2-every-part-share-7483796222412103680-DSZK/</a>.</p><p>Once I had built the drone, I began figuring out how I could fly it autonomously using code. I was about to start coding when I realized I still needed a way to test it. Of course, I could have just tried it directly on the drone, but I had spent around $1,000 building it and wasn&#8217;t thrilled about risking a crash. So I started looking for ways to simulate flying the drone with code, which led me to QGroundControl. QGroundControl is a drone planning and simulation program that can run programs with realistic drone behavior and physics.</p><p>Now that I had testing covered, I wrote my first program, which simply armed the drone, took off to around 3 feet, hovered for 10 seconds, and then landed. This was just to ensure the simulator was running properly and that there would be no surprises when moving from the simulator to the actual drone.</p><p>Testing and programming this script taught me some important lessons. First, I learned how to use QGroundControl to simulate running code, how to set it up, and how to read crucial flight data like speed and altitude. I also learned how to run programs on my drone using my telemetry radio and computer, so I don&#8217;t need an onboard companion computer for development.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://dronelabs.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Building My Holybro X500 V2: Every Part — and the Alternatives I Considered]]></title><description><![CDATA[A breakdown of every component in my X500 V2 build: what each part actually does, and a look at the other options I considered for each one.]]></description><link>https://dronelabs.ai/p/building-my-holybro-x500-v2-every</link><guid isPermaLink="false">https://dronelabs.ai/p/building-my-holybro-x500-v2-every</guid><dc:creator><![CDATA[Arya Aggarwal]]></dc:creator><pubDate>Fri, 17 Jul 2026 02:07:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VmSr!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0de2c26-baca-46c2-a483-41796df29f3d_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A breakdown of every component in my X500 V2 build: what each part actually does, and a look at the other options I considered for each one.</p><h2>1. The Frame &#8212; Holybro X500 V2 ARF Kit</h2><p>The frame is the physical skeleton of the drone &#8212; it holds the motors, electronics, and battery together and gives the aircraft its shape and rigidity. An ARF (&#8221;Almost Ready-to-Fly&#8221;) kit takes this a step further by including the motors, propellers, speed controllers, and wiring already installed, so you&#8217;re not starting from a pile of raw parts. I used the Holybro X500 V2 ARF kit, which gave me a ready-to-fly foundation right out of the box aside from adding the flight controller and other electronics. It&#8217;s built specifically to work well with the kind of open flight-control hardware used elsewhere in this build.</p><p><strong>I explored these other options &#8212; here&#8217;s a comparison:</strong></p><ul><li><p><strong>Holybro X500 V2</strong> <em>(used)</em> &#8212; 500mm wheelbase, solder-free powertrain included, ~1&#8211;1.5 kg payload. Best for general-purpose development.</p></li><li><p><strong>Holybro S500 V2</strong> &#8212; 480mm wheelbase, solder-free (same motors/ESCs/props), ~1.5 kg payload. Nearly identical build, slightly cheaper.</p></li><li><p><strong>Holybro X650</strong> &#8212; 650mm wheelbase, 6S powertrain included, larger payloads. Best for bigger sensors or companion computers.</p></li><li><p><strong>DJI Flame Wheel F450</strong> &#8212; 450mm wheelbase, powertrain included but requires soldering, lower payload. Budget or classic-style builds.</p></li><li><p><strong>Tarot Iron Man 650</strong> &#8212; 650mm wheelbase, no powertrain included (you supply your own), high payload. Professional or mapping payloads.</p></li></ul><p><strong>Why this is a good choice:</strong> The X500 V2 is a good fit because its motors, ESCs, and propellers are already matched to work well together, and the frame is light but stiff enough to keep the flight controller&#8217;s sensors reading cleanly. It&#8217;s also built around the same open flight-controller standard as the rest of this build, so everything else just bolts on without needing adapters. For a general-purpose development quad, it strikes a solid balance between easy assembly and room to expand later.</p><h2>2. The Flight Controller &#8212; Pixhawk 6C</h2><p>A flight controller is essentially the brain of the drone. It reads data from sensors like the gyroscope, accelerometer, and compass, and constantly makes tiny adjustments to the motors to keep the aircraft stable and flying the way it&#8217;s told to. It&#8217;s also what everything else &#8212; GPS, radio receiver, telemetry &#8212; plugs into and communicates through. I used the Holybro Pixhawk 6C for this role.</p><p><strong>I explored these other options &#8212; here&#8217;s a comparison:</strong></p><ul><li><p><strong>Pixhawk 6C</strong> <em>(used)</em> &#8212; Analog power sensing, dual motion sensors, standard size. Balanced choice for most builds.</p></li><li><p><strong>Pixhawk 6X</strong> &#8212; Digital power sensing, triple motion sensors, standard size. More redundancy, but needs a digital power module.</p></li><li><p><strong>Pixhawk 6C Mini</strong> &#8212; Analog power sensing, dual motion sensors, smaller/lighter. Fewer ports, good for compact builds.</p></li><li><p><strong>Holybro Durandal</strong> &#8212; Analog power sensing, dual motion sensors, standard size. Slightly older, still widely used.</p></li><li><p><strong>CUAV V5+</strong> &#8212; Analog power sensing, dual motion sensors, standard size. Same open standard, different brand.</p></li></ul><p><strong>Why this is a good choice:</strong> The 6C has enough ports and processing power to run every other part of this build &#8212; GPS, radios, telemetry &#8212; without needing extra adapters or splitters. Its dual motion sensors also let the flight controller catch a bad reading rather than trusting a single sensor, which helps keep flight stable. Compared to something like the 6X, it offers plenty of capability for a build like this without paying for redundancy the mission doesn&#8217;t need.</p><h2>3. The Power Module &#8212; Holybro PM02 V3</h2><p>A power module sits between the battery and the flight controller. Its main job is to take raw battery power and turn it into clean, steady power the flight controller can safely use, while also measuring the voltage and current coming from the battery. That measurement is what lets the flight controller warn you, or automatically bring the drone home, if the battery starts running low. I used the Holybro PM02 V3 for this.</p><p><strong>I explored these other options &#8212; here&#8217;s a comparison:</strong></p><ul><li><p><strong>Holybro PM02 V3</strong> <em>(used)</em> &#8212; Analog signal, works with Pixhawk 6C/Durandal and similar boards, supports up to 12S. Standard pick for analog boards.</p></li><li><p><strong>Holybro PM02D</strong> &#8212; Digital signal, works with Pixhawk 6X/5X, supports up to 12S. Needed if using a 6X/5X instead.</p></li><li><p><strong>Holybro PM06 V2</strong> &#8212; Analog signal, works with Pixhawk 6C/Durandal and similar boards, supports up to 14S. Adds built-in power distribution.</p></li><li><p><strong>Holybro PM07</strong> &#8212; Analog signal, works with Pixhawk 6C/Durandal and similar boards, supports up to 14S. Higher current capacity.</p></li><li><p><strong>Mauch Power Module</strong> &#8212; Analog signal, works with most Pixhawk-standard boards, range varies by model. Very precise, popular in pro builds.</p></li></ul><p><strong>Why this is a good choice:</strong> The PM02 V3 is the right match specifically because it reads power data the same way the Pixhawk 6C expects &#8212; an analog module like this is what the 6C is built to use, while other Pixhawk models need a different type. It also handles the basics well: regulating power safely and reporting battery status back to the flight controller so it can warn you before the battery runs too low. That combination of compatibility and reliable monitoring makes it a straightforward, low-risk choice.</p><h2>4. The Battery &#8212; Tattu 5200mAh 4S LiPo</h2><p>The battery is simply what powers the whole aircraft &#8212; the motors, the flight controller, the receiver, and every other electronic part on board. For a drone like this, the battery needs to supply enough energy for a reasonable flight time, and enough current, quickly enough, to keep four motors spinning hard when needed. I used a Tattu 5200mAh 4S LiPo, which is a common type and size for a drone in this class.</p><p><strong>I explored these other options &#8212; here&#8217;s a comparison:</strong></p><ul><li><p><strong>Tattu 5200mAh 4S</strong> <em>(used)</em> &#8212; 5200mAh, 35C discharge, XT60 connector. Good balance of capacity and weight.</p></li><li><p><strong>Tattu 4S 6000mAh</strong> &#8212; 6000mAh, similar discharge rating, XT60 connector. More flight time, a bit more weight.</p></li><li><p><strong>CNHL 4S 5000mAh</strong> &#8212; 5000mAh, 50C+ discharge, XT60 connector. Budget-friendly, less voltage sag.</p></li><li><p><strong>Gens Ace 4S 5000mAh</strong> &#8212; 5000mAh, ~45&#8211;50C discharge, often ships with XT90. Check the connector &#8212; may need an adapter.</p></li><li><p><strong>Ovonic 4S 5000mAh</strong> &#8212; 5000mAh, 50C+ discharge, XT60 connector. Lower-cost option.</p></li></ul><p><strong>Why this is a good choice:</strong> This battery&#8217;s capacity and discharge rating give the motors plenty of headroom without adding unnecessary weight. It&#8217;s matched in voltage to the motor and propeller setup already on the frame, so the power system runs efficiently rather than being over- or under-powered. It&#8217;s also a widely available, well-regarded pack, which makes it easy to find compatible spares.</p><h2>5. The GPS &#8212; Holybro M10</h2><p>The GPS module tells the drone where it is in the world, which is what makes features like position hold, return-to-launch, and flying to preset waypoints possible. Most drone GPS modules also include a compass, which tells the flight controller which direction the aircraft is facing. I used the Holybro M10, which connects directly to the flight controller and works right out of the box.</p><p><strong>I explored these other options &#8212; here&#8217;s a comparison:</strong></p><ul><li><p><strong>Holybro M10</strong> <em>(used)</em> &#8212; Tracks 4 satellite systems at once, includes compass, ~1&#8211;2m accuracy. Current standard choice.</p></li><li><p><strong>Holybro M9N</strong> &#8212; Tracks 4 satellite systems at once, includes compass, ~1&#8211;2m accuracy. Previous generation, still solid.</p></li><li><p><strong>Holybro M8N</strong> &#8212; Tracks fewer systems at once, includes compass, slightly lower accuracy. Budget option.</p></li><li><p><strong>Matek M10Q</strong> &#8212; Tracks 4 satellite systems at once, includes compass, ~1&#8211;2m accuracy. Different manufacturer, similar performance, but a different cable.</p></li><li><p><strong>Holybro H-RTK F9P</strong> &#8212; Tracks 4 satellite systems at once, includes compass, centimeter-level accuracy. Big precision upgrade, more setup involved.</p></li></ul><p><strong>Why this is a good choice:</strong> Tracking multiple satellite systems at once means a faster, more reliable position lock than older single-system GPS modules. It also plugs directly into the flight controller&#8217;s GPS port with no rewiring, which keeps setup simple. Between its accuracy and easy integration, it&#8217;s a dependable choice for position hold, return-to-launch, and waypoint missions.</p><h2>6. The Transmitter &#8212; RadioMaster Boxer</h2><p>The transmitter is the handheld radio you use to actually fly the drone &#8212; moving the sticks sends control signals wirelessly to the aircraft. It also usually displays telemetry information back from the drone, like battery level or GPS status, and lets you set up different flight modes and switches. I used a RadioMaster Boxer, paired with a receiver on the aircraft that picks up its signal.</p><p><strong>I explored these other options &#8212; here&#8217;s a comparison:</strong></p><ul><li><p><strong>RadioMaster Boxer</strong> <em>(used)</em> &#8212; EdgeTX firmware, built-in ExpressLRS, compact size. Good balance of size and features.</p></li><li><p><strong>RadioMaster TX16S</strong> &#8212; EdgeTX firmware, ExpressLRS via module, larger size. More switches, bigger screen.</p></li><li><p><strong>RadioMaster Zorro</strong> &#8212; EdgeTX firmware, built-in ExpressLRS, smaller size. Gamepad-style, very portable.</p></li><li><p><strong>RadioMaster Pocket</strong> &#8212; EdgeTX firmware, built-in ExpressLRS, very compact. Budget/travel option.</p></li><li><p><strong>TBS Tango 2</strong> &#8212; EdgeTX-based firmware, TBS Crossfire protocol, compact size. Different protocol &#8212; needs a matching receiver.</p></li></ul><p><strong>Why this is a good choice:</strong> The Boxer runs the same ExpressLRS protocol as the receiver on the aircraft, so the two bind together without needing any extra hardware. It also offers solid build quality and stick feel for its size, which matters for comfortable, precise flying. For a build that doesn&#8217;t need the biggest, most feature-packed radio, it&#8217;s a practical middle ground.</p><h2>7. The Receiver &#8212; RadioMaster RP3-H</h2><p>The receiver is the small module mounted on the drone that picks up the signal from the transmitter and passes those control inputs along to the flight controller. It has to be compatible with the specific radio protocol your transmitter uses in order to bind and communicate with it. I used a RadioMaster RP3-H, which pairs with the Boxer transmitter.</p><p><strong>I explored these other options &#8212; here&#8217;s a comparison:</strong></p><ul><li><p><strong>RadioMaster RP3-H</strong> <em>(used)</em> &#8212; ExpressLRS protocol, dual antenna. Reliable, balanced choice.</p></li><li><p><strong>RadioMaster RP1</strong> &#8212; ExpressLRS protocol, single antenna. Lighter and simpler.</p></li><li><p><strong>RadioMaster RP4TD</strong> &#8212; ExpressLRS protocol, dual antenna with true diversity. Stronger, more reliable signal.</p></li><li><p><strong>BetaFPV SuperD</strong> &#8212; ExpressLRS protocol, dual antenna. Similar performance, different brand.</p></li><li><p><strong>Happymodel EP1</strong> &#8212; ExpressLRS protocol, single or dual antenna (EP1 Dual). Popular, widely used.</p></li></ul><p><strong>Why this is a good choice:</strong> The RP3-H uses the same ExpressLRS protocol as the Boxer, so the two pair directly without any translation hardware in between. Its dual-antenna setup also helps keep the connection stable as the drone changes orientation during flight. It&#8217;s a reliable, well-rounded choice without needing the most advanced (and more expensive) diversity receivers on the market.</p><h2>8. The Telemetry Radio &#8212; Holybro SiK Telemetry Radio V3</h2><p>A telemetry radio creates a wireless data link between the drone and a laptop or ground station, separate from the control radio. It lets you see live flight data &#8212; like altitude, speed, and battery status &#8212; and, more importantly for this build, lets a laptop send commands and run automated missions without needing an onboard computer riding along on the aircraft. I used the Holybro SiK Telemetry Radio V3 for this.</p><p><strong>I explored these other options &#8212; here&#8217;s a comparison:</strong></p><ul><li><p><strong>Holybro SiK V3</strong> <em>(used)</em> &#8212; 915MHz, several hundred meters to a few km range. Simple, solid default choice.</p></li><li><p><strong>RFD900x</strong> &#8212; 915MHz, tens of kilometers range. Big range upgrade, more setup involved.</p></li><li><p><strong>Generic SiK-based radio</strong> &#8212; 915MHz, similar range to stock SiK. Same design, different brand.</p></li><li><p><strong>Microhard radio</strong> &#8212; 900MHz range, long range. More advanced, higher cost.</p></li><li><p><strong>XBee radio</strong> &#8212; 900MHz range, moderate to long range. Alternative data-link option.</p></li></ul><p><strong>Why this is a good choice:</strong> The SiK V3 creates a simple wireless link between the flight controller and a laptop, which is exactly what&#8217;s needed to run mission software without an onboard computer. It&#8217;s also easy to set up and works out of the box with common ground-station software. For the range this build needs, it&#8217;s a reliable, no-fuss option rather than paying for more range than necessary.</p><h2>9. The Remote ID Module &#8212; Holy Stone Broadcast Module</h2><p>A Remote ID module broadcasts your drone&#8217;s identity and location while it&#8217;s flying, similar in spirit to a license plate. In the US, this is a legal requirement for most drones above a certain weight, and since this is a custom-built aircraft without that feature built in, a separate module is needed to stay compliant. I used a Holy Stone Remote ID broadcast module, which works independently of the rest of the drone&#8217;s electronics.</p><p><strong>I explored these other options &#8212; here&#8217;s a comparison:</strong></p><ul><li><p><strong>Holy Stone RID Module</strong> <em>(used)</em> &#8212; ~13.5g, ~5 hours battery life. Simple broadcast only.</p></li><li><p><strong>uAvionix pingRID</strong> &#8212; ~21g, 2+ hours battery life. Aviation-grade build.</p></li><li><p><strong>Dronetag Beacon</strong> &#8212; ~16g, several hours battery life. Optional live tracking with the Mini version.</p></li><li><p><strong>BlueMark DroneBeacon</strong> &#8212; Very light, battery life varies by model. Budget-friendly.</p></li><li><p><strong>Zing Z-RID</strong> &#8212; ~35g, battery life varies. Simple, widely available.</p></li></ul><p><strong>Why this is a good choice:</strong> The Holy Stone module is fully self-contained &#8212; it doesn&#8217;t rely on the flight controller&#8217;s GPS or power system to do its job. It&#8217;s also light enough that it doesn&#8217;t meaningfully affect the drone&#8217;s balance or performance. For a straightforward way to stay legally compliant, it does exactly what&#8217;s needed without adding complexity.</p><h2>How It All Fits Together</h2><p>Every part in this build was chosen to work with the others &#8212; the frame matches the flight controller&#8217;s mounting standard, the power module matches the flight controller&#8217;s power-sensing type, the battery matches the motor and propeller setup, and both radios connect the same way the stock parts did. That&#8217;s also why most of the alternatives listed above are drop-in options: as long as a replacement follows the same standard &#8212; Pixhawk connectors, ExpressLRS protocol, XT60 connectors, and so on &#8212; it plugs into the same system without extra adapters.</p><h2>Quick Reference: What I Actually Used</h2><ul><li><p><strong>Frame:</strong> <a href="https://holybro.com/products/x500-v2-kits">Holybro X500 V2 ARF kit</a></p></li><li><p><strong>Flight controller:</strong> <a href="https://holybro.com/products/pixhawk-6c">Holybro Pixhawk 6C</a></p></li><li><p><strong>Power module:</strong> <a href="https://holybro.com/products/pm02-v3-12s-power-module">Holybro PM02 V3</a></p></li><li><p><strong>Battery:</strong> <a href="https://www.genstattu.com/tattu-5200mah-14-8v-35c-4s1p-lipo-battery-pack-with-xt60-plug.html">Tattu 5200mAh 14.8V 35C 4S LiPo</a></p></li><li><p><strong>GPS:</strong> <a href="https://holybro.com/products/m10-gps">Holybro M10</a></p></li><li><p><strong>Transmitter:</strong> <a href="https://radiomasterrc.com/products/boxer-radio-controller-m2">RadioMaster Boxer</a></p></li><li><p><strong>Receiver:</strong> <a href="https://radiomasterrc.com/products/rp3-h-expresslrs-2-4ghz-nano-receiver">RadioMaster RP3-H</a></p></li><li><p><strong>Telemetry radio:</strong> <a href="https://holybro.com/products/sik-telemetry-radio-v3">Holybro SiK Telemetry Radio V3</a></p></li><li><p><strong>Remote ID module:</strong> <a href="https://store.holystone.com/products/holy-stone-drone-remote-id-module">Holy Stone Remote ID broadcast module</a></p></li></ul><p><em>Links go to each manufacturer&#8217;s official store. Prices, stock, and exact page URLs can change over time, so it&#8217;s worth double-checking before you buy.</em></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://dronelabs.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item></channel></rss>