SMACCMPilot implements a secure communication link on top of the 3DR Radio, an open-source hardware design developed by 3D Robotics for the ArduPilot project. 3DR Radios provide reliable a low bandwidth (9600baud) radio link over long ranges (>1mi line of sight). They are available in two frequency bands (433MHz and 915MHz), making them suitable for unlicensed operation in most countries.
SMACCMPilot uses a custom firmware on the 3DR Radio called SMACCM-SiK. This firmware is not backwards compatible with existing 3DR Radio firmware. You will need to flash the SMACCM-SiK firmware to your 3DR Radios after receiving them from the factory. It is possible to restore your radios to the standard SiK firmware using the standard 3DR Radio firmware & configuration utility, which runs on Windows.
The SMACCM-SiK firmware for the 3DR Radios is a fork of the SiK project, authored by Michael Smith and Andrew Tridgell. We are grateful to those authors for their open source contributions, and for assistance with our modifications.
The latest SMACCM-SiK firmware for the 3DR Radio is provided as a binary for your convenience. If you would like to build your own from source, see the development section below.
You should upload the SMACCM-SiK firmware on both radios used for the SMACCMPilot telemetry link. Using a SMACCM-SiK radio with a standard SiK radio is not supported and will result in improper operation.
We’ve also provided the firmware upload python script, also found in the SiK repository, for convenience. To upload firmware to a 3DR radio, attach it to your computer via a USB to serial converter, and run:
python sik_uploader.py --port ENTER_SERIAL_PORT_HERE smaccm-sik-1.6-3drradio.ihx
You will need Python 2.6 and the pyserial package to use the upload script.
You may need to change parameters in the radio firmware to select a channel, frequency range, and other parameters. SMACCM-SiK is compatible with parameters setup and saved to flash from the standard SiK firmware version 1.6. You can use the 3DR Radio firmware & configuration utility to upload SiK 1.6 and configure radio parameters. You can then flash the radio to use SMACCM-SiK, and the previous saved parameters will be effective.
You can also update parameters with the SMACCM-SiK firmware loaded with AT commands from a serial console, however, we do not provide any convenient tools for changing the parameters on native SMACCM-SiK at this time.
SMACCM-SiK is a fork from the SiK project. We’ve made the following changes to the operation of the radios:
SMACCM-SiK is built with the SDCC compiler version 3.1.0. We’ve had issues with other versions of this toolchain, so we recommend others build using that precise version.