OpenPilot Mini Revo¶
Images and some content courtesy of the LibrePilot wiki
Support for the Revo Mini will be released with Copter-3.6.
- STM32F405RGT6 ARM Cortex-M4 microcontroller
- 168 Mhz/1 MB Flash
- 32-bit failsafe co-processor
- InvenSense MPU6000 IMU (accel, gyro)
- Honeywell HMC5883L compass
- MS5611 barometers
- 4.8V ~ 10V input power provided through ESC connection
- 6 PWM outputs (+6 more outputs possible on FlexiIO port)
- 1 RC input PWM/PPM (+6 more PWM inputs possible on FlexiIO port)
- 2 analog to digital inputs for battery voltage and current monitoring (2 more possible using PWM output pins 5,6)
- 1 serial input for GPS (+1 more possible on FlexiIO port, 1 more on Flexi port)
- 1 I2C port on Flexi port
- MMCX antenna connector for integrated HopeRF RFM22B 100mW 433MHz
- USB port
- SWD Port for flashing and debugging
Flashing a Beta Firmware¶
Official support for the Revo Mini will be released in Copter 3.6, but in the meantime you can try a release candidate firmware on the board. Flashing a release candidate firmware is only possible in Mission Planner at the moment.
Compile ArduPilot from the Copter-3.6 branch. After cloning, checkout commit d575d5e for Copter 3.6-rc1.
git clone https://github.com/ardupilot/ArduPilot cd ardupilot git submodule update --init --recursive git checkout Copter-3.6 git checkout d575d5e #Assuming you have all of the dependencies. ./waf configure --board revo-mini ./waf copter
This will generate the file build/revo-min/bin/arducopter.apj that we will use to flash the device.
Enter DFU Mode¶
The OpenPilot Revolution Mini does not come with an ArduPilot compatible bootloader and so you’ll need to flash new bootloader to the device. This only has to be done once. To flash the bootloader you must first enter DFU mode. To do this, you’ll need to locate and short two pads on the device. You can short the pads in any particular way (either with a wire, solder joint, or something else). Detailed instructions are available on the Revo Mini LibrePilot Wiki. A small wire is the easiest way to short the device. You can also power the device via USB first, and then short the pads if using a wire. Once you have the device in DFU mode and connected to your machine continue with the steps here.
sudo apt-get install dfu-util
brew install dfu-util
Refer the the Revo Mini LibrePilot wiki above. Install the Zadig USB driver and download the LibrePilot_dfu_flash.zip. Extract the zip archive and open a command prompt or PowerShell window in the directory.
Download the bootloader for the Revo Mini from master. With the Revo Mini connected via USB and DFU mode, open a terminal and flash the new bootloader with the following command line:
sudo dfu-util -d 0483:df11 -c 1 -i 0 -a 0 -D revo405_bl.bin -s 0x08000000
Once the flashing is complete, power cycle the board and you should see a solid green power LED and a rapidly blinking blue LED.
Open Mission Planner and go to the Initial Setup tab. Verify that the COM port in the top right is the same as in Device Manager.
Choose “Load Custom Firmware” and browse to the “arducopter.apj” file. After the flash is complete, power cycle the device.
Congratulations! You’re now running ArduCopter on the OpenPilot Revolution Mini. You can use this same process to upgrade to newer versions of ArduCopter. Compile ArduCopter and upload the .apj file to the board.
At the time of writing (the release of Copter 3.6-rc1) the physical board orientation differs from the orientation in software. To fix this, simply change AHRS_ORIENTATION to YAW_180. Test in your GCS software, as this will be rectified at some point.