# Development

This section explains how to support new vehicle types and variants, modify flight algorithms, add new modes, integrate new hardware, and communicate with PX4 from outside the flight controller.

:::tip This section is for software developers and (new) hardware integrators. It is not needed if you're building an existing airframe or flying using a PX4 vehicle. :::

It explains how to:

* Get a [minimum developer setup](development/getting_started/config_initial), [build PX4 from source](development/getting_started/building_px4) and deploy on [numerous supported autopilots](drone_parts/flight_controller).
* Understand the [PX4 System Architecture](development/concept/architecture) and other core concepts.
* Learn how to modify the flight stack and middleware:
  * Modify flight algorithms and add new [flight modes](development/concept/flight_modes).
  * Support new [airframes](development/hardware/dev_airframes).
* Learn how to integrate PX4 with new hardware:
  * Support new sensors and actuators, including cameras, rangefinders, etc.
  * Modify PX4 to run on new autopilot hardware.
* [Simulate](development/simulation), [test](development/test_and_ci) and [debug/log](development/debug) PX4.
* Communicate/integrate with external robotics APIs.

## Key Developer Links

* [Support](contribute/support): Get help using the [discussion boards](https://discuss.px4.io/) and other support channels.
* [Weekly Dev Call](contribute/dev_call): A great opportunity to meet the PX4 dev team and discuss platform technical details (including pull requests, major issues, general Q\&A).
* [Licences](contribute/licenses): What you can do with the code (free to use and modify under terms of the permissive [BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause)!)
* [Contributing](contribute): How to work with our [source code](contribute/code).
