EW18: The World's Most Compact VTOL Drone in the STM32 Fan Zone

February 24, 2018 ECD Staff

In preparation for Embedded World 2018, we are thrilled to present one of our STM32 Fan Zone partners, Quantum Systems. Among other things, this German company specializes in the development and production of two unmanned aerial vehicles (UAV): Tron and Trinity. The former has four motors whereas the latter has three, which determines their performance and the type of payload they can support. Tron can travel at a maximum speed of 160 km/h (100 miles/h), accept a payload of 2 kg (4.41 lbs.), and reach a maximum flight time of 90 minutes, while Trinity cruises at 60 km/h (37 miles/hour) for 60 minutes and can carry a payload of 500 g. Trinity is also the most compact Vertical Take-Off and Landing (VTOL) fixed-wing drone in the world, which explains why Quantum Systems’ devices are so popular.

Indeed, Deutsche Bahn, a German railway company, uses drones to examine trees along their railway tracks to anticipate those that could be falling soon and take proactive measures to ensure that there are no accidents or service interruption. After examining different options, Deutsche Bahn chose Quantum Systems’ solutions because they could function longer and cover a greater area than the competition while still carrying the camera they had in mind. Similarly, RWE, a company that focuses on energy production, uses Tron drones to create 3D reconstructions of mining fields. Thanks to its VTOL capabilities, it can navigate narrow and difficult areas to offer the best possible images, significantly increasing the accuracy of models and simulations.

There are many other applications imaginable, but as we sat down with Tobias Kloss, co-founder of Quantum Systems, and Michael Kriegel, its Chief Technology Officer, it was fascinating to learn that their team has been using STM32 systems since the very beginning.

When their engineers first started working on drones, they used a PX4 autopilot system with a Bootloader for an STM32F4 or STM32F7 microcontroller (MCU). PX4 is an open-source project by ETH Zurich (Swiss Federal Institute of Technology) that often serves as a student’s introduction to STM32 MCUs. Today, professionals and enthusiasts looking to start a similar project can also use our STEVAL-FCU001V1 flight controller unit to get more support and functionalities directly from ST. In both cases, designers have access to great communities and teaching tools that shape the next generation of technical leaders. Indeed, the PX4 and the STEVAL-FCU001V1 offer students the power and energy efficiency they need to run the intensive computations necessary during the aircraft’s operation, while also guaranteeing a better battery life. As Tobias and Michael explained:

We [Quantum Systems] need a lot of processing power, because we need to acquire the sensors’ data and run fusion algorithms. Ultimately, 20 % of the CPU’s computational throughput just calculates the aircraft’s altitude, roll, yaw, pitch, and position. A simple glitch in the data could cause serious damage and result in a crash. Hence, we can’t rely on an 8-bit MCU and therefore use STM32 components.

To further optimize their solutions, Tobias and Michael’s teams moved away from the PX4 firmware to design their own custom solution. After all, creating the world’s most compact VTOL fixed-wing drone requires the cleanest code possible. The co-founder explained how the STM32CubeMX gets them the low-level drivers they need to communicate with the component. The German company then relies on the Micro-Controller Operating System (MicroC/OS or µC/OS) and ST’s documentation to build their application from scratch.

To meet their computational needs, the teams at Quantum Systems use an STM32F4 MCU. Today, their application uses mostly single precision floating-point computations, with a little bit of double precision, but as they start developing newer systems, they explained that they are looking to use a lot more double-precision operation to increase the flight control’s accuracy and extract more performance with every single clock cycle. VTOL aircraft are particularly sophisticated. For instance, the transition between the hovering and aerodynamic phases requires innovative and groundbreaking algorithms that explain Quantum Systems’ success in the industry.

The company also uses STM32F4 MCUs because of its many Direct Access Memory (DMA) channels. Given the enormous amount of data coming from the sensors – we’re talking about an acquisition rate of 500 Hz – the engineers made sure to use DMA instead of regular interrupts to optimize performance and reduce CPU usage, but that was only possible because the MCU had the necessary channels. Similarly, Quantum Systems relies heavily on the CAN (Controller Area Network) bus of the MCU to bypass drivers and further improve computational efficiency. However, the company is already looking at potentially using STM32F7 for future products. This will allow engineers to use the CAN FD (Flexible Data-Rate) bus to transmit more data in a single frame and run more double-precision computations. Furthermore, because the STM32F7 is pin-to-pin compatible with the STM32F4 MCUs, Quantum Systems can adopt the more powerful component with minimal design changes.

Quantum Systems will have a booth at our STM32 Fan Zone at Embedded World 2018, and we invite you to come and check out the astonishing things they are doing with STM32 MCUs.

Previous Article
Embedded World 2018: WiseChip presents new OLED display solutions
Embedded World 2018: WiseChip presents new OLED display solutions

WiseChip will be presenting a series of OLED Display products in Nuremberg at the Embedded World in hall 1,...

Next Article
Crystal Group Unveils Rugged Embedded Cmputer For Critical Infrastructure, Energy Apps

Crystal Group's new RE1012 Rugged Embedded Computer packs server-class performance in a compact, rugged emb...


Follow our coverage of hardware-related design topics with the Hardware edition of our Embedded Daily newsletter.

Subscribed! Look for 1st copy soon.
Error - something went wrong!