Black Vortex Megapirates 2.5.1 R2

With the release of Megapirates 2.5.1 R2 I decided to test it out on my Black Vortex. With the latest software I was also able to use the apc220 wireless telemetry module with mission planner 1.1.54 without any modifications to the megapirates software. I found the connection much more responsive than with 2.0.49 using the apc220.


Download Megapirates 2.5.1

Download MissionPlanner

A list of PID settings and model specifications can be viewed here.




#define TX_CHANNEL_SET TX_mwi


#define MAX_SONAR_RANGE 400


#define SERIAL0_BAUD 115200
#define SERIAL2_BAUD 38400
#define SERIAL3_BAUD 57600





For enabling the relay functionality of the Black Vortex I modified the following lines of code. With these additions to the code you will be able to trigger the relay from a spare channel on your radio. If you would like to change the channel or the pwm value to detect, the only line that must be modified is “ if(g.rc_6.radio_in > 1500)”.



#define USERHOOK_SLOWLOOP userhook_SlowLoop();

#define USERHOOK_INIT userhook_init();

#define USERHOOK_VARIABLES “UserVariables.h”



void userhook_init()

void userhook_SlowLoop()
 if(g.rc_6.radio_in > 1500){


int relay_pin = 37;



FPV With GoPro 2.5mm Composite Cable

First you will need to get a composite to four pin 2.5mm cable. This cable is supplied with the original GoPro, however, you can also purchase it from ebay or amazon. Be sure that the cable has a 4-pin 2.5mm jack.

Next you will need to remove the thick plastic plug from the end with the jack. This can be most easily accomplished using a hot knife or heating a hobby knife with a torch. After cutting away the black plastic you may find that the jack is encased in a separate layer of plastic that resembles wax. This can also be cut or melted away, however, if you decide to melt this away be sure not to overheat the jack because the insulation between each of the pins will burn or melt away. After removing all of the plastic, the old wires can be desoldered from the pins just make sure not to apply excessive heat. You will be left with the core of the jack, it should resemble the picture below.

Check the connections between the plug side and the wire side to be sure that they match the connections above. This can be done using a voltmeter and testing for the continuity between each of the rings and solder joints. You want to be sure that you solder the new wires to the solder joints that correspond to the diagram of the rings above.

Finally you can attach whatever plug you would like to the end of your wires, I prefer to use a 3 pin futaba connection with ground, audio and video pins. Wrap the plug in several layers of heat shrink to protect the wiring and solder connections. It can easily be attached to a video transmitter or removed when not in use.

Another option is to make the entire plug into an adapter such as the following.

Black Vortex MultiWii

LED sequence functions:

[LED A] ON: Armed

[LED A] OFF: Disarmed

[LED B] ON: Stabilize mode ON

[LED B] OFF: Stabilize mode OFF, or accelerometer not calibrated or accelerometer inclined

[LED C] ON: GPS fixed


[LED A & B] Flashing: Gyroscope and accelerometer are calibrating


Motor Assignments:

MultiWii M0 ==> Digital Pin 3 ==> BlackVortex M2
MultiWii M1 ==> Digital Pin 5 ==> BlackVortex M3
MultiWii M2 ==> Digital Pin 6 ==> BlackVortex M4
MultiWii M3 ==> Digital Pin 2 ==> BlackVortex M1
MultiWii M4 ==> Digital Pin 7 ==> BlackVortex M5
MultiWii M5 ==> Digital Pin 8 ==> BlackVortex M6
MultiWii M6 ==> Digital Pin 11 ==> BlackVortex M7
MultiWii M7 ==> Digital Pin 12 ==> BlackVortex M8

Starting at the front motor [+] or front left motor [x/v] and moving clockwise

Bi = M2, M5 Servo, M3, M6 Servo
Tri = M1, M3, M4, M6 Servo
Quad + = M1, M3, M2, M4
Quad x = M1, M3, M2, M4
Quad v = M4, M1, M2, M3
Y4 [Top/Bottom] = M1, M3, M2/M4
Y6 [Top/Bottom] = M4/M6, M3/M5, M2/M1
Hex + = M5, M3, M2, M6, M4, M1
Hex x = M1, M3, M5, M2, M4, M6
Hex v = M6, M1, M2, M3, M4, M5
X8 [Top/Bottom] = M1/M8, M3/M6, M2/M5, M4/M7
Octo + = M5, M3, M6, M4, M7, M1, M8, M2
Octo x = M5, M3, M6, M4, M7, M1, M8, M2
Octo v = M8, M1, M2, M3, M4, M5, M6, M7
Vtail = M1, M3, M2, M4′


Serial Telemetry:

- For APC220 use the following settings:

#define SERIAL_COM_SPEED 57600 //Default is ’115200′
#define SERIAL_PORT 3 //Default serial port ’0′, Alternative ’3′

- For bluetooth use the following settings:

#define SERIAL_COM_SPEED 115200 //Default is ’115200′
#define SERIAL_PORT 3 //Default serial port ’0′, Alternative ’3′

- Setting the serial port to ’3′ will redirect all USB telemetry data.

- The APC220 functions at a 57600 baud. Therefore, it is incompatible with the 115200 baud of multiwii config. Wireless telemetry is currently only supported by the latest beta release of MultiWii WinGUI. The sensor refresh rate must be set to 10Hz or lower to properly acquire data.



MultiWii Black Vortex



Change Log:

7/18/12 -  Updated to MultiWii 2.1.

7/07/12 - Updated to release candidate 2.1 r964. Support for wireless serial telemetry (WinGUI Only).

7/04/12 - Updated to release candidate 2.1 r949. New frame types. Support for wireless serial telemetry (WinGUI Only).

07/02/12 - *BETA* Updated to release candidate 2.1 r949. Pre-release beta, serial telemetry has not yet been ported. New frame types.

06/11/12 – *BETA* Updated to dev_20120606 and fixed gimbal servo jitter.

Serial telemetry on port 3 is partially working. For APC220 use MultiWiiConf dev 20120606 [57600 Baud].

06/03/12 – *BETA* Updated to dev_20120528 (As of now, not all features may be fully supported)

Changes in the serial communication protocol may leave port 3 telemetry broken until I can modify multiwiiconf. WinGui may not currently support the latest serial communication protocol.

05/03/12- Support for Camera Gimbal Stabilization *Known Jitter*

04/18/12 – Added support for Serial Telemetry on Port 3 (Successfully tested using APC220 and WinGUI)

04/09/12 – Added Usercode and Relay Trigger

04/08/12 – Fixed I2C address error in MultiWii 2.0.

03/30/12 – Updated code to official MultiWii 2.0 release.


More information about MultiWii can be found here.

Xaircraft X4 Drone

This is my build log for the Xaircraft X4 drone. The accompanying bill of materials can be found here. This build is intended to be priced somewhere between the budget multicopter and a professional aerial photography platform. Some of the components used for this build rival those of professional aerial photography platforms, however, it has not been designed to lift incredible amounts of weight with the assistance of an expensive professional autopilot system. That being said, this project is for hobby grade purposes although it is a quite capable aerial photography platform. The flight controller used for this build runs using open source software and has been designed to incorporate autopilot navigation functions and telemetry. At a premium price, the avroto motors are very nice and run extremely smooth with little resonance and no vibrations. Additionally, the customer service of Monto RC was outstanding and I would highly recommend purchasing the motors with them.


I received my frame, power distribution board and wireless modules from GoodLuckBuy.

The frame was very easy to assemble and included all of the necessary hardware. Being that this frame can also be used for an X8 configuration, it included 4 additional motor mounts as well as the accompanying hardware. I can say that the carbon fiber is a very nice finish and it adds a noticeably increased amount of rigidity to the frame without the sacrifice of added weight.

I began the wiring by soldering male JST connectors to each LED strip and female connector directly to the power distribution board.

More information on how I flashed the speed controllers and wired the motors can be found here. After flashing the speed controllers I braided and soldered the motor wires to the ESCs and then pulled each of the ESC wires through the top plate of the frame and soldered them directly to the power distribution board. I also added the XT60 battery connector and two 12v auxiliary power outputs for the flight controller and fpv gear.

Testing the power distribution, everything seems to work. I zip-tied the LED strips to the bottom of each arm and used a larger zip tie to fasten the speed controllers and motor wires to the top of the arms.

I would say that the blue hobbyking LEDs are the brightest I have seen yet. They are extremely visible at night and surprisingly visible during the day, even against a blue sky.

Finally, I wired all of the radio gear and the flight controller to the accessory mounting plate.

Mounting of the MaxSonar LV EZ4 and 108dB Piezo Siren.

The flying weight of the aircraft with a GoPro and FPV gear mounted and a 3300mAh 3S LiPo is approximately 1.5kg, therefore, I added some 11×4.7″ props to improve the lift.


Power Distribution Board:

  • [+] <====== Speed Controller + [x4]
  • [-] ======> Speed Controller – [x4]
  • [+] <====== LED  Anode [x4]
  • [-] ======> LED Cathode - [x4]
  • [+] <====== 5.8GHz Transmitter VCC
  • [-] ======> 5.8GHz Transmitter GND
  • [+] <====== Auxiliary Power
  • [-] ======> Auxiliary Power
  • [+] <====== LiPo Battery +
  • [-] ======> LiPo Battery -

30A BlueSeries Speed Controllers and Avroto Motors:

  • M 1 & 3 A <======> A                                            [+] <====== Power Distribution Board +
  • M 1 & 3 B <======> B        Speed Controller
  • M 1 & 3 C <======> C                                            [-] ======> Power Distribution Board -
  • M 2 & 4 A <======> C                                            [+] <====== Power Distribution Board +
  • M 2 & 4 B <======> B        Speed Controller
  • M 2 & 4 C <======> A                                            [-] ======> Power Distribution Board -

APC220 Wireless Module:

  • SET                       No Connection
  • AUX                       No Connection
  • TX  ======> Black Vortex RX
  • RX <====== Black Vortex TX
  • EN                       No Connection
  • VCC <====== Black Vortex +5v
  • GND ======> Black Vortex GND

Black Vortex Flight Controller:

  • B[+] <====== 9CH RX +5v
  • B[-] ======> 9CH RX GND
  • RX <====== APC220 TX
  • TX ======> APC220 RX
  • +5v ======>APC220 VCC
  • GND <====== APC220 GND
  • Trigger ======>MaxSonar RX
  • Echo <====== MaxSonar PW
  • +5v ======>MaxSonar VCC
  • GND <====== MaxSonar GND
  • Relay IN ======> Buzzer V+
  • Relay OUT <====== Buzzer GND
  • R1 <====== 8CH RX CH3* (Throttle) Signal Only
  • R2 <====== 8CH RX CH1* (Aileron) Signal, +5v, GND
  • R3 <====== 8CH RX CH2* (Elevator) Signal Only
  • R4 <====== 8CH RX CH4* (Rudder) Signal Only
  • R5 <====== 8CH RX CH6* (Mode) Signal Only
  • R7 <====== 8CH RX CH7* (Aux) Signal Only
  • M1 ======>Front Left ESC
  • M2 ======> Back Right ESC
  • M3 ======> Front Right ESC
  • M4 ======> Back Left ESC
5.8GHz Video Transmitter:
  • V[+] <====== Power Distribution Board +
  • V[-] ======> Power Distribution Board -
  • Audio In <====== GoPro Composite Audio Out
  • Video In <====== GoPro Composite Video Out
  • GND <====== GoPro GND

GoPro HD Hero 2:

  • Audio Out  ======> Video TX Audio In
  • Video Out  ======> Video TX Video In
  • GND  ======> Video TX GND

8CH 2.4GHz RX:

  • CH1* ======> Black Vortex R2
  • CH2* ======> Black Vortex R3
  • CH3* ======> Black Vortex R1
  • CH4* ======> Black Vortex R4
  • CH6* ======> Black Vortex R5
  • CH7* ======> Black Vortex R7
  • BAT [+] ======> Black Vortex B[+]
  • BAT [-] <====== Black Vortex B[-]
108dB Piezo Buzzer:
  • V[+] ======> Black Vortex Relay IN (12v)
  • GND <====== Black Vortex Relay OUT (Switched Ground)
MaxSonar Module:
  • GND ======> Black Vortex GND
  • +5 <====== Black Vortex +5v
  • TX                       No Connection
  • RX <====== Black Vortex Trigger
  • AN                       No Connection
  • PW ======> Black Vortex Echo
  • BW                       No Connection
*Channels may differ depending on your radio programming and setup.

To setup the flight controller I would suggest following this guide.

Originally, I found that Megapirates 2.0.49 and Mission Planner v1.1.37 work best with the Black Vortex, however, I recently updated to Megapirates 2.5.1 R2 and Mission Planner v1.1.54, you can find the guide here.

The guide and files for setup of the APC220 Module can be downloaded here.

A guide to PID tuning can be found here.

A list of PID settings and model specifications can be viewed here.

MultiWii 2.0 for the Black Vortex


2-axis GoPro Gimbal v3.0

This is a another 3D printed 2-axis GoPro gimbal. It is a prototype made to support the Gopro while mounted inside of the polycarbonate enclosure. The mounts are designed to work with the Xaircraft DIY frames. The roll mechanism works on a rail system and a series of gears that take the +/- 90 degrees of servo travel and rotate the inner ring by +/- 55 degrees. The pitch mechanism is directly driven from the servo. The mount is made to use Xaircraft rubber rings for vibration dampening. If you would like to see the mount resigned to meet alternative specifications you can contact me with dimensions at The mount is currently in the prototype stages because, unfortunately, due to the complexity of the 3D print, Shapeways will not apply a volume discount to the amount of material being printed and the price to print the model is therefore twice as expensive.

Purchasable from my shop at Shapeways.

This gimbal is currently in the beginning stages of development, the latest version can be downloaded here.

12/27/2012 – This model’s development has been discontinued. For my latest gimbal, see here.


The following items are not included and must be purchased separately:

[Qty. 2] 9G EXI Digital Metal Geared Servo

[Qty. 2] 3x7x3 Ceramic Ball Bearing


You will also need a suitable bolt for mounting the GoPro to the gimbal. The gimbal connector is designed to fit the polycarbonate GoPro enclosure just as any other gopro mount does, however, the stock bolt handle is too long.


Assembly is fairly simple, much of the gimbal is already assembled.

1.) Insert the roll bearing into the inner ring.

2.) Insert the 35 tooth gear into the roll bearing with the 10 tooth gear facing away from the bearing. Be sure that the roll ring is properly centered along the rail before the 35 tooth gear is meshed with the outside ring.

3.) Fix the 30 tooth gear to the roll servo, center the servo, and then either bolt or glue the servo to the inner ring.

4.) Insert the pitch bearing into the middle ring.

5.) Attach the pitch servo to the outer ring using either glue or bolts.

6.) Center the servo and insert the servo gear into the hole opposite the pitch bearing.

7.) Use the screw supplied with the servo to fasten the pitch servo gear to the gimbal.

8.) Insert the pitch pin opposite the pitch servo and glue it in place.

9.) Now the rubber dampers can be inserted into the gimbal mounting holes and the gimbal can be attached to the loading pipes of the frame.

More pictures of the gimbal will be posted as soon as I can manufacture a working prototype.