Community Collaboration

Dronecode members and community contributors collaborate.

Working Groups

Working Groups are teams created by the TSC to investigate a particular area of development, process enhancement, or community engagement. 

WG Governance

A WG lead is appointed to steer the working group activities (usually this is the person most familiar with the WG proposal who will be active and engaged in the group).

WG leads report activities to the TSC, in the monthly TSC meeting. Other responsibilities include:

  • Chairing WG meetings
  • Maintaining the group log
  • Providing a monthly public update

The individual groups otherwise manage working group meetings and development.

Payload WG

This group focused on cross-vendor payload integration by developing standard interfaces for MAVLink ready devices and systems.

Hardware WG

The hardware group is collaborating on the Pixhawk standard and, creating reference hardware solutions.

Regulation WG

Group formed intending to work with airspace regulators all over the world to collaborate in the process of regulation of UAS

Source code

Source code is stored in Github repositories belonging to component sub-projects. Project developer guides show how to set up a developer environment and build the software/firmware.

Documentation

Documentation is usually generated using Gitbook, and translated into a number of languages. You can find the main documents at the following locations.

Discussion

Here you will find all DroneCode project related development mailing lists. If you are a member of DroneCode project, please register your self to participate on the discussions.

Getting started

I just want to build or fly a drone

If you are completely new to drones, check out the Newbie’s Guide to UAVs. Next read the PX4 User Guide and the QGroundControl User Guide. If you get stuck with setup or configuration you can ask questions about the flight stack in the forums (for more general drone questions check out diydrones.com).

If you’re already experienced, helping other users in the community and answering their questions is a great way to contribute!

I want to help develop the platform

We can’t wait for you to start! Everything you need to become familiar with the individual projects that make up the Dronecode platform is linked from here: developer guides, source code (Github) and discussion forums.

A good way to begin is to look at the open issues for the project that you find most interesting. Then join the project’s developer comms channel and talk to the team about what you’d like to improve (or ask them for advice on where you can help).

I want modify flight code or add advance flight characteristics

Developers who want to change or enhance flight behaviour can do so within the flight stack or on a separate computer via an API (i.e. not within the core flight stack). You will need to become familiar with the PX4 Developer Guide, and you will be able to ask development questions in the PX4 Discussion Channels.

While the license does not obligate you to contribute your changes, we’d love you to do so. The process is covered in the DevGuide here.

I want to create new flight controller hardware

Flight controllers for computationally intensive use cases (for example computer vision for obstacle avoidance) require that the flight stack and additional software run on separate processors (or boards) connected via fast communications links. To address these use cases you’ll need to become familiar with the PX4 Developer Guide, MAVLink (for comms), and a developer API like ROS or DroneKit. In future you may need to be familiar with RTPS for comms, and also provide implementations of our Camera and other APIs. In the first place you should ask developer questions in the PX4 Discussion Channels.

If you want to create flight controller based on the Pixhawk open hardware then see the specifications and information at: https://pixhawk.org/.

I want to make compatible hardware accessories

Dronecode is actively working to standardise the integration points for Camera and other peripherals.

The flight stack is compatible with standard messaging and information protocols used for common peripheral hardware (e.g. UAVCAN). Compatibility is therefore straightforward for most sensors.

In the first instance you will want to review the PX4 Developer Guide, and you will be able to ask development questions in the PX4 Discussion Channels. Depending on your hardware you may also need to work closely with related projects (e.g. UAVCAN if you are using a CAN bus).

I want to integrate UAVs into my cloud service

You’ll need to create a bridge between your UAV “fleet” and your cloud services, either directly using a comms protocol (like MAVLink) or via a developer API like ROS or DroneKit that abstract some of the command and communication work. In the first instance you will want to review the PX4 Developer Guide and ask relevant development questions in the PX4 Discussion Channels. Depending on what APIs you choose to use, you may also need to become more familiar with MAVLink, ROS and/or DroneKit.

Member projects

Dronecode development happens at the project level. We encourage you to visit our member project’s sites and check out their other resources below.

Development Calendar

The development calendar shows important events for developers and end users. Select the links below to display the calendar in your timezone (and to add it to your own calendar):

(The calendar below shows events in CEST)