# HG Drone Developer Guide

- [Getting started](/hovergames/developerguide/getting-started.md): Start developing software for the HoverGames drone by extending PX4 Autopilot or by controlling the flight controller using software running on a (separate) companion computer.
- [Development tools](/hovergames/developerguide/tools.md): This section explains how to set up a Linux-based development environment with useful tools to develop, build and debug software for HoverGames and NXP Mobile Robotics platforms.
- [Virtual machine](/hovergames/developerguide/tools/virtual-machine.md): We are going to set up a Linux virtual machine that can be used for developing, building and debugging software for HoverGames and other NXP Mobile Robotics platforms.
- [Installing Ubuntu](/hovergames/developerguide/tools/installing-ubuntu.md): The next few steps will guide you through the Ubuntu installer. It does not matter if you install Ubuntu natively or in a virtual machine, the install procedure remains (mostly) the same.
- [PX4 toolchain](/hovergames/developerguide/tools/toolchain-installation.md): The PX4 project provides a set of recommended tools that you can use to develop, build and debug PX4 Autopilot and other Dronecode software projects, as well as Apache NuttX RTOS.
- [MCUXpresso](/hovergames/developerguide/tools/mcuxpresso.md): The MCUXpresso Integrated Development Environment allows developers to edit, compile and debug code for many NXP microcontrollers. For HoverGames it is a useful tool for debugging the PX4 code.
- [Building the bootloader](/hovergames/developerguide/building-bootloader.md): Instructions for building the bootloader from source using the console.
- [Building PX4 firmware](/hovergames/developerguide/building-firmware.md): Instructions on how to build the PX4 firmware from source using the console.
- [Program software using debugger](/hovergames/developerguide/program-software-using-debugger.md): This page provides instructions on how to upload any software to the board using the debug interface.
- [Git source code management](/hovergames/developerguide/git.md): How to use Git when working with a group of people on a complex software project.
- [PX4 Tutorial example code](/hovergames/developerguide/px4-tutorial-example-code.md): Examples to get you started with creating your own modules within PX4 Autopilot.
- [HG-PX4 Example Lab 1: uORB Subscribe](/hovergames/developerguide/px4-tutorial-example-code/hg-px4-example-lab-1.md): uORB messaging protocol
- [HG-PX4 Example Lab 2: uORB Publish](/hovergames/developerguide/px4-tutorial-example-code/hg-px4-example-lab-2.md)
- [HG-PX4 Example Lab 3: Building Code](/hovergames/developerguide/px4-tutorial-example-code/hg-px4-example-lab-3.md): Compiling our new example code into PX4
- [HG-PX4 Example Lab 4: Loading and Running Code](/hovergames/developerguide/px4-tutorial-example-code/hg-px4-example-lab-4.md)
- [HG-PX4 Example Lab 5: Build your own PX4 app](/hovergames/developerguide/px4-tutorial-example-code/hg-px4-example-lab-5.md): uORB subscribe to the compass and publish to the LED
- [Companion computers](/hovergames/developerguide/companion-computers.md): Using a companion computer is a straightforward way to extend the functionality of your drone by running some of your own software.
- [PX4 simulation](/hovergames/developerguide/simulation.md): Simulators allow PX4 Autopilot to control a modeled drone in a simulated environment.
- [PX4 system console](/hovergames/developerguide/system-console.md): Accessing and using the PX4 system console.
- [Useful console commands](/hovergames/developerguide/system-console/useful-console-commands.md): This page lists some useful NuttX console commands. You can access the console through QGroundControl or using a USB-TTL-3V3 cable and debugger adapter board.
- [C++ and Python interface\&management application for FMUK66](/hovergames/developerguide/c++-and-python-interface-and-management-application-for-fmuk66.md): Dobrea Dan Marius
- [Zephyr on FMUK66](/hovergames/developerguide/zephyr-on-fmuk66.md)
