Building an Open Source Drone with PX4 using Pixhawk Open Standards thanks to Upverter

By May 20, 2021Announcements

The multidisciplinary nature of drones brings community members from many areas of the technology spectrum, and our community welcomes everyone by offering an inclusive and accessible space to collaborate. (See our Code of Conduct, and pledge to our community)

I frequently see members struggle in some areas and excel at others. For most, it feels like starting in a totally foreign area. Developing circuit boards and integrating hardware modules onto a board is one of the areas most are not experts.

The Open Source Path

The main benefit of choosing to work with an open-source community is the openness and collaboration across the board. It’s essential to choose a mature community with a proven ecosystem of tools and services that can help you achieve your goals.

When starting drone projects, it is important to understand the challenges you are trying to accomplish. I frequently see many make the mistake of focusing on the wrong problems and eventually see them reinventing the wheel (sort of speak) after having spent vast engineering resources.

Choosing to adopt a robust and mature open-source community can help organizations and developers get started quickly, thanks to the vast tools and rich feature set already available thanks to decades of architectural improvements, critical safety considerations, the many challenges that we overcame that helped us get to where we are today, as well as a continuously growing ecosystem of hardware options to choose from.

Creating the next generation of advanced robotics

For robotics and drones, the computational challenges can be even more significant than the electronics challenges if you don’t have the hardware and firmware support you need. If you’re developing a new drone, you can cut down your development and build time if you can leverage some proven production-grade firmware for your system.

“The PX4 Autopilot is an excellent option to help drone designers develop and deploy proven firmware onto their hardware.”

PX4 is an open-source flight control software for drones with support for many configurations of multicopters, fixed wings, VTOLs, Rovers, and even unmanned underwater vehicles. Its source code contains everything needed to configure a vehicle, run it autonomously and also control it from an external source through an SDK (companion computer, over a telemetry link, or even through the cloud thanks to LTE or 5G).

If you are interested in learning how the PX4 Autopilot works, check out the amazing community-driven documentation, which is kept up to date by volunteers from all over the world at docs.px4.io. The PX4 source code is available on GitHub.

PX4 and the Dronecode Foundation

The PX4 Autopilot is hosted under the Dronecode Foundation. DF is a vendor-neutral foundation for open drone projects part of the Linux Foundation. Our mission is to nurture communities around the open-source projects, and to foster collaboration between the many contributors from the industry to continuously improve the projects.

The Projects under the ecosystem umbrella include:

  • PX4 Autopilot Flight Stack
  • MAVLink the protocol for drones.
  • QGroundControl MAVLink based Mission Planner.
  • MAVSDK, the standards compliant SDK for MAVLink.

PX4, together with the rest of the projects hosted under the Dronecode Foundation, gives creators a proven solution that can be immediately deployed for prototyping or production. This ecosystem provides an open-source solution for building solutions thanks to its modular architecture, developers can easily add hardware components without requiring major redesigns to the code architecture or losing core functionality.

The Dronecode Foundation offers a rich set of critical components for Drone Developers

Pixhawk Open Standards

Pixhawk is not a specific product; it is a set of open standards endorsed by major semiconductor manufacturers, software companies, and drone engineering companies. These de facto standards cover requirements for many aspects of hardware and electronics design in drones. The Pixhawk Special Interest Group is in charge of developing the latest standards through recurring public meetings hosted by the Dronecode Foundation.

The Open Standards are implemented by manufacturers, many of which are DF members, such as Auterion, Holybro, ModalAI, CUAV, 96Boards, NXP Semiconductor. They release products or reference implementations for end-users or other organizations, all based on the Pixhawk standards. The Pixhawk ecosystem has been growing for more than a decade and has achieved great success. We estimate more than a million Pixhawk based devices in the field as of writing.

Designing Compatible Drone Hardware

Designing and choosing the right components can be underwhelming when you have so many options, but luckily new open programs by the DF and new design tools by our members make it much easier to build a PX4 compatible drone.

Even if you’re not a PCB designer, you’ll still need a circuit board to hold all your electronics, and you’ll need to have it manufactured. If you want to innovate alongside significant players in the drone industry, it’s best to work within the Pixhawk Standards, as they have seen tremendous success and become an industry benchmark. As such, you’ll either need to purchase an existing solution or design your own board to support a PX4-based drone.

Here’s some of the options you have when adopting the Pixhawk Open Standards to design a PX4 compatible drone.

Manufacturing your own implementation

Dronecode Foundation members that are part of the Pixhawk Special Interest group and actively participate have access to the resources needed to manufacture hardware based on the latest Pixhawk Open Standards. The Dronecode Foundation will work with it’s members to certify compliance with the standards, and help them go to market, helping you navigate the Pixhawk trademarks and the many licensing options available.

Interested in becoming a member? Apply online today.

Building a Custom Board using Upverter

