Getting Started with ArduPlane on the VOXL 2
- Michael Pehel
- Sep 9
- 3 min read
Ardupilot might not be the first thing you think of when you think about the VOXL 2, but the powerhouse companion computer works with either PX4 or ArduPilot natively. With the advent of BVLOS in the United States inching ever closer, we thought it would be a good time to showcase how you can get ArduPlane (ArduPilot for fixed-wings, flying wings, and VTOLs) running on a VOXL 2.
Feel free to follow along with tutorial in the video or the written version below!
Prerequisites
VOXL 2
QGroundControl (QGC) ground station software
RC transmitter configured
Debian or Ubuntu Linux distribution
Download ArduPlane Firmware
Head on over to the firmware section of ArduPilot website, and into the Plane/latest/QURT directory.

There you'll see the voxl-ardupilot_ArduPlane_{{VERSION}}_arm64.deb. Download that now.
Push the .deb package with this command:
adb push [arduplane-package.deb] /data/
That's going to push our package into the /data directory, so let's navigate to that.
adb shell
cd /data
From here, we can actually install the package.
dpkg -i [arduplane-package.deb]

All of this is easy so far, but this step is very important. We need to disable PX4 before starting up ArduPilot.
systemctl stop voxl-px4
...
systemctl restart voxl-ardupilot
To enable this at boot, so we aren't reliving this loop, issue these commands:
systemctl disable voxl-px4
...
systemctl enable voxl-ardupilot
Testing in QGroundControl (QGC)
One of the awesome parts of the open source drone ecosystem is that QGC and MAVLink work for both of the large open source autopilot software projects available. If you've followed our other tutorials, QGC should be very familiar then.

Connect to QGC and you should have a connection to your VOXL 2, just as if you were running PX4.
Testing Servos
In Manual mode, you should be able to move and test your control surfaces. Navigate to Vehicle Setup>Parameters and run a search on "servo". The servos will be mapped according to how you have them wired. In our case, servo1 is mapped to ElevonRight, which we can confirm on the SERVO1_FUNCTION parameter in the readout.
For testing purposes, we set our MIN and MAX to the extremes and the TRIM to the middle of the two values. After setting these parameters, the servo may not be exactly centered, so physically readjust your servo arms so that when in Manual mode, control surfaces are perfectly level. If you need to increase a value if things aren't working in testing, try raising the MIN value first and then maybe reduce the TRIM down to that new floor value so you are starting at 0 throttle when you arm.
Fly By Wire Flight Mode Configuration
We recommend using FBW for the best flight performance. Back in the parameter dashboard, look for 'ROLL_LIMIT_DEG'. If you are noticing instability during flights, you can try reducing this value.
Pre-Flight Checks
Manual Mode Test:
Switch to Manual mode
Verify all control surfaces respond correctly to transmitter inputs
No arming required for servo movement
Stabilize Mode Test:
Switch to Stabilize mode
Tilt the drone manually - servos should move to counteract the movement
This tests the flight controller stabilization without arming
RC and Calibration
RC connection works the same as with PX4, but calibration works differently with ArduPilot compared to PX4. Follow the standard QGC calibration instructions for ArduPilot and you should be alright.
Conclusion
Setting up ArduPlane on the VOXL 2 is really easy, but the nuances of testing a fixed-wing do differ from what you may be used to if you’ve only run quadcopters on PX4. We hope this guide and the tips will help you get up and running with your fixed-wing ready for long-distance flights! Be sure to hit us up on social media or fill out the contact form if you have any questions related to the tutorial.