DIY Quadcopter Build (MultiWii / NanoWii / Qbrain)

QuadApr14Feb 2014:  If I didn’t have enough hobbies already…  I’ve just gotten myself into the world of quadcopters and flying.  I’ve never flown before.  My RC experience is limited to 4 wheels on the ground.    Navigating with 2 sticks and learning the world of yaw, elevation, pitch and throttle has become my next challenge.  I’ve wanted to learn how to fly for some time, so here we go..

I’m not going to re-create the wheel as credit goes to the folks over at for putting together a great build log of the DIY Betamax Quadcopter.  In a nutshell, for less than $300 you can build a very capable quad that should give you plenty of fun and also provide the ability to mount some small and light equipment.  There’s also lots of optional add-ons like GPS that will make the quad smart and more easy to use.  It also uses Arduino-compatible MultiWii which is software that runs on the NanoWii to allow you to control your quad (or other RC machines).

Quadcopter Parts List

Part DescriptionQtyNotes
Slow Fly Electric Prop 8045R (4 pc - Green, RH Rotation) 1(2 sets recommended)
8x4.5 SF Props 4pc Standard Rotation (Red) or 8x4.5 SF Props 4pc Standard Rotation (Red)1(2 sets recommended)
Gyro / Flight Controller Mounting Pad (10pcs/bag)1 (optional - could use foam etc)
Male XT60 connectors (5pcs/bag) 1(for the Qbrain power leads)
D2822/17 Brushless Outrunner 1100kv4(suggest adding 1-2 spares as well)
MultiWii NanoWii ATmega32U4 Micro Flight Controller USB/GYRO/ACC1
Q Brain 4 x 20A Brushless Quadcopter ESC 2-4S 3A SBEC1
Turnigy 2650mAh 3S 1C LLF Tx Pack (Futaba/JR)1For use with the 9x transmitter. (much better than a batch of AA batteries)
Turnigy Accucel-8 150W 7A Balancer/Charger1I've had this charger for months now and use it to charge all my batteries. Price can't be beat!
Lithium Polymer Charge Pack 25x33cm JUMBO Sack1This is a MUST if you have LiPo's and charge them. We all don't want to burn down our houses!
Optional Items
Hobbyking X550 Hardware Package (complete)1Useful to have spares in case anything breaks.
Multiwii OLED Display Module I2C 128x64 Dot ( MWC )1If you want to display battery %,
config the unit and show telemetry.


  • You’re going to want something big and soft mounted to the bottom of the quad if you are a noob like me.  I’ve bounced this thing off the ground too many time to count while learning to fly it.   What I’ve mounted here is taken from a pool noodle.  Pricetag: $1.99.  Nuff said.
  • In my parts list I suggest 2 sets of each props. That gives you 8 props per rotation direction.  I’ve already trashed 1 prop and 1 is dinged.  I suggest getting even more as I expect to go through a number of these.
  • Motors – I only bought 4 and have bent 1 shaft in the first 20 minutes of flying.  I suggest getting 1 or 2 extra motors. Else, if you can source shafts online, I recommend that – however, pass on a source if you find one as I can’t see too.
  • If you end up going with the D2822/17 Brushless Outrunner 1100kv motors, I have a tip for noobs like me when (I say when because it will happen) you bend your motor shafts.  I was not able to find replacement shafts but decided to start digging elsewhere.  I came across readily available Traxxas 2640 RC shock towers.  Yep!  They have the exact diameter (3.15mm), but are a bit longer.  However, they are easily cut down.  I’ve copied a pic below and can confirm that these fit just fine.  The 2640’s are available at most hobby stores.  I even found them at FutureShop (Canada)…  This is a much cheaper alternative than replacing the motors.  Update Dec 2014:  I’ve had this quad for 8 months now and have bent a total of 5 shafts to date (and counting).  Just did two today.  These Traxxas shafts have saved me a lot of coin.  I also purchased 2 extra motors. What I do is swap out good motors with ones that I bend shafts on so I can get up and running again. Then, I replace the shafts on the bad motors during down time.
  • You will want to cover the electronics with a dome. I have a makeshift top cover.  If you look close enough you will see its from a Logitech mouse package and it works like a charm.
  • Don’t finalize any gluing or irreversible securing of components until you have fully tested the unit.  Use zip ties or quality tape to do it.  In most cases, zip ties will do for good since you can just cut them if you need to move something.
  • Fly in an open area clear from anything that bleeds! Yes.  Those props are sharp and, with the speed they spin, you will loose a finger or gash yourself if the quad gets out of control.  I did my first test flight in the basement with full winter jacket, hat and gloves on.  ..and, flying in the basement is not the best approach either.   Too restrictive.,
  • Settings:  When you get to setting the various stick ranges using MutiWiiConf.exe as described on the tutorial link above, if you are a noob like me, I suggest lowering the “Rate” value to something like 0.65 to start. You can see what I am talking about here.  Look for the xy chart to the mid left that shows Rate 0.90 and Expo 0.65.  Click in the green box beside Rate, drag your mouse until it lowers to 0.65.  Don’t forget to click Write to write your settings back to the board.  When I first started, the value was 0.90 and I could not stabilize the copter as the yaw and pitch are too sensitive for me.  0.65 makes it easier to control while I learn.  I may even lower it a bit more until I get better.    Of course, when you become an expert, you will want that value back up to 0.90 or more….
  • Dont forget that each time you download a modified sketch, you must re-rerun MultiWiiConf.exe and confirm settings / Calibrate the ACC.
  • Arming your quad:  You will likely read a number of other references that indicate to move the Yaw/Pitch stick to the bottom right / left.  For my NanoWii, simply moving the Yaw stick (left on Mode 1 transmitters) to the right and holding it there for a second or two did the trick.  To disarm, move the stick to the left side and hold it there.
  • Watch out when reading the manuals. I’ve already found 1 pinout error in the hobbyking manual for the NanoWii.  See below under Bluetooth

