Hardware Overview

This page will describe the basic components needed to build a hardware platform for SMACCMPilot. There are two main components in SMACCMPilot: the mission computer and the flight controller. The mission computer manages networking with the ground control station (GCS) and hosting high-level applications (e.g., a webcam running on Linux). The flight controller executes the core flight functionality.

Flight Controller

The SMACCMPilot project uses the Pixhawk autopilot hardware. The official Pixhawk project website has information on this hardware and where it may be purchased.

Hardware Preparation

We provide a set of steps to configure your hardware for the SMACCMPilot project in the [smaccmpilot-hardware-prep][] repository. Clone this repository and follow the steps in the README documents. This only needs to be done once even if you modify the flight controller software later.

The Pixhawk must be prepared for SMACCMPilot. Follow the instructions here: smaccmpilot-hardware-prep.

Mission Controller

The mission controller includes a Hardkernel ODROID-XU (discontinued) development board with a custom daughter board developed by NICTA.

Hardware Preparation

Linux Filesystem

Assuming you have connected and wired the ODROID and daughter board, prepare a Linux filesystem on a micro SD card. Download the image then

> gunzip -c smaccm_demo.img.gz | dd of=<device file; sync

Mount the 1st partition and modify boot.ini by removing run verify. Plug the SD card into the ODORID.


Connect the ODROID daughter board to the 3DR radio (or optionally an FTDI cable during testing).

  • The Pixhawk and ODROID daughter board talk over CAN; wire them together.

Quadcopter Flight Platforms

The SMACCMPilot project supports quadcopter the Iris+, although it could be easily ported to support other Pixhawk-based plaftforms.

At this time, platforms with more than 4 motors are not supported. All motors must be PWM based, and use the first 4 channels connected to the PX4IO coprocessor.

Required Accessories

Telemetry Modems

SMACCMPilot needs to communicate with a ground control station (GCS) to operate.

You’ll need a pair of 3DR Radio radio modems for bidirectional communication between the air vehicle and GCS software running on your PC.

See the 3DR Radio setup page for information on how to setup and configure 3DR Radios for use with SMACCMPilot.

RC Controller

SMACCMPilot requires a hobby radio controller for safety. See our hobby radio controller page for information on what kind of system you need, and how to set it up.

JTAG/SWD Debugger (Optional)

Developers may want to use a JTAG/SWD debugger for inspecting programs as they run on the Pixhawk. We recommend the Black Magic Probe, but various other products will work with the STM32F4 microcontroller as well.