Another straightforward option to design a board without a DF membership, that doesn’t involve buying an expensive design application, or learning PCB design is to use the modular design tools in Upverter Modular thanks to our Silver Member Gumstix.

Everything in Upverter Modular happens in your web browser, and the drag-and-drop interface makes it simple to add hardware onto a circuit board. Upverter Modular works using multiple hardware modules with standard interfaces, where the electrical connections between different modules are created automatically.

You don’t need to worry about routing or signal integrity as you create your drone board. Instead, you can worry about designing the features and functions you want in your new system.

To get started in Upverter Modular, you can jumpstart your design from reference templates or open up a new board and search for a Pixhawk module. You can then drag this module into the board layout. This module includes all the hardware you need to support the PX4 Autopilot:

An example of a supported sensor set:

  • STM32H753 Processor
  • USB3300 USB Hi-Speed Transceiver
  • FM25V02A 256Kb FRAM
  • InvenSense ICM-42605 6-axis IMU
  • InvenSense ICM-20602 6-axis IMU
  • Bosch BMI088 6-axis IMU
  • Bosch BMM150 Magnetometer
  • Bosch BMP388 Barometer

To finish up the board, just add a power regulation module and any other cameras, sensors, or other components you want on the board.

The image below shows an example board we created in Upverter using the NVIDIA Jetson TX2 COM. This board is ideal for image capture and processing directly on the drone, thanks to the onboard Jetson COM.

Pixhawk Reference Implementations

Gumstix CM4 + Pixhawk FMUv6 Board

For a prepackaged PX4 compatible board with additional features and embedded AI capabilities, check out the Gumstix CM4 + Pixhawk FMUv6U. This board follows the Pixhawk FMUv6U Open Standards and includes an SMT32 MCU that supports the PX4 Autopilot.

It also lets you build more extensive applications using the new Raspberry Pi CM4 module as the companion computer and a Coral TPU from Google, which supports advanced computer vision applications.  Gumstix is the first manufacturer to implement greater than USB 2.0 speeds between the Raspberry Pi CM4 module and the Coral Accelerator module.  This allows for faster inferencing and improved performance.

This board is a great tool for building a production-grade autonomous drone platform with custom applications using the PX4 Autopilot.

The CM4 + Pixhawk FMUv6U carrier board supports development, prototyping, or production-grade hardware for new drones and includes the following features:

  • STM32H753 MCU
  • 2x MIPI-CSI lanes for high-resolution imaging
  • BMM150 three-axis geomagnetic sensor
  • microSD card slot with isolated CD pins
  • USB Type-C port
  • 2x FTDI FT232RQ USB to UART interface
  • Coral TPU via USB3

Customize Your Own CM4 + Pixhawk FMUv6 Board

If you want to create your own CM4 + Pixhawk FMUv6 carrier board for a new drone, Upverter Modular lets you customize your own version of the Pixhawk board. You can add modules, change the board shape, modify the component arrangement, swap out the CM4 connector for a different COM, and quickly place an order for your customized Pixhawk board.

In addition to the drone hardware options listed above, Upverter’s drag-and-drop interface gives you access to a range of other modules for wireless communication, sensors, digital interfaces, and much more.

These modules and other hardware can be grouped with the PX4 module to satisfy the Pixhawk standards for drone hardware. If you’re ready to start designing electronics for a new PX4 drone, try using the drag-and-drop board design tools in Upverter Modular. You’ll have access to a range of industry-standard COMs and popular modules to create a new prototype board or production-grade customized FMU for your next drone project. You can design your own carrier board based on the FMUv6U carrier and instantly place it into production.

Try out the new Board Builder to get started for free. It’s never been easier to create production-grade hardware online.”

The advantage of open robotics

There are many options when it comes to building a robotics project, and at the Dronecode Foundation, we are working hard to keep an open option available by building a sustainable ecosystem that hosts developers, manufacturers, vendors, service providers, and end-users. Our efforts can be easily measured by the huge impact we have on the Drone Industry, from the first open hardware flight controllers to the cutting-edge rich feature set of PX4 and the vast tools for developers and makers.

  • An unmatched ecosystem.
  • A community of Thousands of developers
  • Millions of Pixhawk devices in the field
  • A flagship yearly event for developers
  • Multiple industry events where you can meet the community

Take advantage of the opportunities our network of projects and developers have to offer, and become part of our community.

Help Drive the Future of the Drone Industry.

Enjoy the benefits of membership!

Help us on our mission to enable the industry to build and run safe and scalable drone applications in modern and trusted hardware solutions. The technologies hosted under our umbrella empower developers to produce reliable projects in an open ecosystem.

By becoming a member, you help sustain the day-to-day operations of the open-source community and the Foundation.

Ramón Roche

Author Ramón Roche

Ramon is the Dronecode Program Manager, you can read more about him on LinkedIn https://www.linkedin.com/in/ramon-roche/

More posts by Ramón Roche