Hardware Selection (Falcon) - norlab-ulaval/Norlab_wiki GitHub Wiki
Introduction
Falcon's hardware was carefully selected to ensure robust and safe flight. A detailed spreadsheet listing the considered parts is available here.
Quicklinks:
- Frame Selection
- Motors and Propellers
- Electronic Speed Controllers (ESCs)
- Flight Controller
- Companon Computer
- GNSS Receiver
- Radio Link
Frame Selection
| Frame Size | Advantages | Drawbacks |
|---|---|---|
| Small (25 cm) | - Cheap- Aerodynamic- Fast / Agile- Less regulations (if < 250 g) | - Little payload capacity- Space-constrained |
| Medium (45 cm) | - Versatile (Agility or payload)- Good price/quality ratio | - Big payloads reduce flight time- Not suitable for pro flight controllers |
| Large (65 cm) | - More stable- More payload- More space (sensors and processing)- Suitable for long-duration flights- Good wind resistance | - Less agile- Expensive |
Considering high payload requirements and robustness to failures, the selected airframe is an Octa-Quad (X8) configuration, which consists of having eight motors on four axes, for redundancy. With this setup, the drone can still fly in the case of a motor or ESC failure and return home safely.
In order to build fast and minimize iterations, it was preferred to buy a frame kit instead of trying to DIY something that will break. Unfortunately, there are not that many options in this regard, and especially if you add the requirement to support eight motors. In the end, the Holybro X650 frame kit was selected, with the intention to customize the motor mounts to fit two motors on each arm.
Note: Although the foldable arms seem like a good idea at first glance, it seems like it unscrews during flight, which can be a serious concern for long flights. I would not recommend it for a future build.
Motors and Propellers
The following summarizes general recommendations gathered from various online sources regarding the selection of motors and propellers for a custom multirotor UAV.
Motor Mount Compatibility
- Motors must match the frame’s mounting pattern.
- Supported bolt spacing: 16–25 mm.
Testing and Efficiency Considerations
- Choosing an efficient motor–propeller combination is difficult without a thrust test bench.
- Focus on motors and propellers with available thrust curves or performance data.
- Choose brushless motors with low internal resistance, good thermal dissipation, high-quality bearings and materials
- Use the largest compatible bi-blade propellers for improved efficiency.
Thrust-to-Weight Ratio
- Each motor should provide at least 50% more thrust than its share of the drone’s total weight.
- Estimated drone weight: 5–8 kg total.
- Required thrust per motor: 0.5-1 kg.
Propeller Size vs. Motor KV
| Motor Type | Recommended Propeller Type | Performance Characteristics |
|---|---|---|
| Low KV | Large diameter propellers | Higher efficiency and lift; better for endurance and payload. |
| High KV | Small, lightweight propellers | Suited for higher-speed or racing configurations. |
Environmental Resistance
- Most brushless motors feature enamel-coated windings, providing protection against moisture.
- Safe to operate in light rain or occasional water exposure.
The final choice was the MAD Components 4008 IPE (380KV) with 16.2x5.3 Inch FLUXER Pro Glossy Carbon fiber folding propeller. This gives a propulsion efficiency of more than 80% at half-throttle, and a thrust-to-weight ratio of more than 2 to handle strong wind and disturbances.
Electronic Speed Controllers
ESCs are chosen based on the following criterion:
- Needs to be suitable for the selected motors and batteries
- Should ideally fit inside the drone's arms (inside diameter: 18 mm)
- Firmware should support bidirectional DSHOT for telemetry feedback
The selected ESCs are the ones that also come with the extended kit by Holybro, Tekko32 F4 45A. It comes with the recent AM32 firmware, which is suitable for telemetry readings.
Note: I had some issues with the ESCs at first, as they would not spin fast enough for the drone to takeoff. See Encountered Issues for the details of how to modify the parameters.
Flight Controller
Flight controllers come in all shapes and sizes, but their purpose is always the same: handle low-level control of the motors to achieve stable flight. That being said, some may be more reliable than others or support different firmwares that affect their capabilities and performance.
Common Firmwares
Different flight controllers are compatible with various open-source or proprietary firmwares. These firmwares determine how the controller interprets sensor data, stabilizes the drone, and interfaces with higher-level navigation systems or companion computers.
| Firmware | Description | Advantages | Limitations |
|---|---|---|---|
| PX4 | Open-source, industry-grade flight control stack widely used in research and commercial applications. | Highly modular; supports both multicopters and fixed-wing; large community; strong ROS2 and MAVLink integration. | Requires careful tuning; more complex setup; performance may vary with hardware. |
| ArduPilot | Mature open-source firmware supporting a wide range of vehicles (multicopters, planes, rovers, boats, etc.). | Extremely flexible; extensive parameter control; broad hardware compatibility; proven in many field operations. | Can be overwhelming for beginners; heavier computational load on low-end hardware. |
| Betaflight | Optimized for racing and freestyle drones with focus on high responsiveness and agility. | Very low latency; active community; frequent updates. | Not designed for autonomous missions or heavy payloads; limited GPS and mission support. |
| INAV | Based on Betaflight but adds GPS navigation and waypoint support for casual use. | Good balance between manual and autonomous flight; supports basic GPS features. | Not suitable for industrial or research-grade autonomy; limited redundancy and sensor support. |
| DJI Proprietary (e.g., N3, A3) | Closed-source firmware optimized for DJI hardware ecosystem. | Highly reliable and plug-and-play; excellent integration with DJI payloads and telemetry systems. | Limited customization; vendor lock-in; expensive hardware ecosystem. |
Hardware Robustness and Reliability
While firmware defines functionality, hardware robustness determines how reliable a flight controller will be in demanding environments. Key factors include:
- Processor and Memory: Professional controllers use high-performance microcontrollers (e.g., STM32H7 series) with sufficient RAM and flash to handle advanced estimation and control loops.
- Sensor Redundancy: Redundant IMUs, barometers, and magnetometers improve resilience against sensor drift or failure.
- Power Filtering and Isolation: Quality boards include power conditioning, over-voltage protection, and EMI shielding to prevent noise from affecting sensor readings.
- Environmental Protection: For professional drones, conformal coating, vibration damping, and temperature-rated components are critical for outdoor operation.
- Connectivity and Expandability: Extra UART, CAN, and I²C ports allow integration with GPS, companion computers, and payload controllers without reliability issues.
Pixhawk Family
Based on the information above, it appears that we want an FC that supports PX4/Ardupilot, has IMU and barometer redundancy and a strong processor. A very popular choice is the Pixhawk Family, which follow a common design philosophy based on the FMU (Flight Management Unit) open-hardware standard. The final choice was the Cube Orange+, as it offers most of the robustness features listed above, as well as a simplified integration with the rest of the devices through the Kore Carrier Board.
Note: As explained in Encountered Issues, I realized a bit later that the Cube Orange+ was lacking one feature that would have been interesting: support for 8 DSHOT connections. For a future build, I would recommend taking a look at the FMUv6X-RT, which also includes and ethernet port for smoother connection to a companion computer.
Companion Computer
Selecting the companion computer is a compromise between weight, power and connectivity. The NVIDIA Jetson family is generally a good choice for embedded computing as it provides a CPU and a GPU in a small form factor, as well as GPIOs, CSI, USB and ethernet connectivity. We initially had a Jetson Nano 2GB available in the lab, but rapidly faced limitations as the latest OS version available is equivalent to Ubuntu 18.04, which is not supported by ROS2. Hence, we upgraded to a Jetson Orin Nano, which supports Ubuntu 22.04 and provides more computing power.
Other popular options are:
- Raspberry Pi 5
- Mini PCs (e.g. Asus NUC)
- ModalAI VOXL2
Note: For a future build, one could look at a more integrated FC + Computer board, such as this one.
GNSS Receiver
When selecting a GNSS receiver for a UAV, several key technical aspects determine the achievable accuracy, reliability, and integration effort. Below are the most important criteria based on our design requirements and industry best practices.
- RTK / PPK support: must be able to receive RTCM corrections for real-time RTK and record raw observables for PPK post-processing.
- Compatibility with Reach RS3 (base): the Reach RS3 (our current base station) can act as an RTK base and transmit standard RTCM correction streams or local NTRIP corrections. Any receiver that accepts RTCM3 or NTRIP corrections should work fine.
- Dual-band (L1/L2) preferred: dual-frequency reduces multipath and speeds RTK convergence. L1/L2 is preferred for current operational stability whereas L5 is still rolling out in some constellations. It should also support the four main satellite constellations (GPS, GLONASS, Galileo, Beidou).
Based on these criteria, and its low price point, the selected GNSS receiver is the Holybro H-RTK ZED-F9P Rover. It connects to the flight controller easily via DroneCAN and it has an integrated antenna and compass.
Radio Link
The radio link is the device that allows the drone to communicate with a base station to transmit control inputs, feedback and payload data. There exist a plethora of methods to achieve this, as it can be handled by three different devices or combined in one. A UAV is usually equipped with:
- RC Receiver: to receive control inputs from a remote, see here.
- Telemetry Radio: provide a wireless MAVLink connection between a ground control station, to tune parameters in flight, inspect telemetry in real-time, change a mission on the fly, etc. (Link)
- Video Transmitter: a high bandwidth data link that can stream images and other sensor data in real-time.
Coincidentally, the lab was in the process of acquiring a set of Doodle Labs mesh radios for communication between our ground robots. These radios were initially intended for UAVs, and can transmit control inputs, telemetry data and heavy sensor data, like camera streams, in a single device. We got a Mesh Rider Mini OEM which can provide a 80 Mbps data link up to 50 km distance. This device is currently used for telemetry and ROS2 communication.