If you want to build your own, break out the credit card and simply follow the guide.  I also suggest reviewing some of the approaches I have taken in the event you run into troubles.  My build is nearly identical except I purchase an X550 frame.  I’ve also created a parts list below of the items I purchased which are for the most part the same with a few exceptions.

Qbrain ESC Pins:

In my case, the below images show the wiring/pins between the NanoWii and QBrain ESC.  There may be some differences in wiring colours.   For reference purposes, my QBrain had the following assignments for each ESC:  S1 Red,  S2 Orange, S3 White, S4 Brown.  The pins are shown connected on the left side of the below image.


Qbrain BEC power:

When following the Betamax Quadcopter build, and after doing some research, it appeared that the ideal way to power the NanoWii was by using the 3-Pin BEC and plugging it into the pinset shown to the left (3rd from the top where the white pin is shown).  This would have as Black Red White for that row.  To provide power using this approach, SJ2 was bridged with solder. However, this did not work for me.  The BEC wire had 5V from the QBrain but nothing would work when I plugged it into the NanoWii.  I finally gave up and pulled the 5V and GND from the BEC and put them to the power pins (shown at the bottom of the pic).  IMPORTANT – if you do this, make sure you do NOT have SJ2 bridged or poof! Out comes the smoke!



One thing you need to ensure you have set-up and tested is the MultiWii Failsafe feature for you quad.  As I am still learning the contents of the multiwii code, I am sure there are other settings in addition to those below (i.e GPS RTH) to enhance this feature.  When I was researching this, I found many threads that suggested that the  Turnigy 9x transmitter does not have a failsafe feature – which it doesn’t.  However, the MultiWii code does and I confirmed today that it does work with the 9x.

Essentially, what the 9X does is when the transmitter is turned off, the receiver holds the last settings it had before power was lost (you can confirm this in the MultiWiiConf application by doing a test).   However, the MultiWii code detects power loss by not seeing the pulses from the TX.  This triggers the failsafe code to kick in (shown below).

To get it working, I followed a few steps:

1) On the transmitter go to Settings > Fail Saf > then set THR F/S to 000%.  I am not positive this is necessary, but found threads that suggested it needed to be done.

2) In config.h, uncomment the below settings to enable the failsafe feature:

#define FAILSAFE // uncomment to activate the failsafe function

#define FAILSAFE_DELAY 10 // Guard time for failsafe activation after signal lost. 1 step = 0.1sec – 1sec in example

#define FAILSAFE_OFF_DELAY 200 // Time for Landing before motors stop in 0.1sec. 1 step = 0.1sec – 20sec in example

#define FAILSAFE_THROTTLE (MINTHROTTLE + 200) // (*) Throttle level used for landing – may be relative to MINTHROTTLE – as in this case (you may need to play around with the 200 value)


3) Testing the feature can be done a number of different ways.  If you don’t want to loose a finger, or your quad, I suggest taking off the props, turning the transmitter and quad on (while on the floor),  set the throttle to somewhere below middle but above the min throttle, then turn off the transmitter.  Once it is off the above code should kick in.  In the above case, it should reduce the throttle to MINTHROTTLE + 200, and after 20 seconds (delay value of 200 above) it will turn the motors off.  Give it a try and see if it works.

Connecting a Bluetooth / OLED Module:

Update:   I’ve since added an I2C OLED display module which changed the Bluetooth pins I’ve identified below.   If you are not using an OLED module, follow the steps below, else follow the OLED + BT steps.

Bluetooth Only:

