The OpenPilot Revolution is based around the STM32F4, OpenPilot was the first Open Source UAV project to adopt the STM32 Micro Processor and helped bring the hobby in to the 32bit micro-controller age, moving to new the F4 line was an obvious choice and this is the path we have taken.
At it’s heart, the Revolution has a STM32F4 processor with 1 Megabyte of flash storage space, 192 Kilobytes of ram, it runs at 168Mhz it also includes hardware support for floating point instructions which enable very fast calculation of Kalman and Complementary filters.
Compared to the STM32F1 used in the CC3D, the F4 processor in the Revolution runs significantly faster. While the CC3D has some available capability for code expansion, it is quite limited. The move to the F4 dramatically increases what is possible and the power that is available to developers.
The Revolution has it’s own OPLink Mini built right onto the board! This is not only a 10DoF flight controller with an ST32F4 processor in the same small footprint as the CC3D but also has it’s own LRS modem. The modem is directly powered from the Revolution itself so you don’t need to worry about any additional power supply.
Of course, the on-board modem will have the same functionality as the OPLink Mini, both are fully configurable from the GCS.
Operating on the 433MHz band (a 900Mhz version will be released at a later date), the modem provides a direct telemetry link between the GCS and your flight controller. And just as with the OPLink Mini, you can adjust the output RF power for compliance with any governmental RF regulations, or it can be disabled entirely.
The MPU-6000 is the world’s first sensor which combines a 3-axis gyroscope and a 3-axis accelerometer on the same silicon die. The MPU-6000 sensor can also be found on the CC3D and already has a proven track record of great flight performance.
When it came time to select a barometric pressure sensor, there were many to choose from and many were not up to the task. For the Revolution, OpenPilot selected the Measurement Specialties MS5611.
The MS5611 is not just any barometric pressure sensor, its purpose-built and has a very high resolution, as a result, it is ideal for use as an UAV altitude sensor. The sensor is so sensitive that it can sense a vertical shift of only 10 cm.
The Revolution uses the newer MS5611-01BA03 version of this sensor that is far less susceptible to light interference than the older plastic case versions.
Whether you are in ‘Position Hold’ while taking aerial photography, or you are flying a fixed-wing UAV on a pre-planned flight path, it’s vitally important to have accurate heading information. The Honeywell HMC5883L is a three-axis digital compass module which provides rapid updates to changes in orientation which are accurate to a tolerance of 1° to 2°.
The Flexi-IO port uses a 10 pin JST connector and is designed to perform several different functions. The port is used for control input and output and can be configured to serve 6 PWM inputs or outputs, also a mixture of other modes can be configured.
The Revo uses the same FlexiPort as the CC3D. The port can be used as either a UART or for I2C bus connectivity. It can be connected to serial devices like the OP GPS or any I2C device like the the EagleTree Airspeed expander module, ADCs, I2C ESCs and a lot more. It can be used also to connect Spektrum DSM2/DSMX Satellite to be used as receiver, or any other custom component interfacing with I2C or a serial connection including custom extension boards. Of course it’s also possible to run a serial Telemetry link to the GCS over the FlexiPort.
Standard serial port/S.Bus port (same as CC3D). This can be used to connect serial devices like Telemetry, OP GPS, Futaba S.Bus receivers or Spektrum DSM2/DSMX satellites (to be used as a receiver), freeing in these cases the Flexi-IO port for other uses. These systems use a single wire to help cut down cable clutter.
This port can be configured to accommodate an Attopilot current sensor and a low cost Sonar sensor such as the HC-SR04. It can also be used as a general purpose input/output port or as a one or two channel analog input port.
Just like the CC & CC3D, the Revo has a bank of 6 PWM output headers. If more PWM outputs are needed – the Flexi-IO port can be configured to support up to an additional 6 PWM channels if so required.
PWM port 5 can also be configured to communicate with an external analog airspeed sensors or a governor for helicopters.
Serial wire debug port. This allows the use of cheap boards like the STM F4 Discovery as an in circuit debugger to ease the firmware development.
We have decided to move away from using the mini USB port found on the existing CC and CC3D and instead use a micro USB port. The Micro USB port has several benefits, its physically smaller, more robust, much more widely adopted standard and is the same type of port found on the majority of mobile phones. In all likelihood you will already have one of these cables at home.
The USB port provides an USB composite device with the following functions:
OPLink Mini consists of a 100mW RF transceiver sitting on the 430MHz band (a 900MHz version will follow), it has a standard UART as well as OpenPilot’s FlexiPort which can be used for I2C or as an additional UART, the OPLink Mini also has a Micro USB port. The output power can be set to any level between 1.6-100mW so can be tailored for each country’s RF regulations.
This device not only works with Revo, but also with CC and CC3D. It opens a direct telemetry link between the GCS allowing real time control or position plotting on the GCS map. The OPLink can be fully configured from the OpenPilot GCS so no additional driver or software is needed. There’s no need to say that the OPLink is extremely handy when tuning your aircraft.
For fixed wing navigation a GPS is needed and OpenPilot is happy to announce the V8 GPS module, aptly named as this is the 8th development revision. This revision uses a fast U-Blox module with a fast 5hz update rate.
When it comes time to expand the capabilities of the Revo, the built-in SPI port provides robust high-speed expansion options. As an example, the Overo is a flexible, powerful, low-cost Linux hardware platform. Within the project it is being used for very high speed logging of board data via the SPI port.
Image processing, WiFi (web services) and advanced navigation control are all possible with this accessory (but to name just a few). Keep in mind that the Overo is merely one expansion example, and many other types of devices can be connected via the SPI port.
The Revo has been designed to be able to leverage the power of an external INS cube. The INS cube is an optional external module with complete inertial navigation system on-board, utilizing high-quality 10DoF sensors. This includes 3 x single axis gyros, accelerometers, magnetometers, barometer and a serial port for external GPS. A dedicated STM32 F4 MCU runs EKF and provides a complete INS solution for any application, not limiting it to the Revo board.
While internal Revo sensors perform very well, increased accuracy is desired for some applications (professional aerial video is an example). The INS cube can be used as an add-on board for Revo, replacing internal INS and/or providing a reference for high-quality camera stabilization, and also as a stand-alone product to be used with other systems. This still is a work in progress, so don’t expect it to be available soon. It will be relatively expensive due to the cost of the high-end sensors, but still is desired for special applications. While the INS Cube is not required for normal Revo use, it will provide a higher level of performance for users who need the very best in precision.