If you want to change settings on the fly in your quad, this is the next step once you’ve figured out the basics.   Connecting a Bluetooth module will allow you to remotely configure the quad from an Android or other device.  Check out MultiWii EZ-GUI for a nice app that will do this for you.  Before you get started, the PDF  in the files for the NanoWii section that shows the pinouts for the Spektrum satellite ports is WRONG!!! (we need to use the RX in that connector for the Bluetooth).  The RX is the right hand pin (the manual says it’s the middle). For folks trying to get bluetooth working, here is what I did (using MWC 2.2):

1) In MWC config.h make sure #define “SERIAL1_COM_SPEED 115200″ is un-commented.

2) I’m using a HC-06 Bluetooth module (from DX), but they should all be the same. I changed the baud to 115200 (see this) for details on how to change it)

3) Connect the BT VCC to either the 3.3v pin (just above the TX pin) or the 5V BEC VCC pin (this depends on what your BT module needs). I’ve got it working on the 3.3v pin (even though it should be 5V)

4) Connect the BT RX to the NanoWii TX (bottom left pin)

5) Connect the BT TX to the NanoWii RX (right pin on Spektrum satelline 3 pin connector).

Voila it should work with your app. I’m using the Android MultiWii EZ-GUI

Bluetooth and OLED:

  1.  Bluetooth Module:  Looking at the Sat (3 pin connector – below top left) –   Pin 1 goes to BT VCC, pin 2 goes to BT GND, pin 3 goes to BT TX.   In the image below, the TX pin is marked with the BT TX (blue/green text) but it does not show the pin post soldered in. This is the TX pin and goes to BT RX.
  2. OLED Module:  Looking at the 6 pins with posts (below pic – note the post for TX is not soldered in pic) at the top of the board: The first is 3v3, the next is SDA, the next is SCL and the next is GND.  Connect these to the matching pins on the OLED.  Note, to get the LCD working, you will have to un-comment LCD-related lines in your config.h file. See

Baro / Angle Mode using a 3-Position Switch


I was looking to switch between normal Acro mode, Angle Mode (stabilize) and Baro (Altitude Hold) from my Turnigy 9x.  I wanted to use the Aux3 F. Mode (mix) 3 way toggle switch (see pic).

1. On your Turnigy 9x – Go to the AUX-CH menu and set CH6 to “PIT TRIM’  The Pitch Trim dial will be the “basis” for the mix. In my case, I left the trim dial at the lowest value (all the way counter clockwise).. below) to flip between the 3 modes.  Given I’m still learning, there may be other ways to do this.  After some research, here’s what I found that make it work.

2. Go to PROG-MIX menu and enter MIX 1, then enter the following settings:

SLAVE AUX (The first one – there are 2 AUX values to select from)

3. Go in to MIX 2 and enter the following settings:
SLAVE AUX (the second AUX)

4.  Go into MIX 3 and enter the following settings:

SLAVE AUX (the first AUX)

(note, the link above indicated that only 2 mixes were necessary. However, I had to add the 3rd mix in order to get the 3rd position to work.

For the values to register on the Quad, you have to enable Baro in MultiWii.  I also have the 9x receiver channel 7 running to the Aux1 pin on the NanoWii.  The following shows the 3 modes registering in MultiWii Config (Android version)


Landing Gear:

As a first time flyer, I was certain there would be a lot of crashes, so I wanted to protect this  thing during hard landings.   I started with cutting segments of a pool noodle and then using zipties to secure them to the ends of each leg.   These work great BTW, but they also wear out fast.  In my search for another solution, I came across a sewer coupling while browsing the new Lowes in our area – cant complain for $4 CAD.  There are lots of similar products out there, but many of them are too thick (walled) and won’t have the bounce necessary to add spring to a hard landing.   This one has a wall thickness of ~3mm – which turned out to be ideal.  After cutting the pipe into 4 sections approx. 15mm wide, I had a full set of landing gear.   There’s also enough pipe left to make a second set as well.   You can see these units mounted in the pic at the beginning. They work well and, if anything, are a bit bouncy.  I’m going to add some chair leg end stops (the cloth-like sticky ones) to help soften the bounce.  Also, the PVC has a lot of flex to it and does not warp unless a lot of force is applied. However, this is what I want in case of a really bad fall.  LowesSewerCoupling

Receiver Pins:

The receiver pins are connected as shown on the right side.  In my case, mine had 2 gray pins (nice!).  However, its pretty easy as they are simply in the same order of sequence between the TX and NanoWii (see 2nd image below)


NanoWii Close-Up. Pin Assignments.
Note the BEC standard 3 pin 5V|GND|Signal cable did not work. Moved 5V and GND to 2 power pins at bottom.



Traxxas 2640 shaft


Leave a Reply


Get every new post delivered to your Inbox

Join other followers: