New Products Flash Sale
Thread Tools
Old Sep 25, 2011, 03:43 PM
Nek is online now
Find More Posts by Nek
Nek's Avatar

MultiWii DIY shield + info

Hang tight for the wall of text and grab some

My plan is to have a solid EAGLE CAD schematics base for my MultiWii connections. Most commercial shields are very complete but most of the time too complete or lacks one little something.
I also wanted to have a shield specific to each of my projects so I wanted a way to make my own. Started looking into DIY PCB howtos and will link the ones I found the most helpful here:
- Draw the Schematic:

- Hobbyist DIY PCB design rules:

- From schematic to PCB:

I would really appreciate any feedback as most of this is information from posts here and there and not much is practical experience yet

1- Arduino Pro Mini 5v 16MHz Pin Out information:

Most of this is from berkely's blog and info glanced here and there. I am a complete noob when it comes to electronics and I am learning along

D2: THROTTLE or PPM SUM signal. For the Y6 and Hexa you need to use two of the RX channels pins (D5 and D6) to connect more motors. So you need an RX that has PPM SUM enabled. This means all RX outputs/inputs are on a single pin. On the shield it is also better to use this connection to feed the RX it's 5V from the same regulated source that powers the pro mini. So a 3 pin connector is needed here on the shield. The rest of the RX and motor pins can have a single pin.
D3: Motor 1
D5: PITCH / Motor 5
D6: YAW / Motor 6
D7: MODE. Used to switch flight modes, AUX channel most likely.
D8: LiPo Alarm. Needs A3 as monitor to function.
D9: Motor 2
D10: Motor 3
D11: Motor 4
D12: Connects to the WMP to power it with 5V DC from the VCC. This pin is also the reset pin from what I understand and the code can reset the sensors if they hang up.
I seem to remember reading that this only happened in the early stages with WMP+ and should be of no worry for other sensors and IMUs. So it might be a better option to power the sensors or the voltage regulator for the sensors through the VCC or what ever powers this pin.
D13: Status Diode. Very useful, just needs a 330ohm inline resistor. Which will dissipate the extra 2.9V so the LED can operate at 10mA.

A0: Camera pitch
A1: Camera roll
A2: Camera trigger
A3: LiPo Monitor or Aux output
Note: A4/A5 I2C pins are by default 5V HV signal because of the code internal pullups. If you plan to only use 3.3V LV sensors then disable the pullups in the code and you do not need an LLC. It would be needed if you wanted to have 5V and 3.3V sensors. Then the I2C Arduino pins would remain 5V HV and connect to the HV side of the LLC.

RAW: DC input 5-12V. It is then regulated down to 5V. Problem is if you feed it exactly 5V with a very good SBEC you could have low voltage issue on the other side of the regulator. This is why, as I understand it, it is much better to have a regulated source of 5V outside of the pro mini.
VCC: Outputs the 5V from the regulated RAW input. Can also be supplied a regulated 5V input that will be used by the Arduino Pro Mini. Better option.
GND: Obvious.
GND2: Good to have connected as well to make as large a ground plane on the PCB as possible. Wiki info: "a ground plane helps reduce noise and helps ensure that all integrated circuits within a system compare different signals' voltages to the same reference potential."

I am leaving out the FTDI connections for now. I plan on using the Sparkfun Bluetooth Mate for tuning and have an FTDI cable to upload my sketches. The FTDI header from the Arduino Pro Mini is all you need if you do not plan to imbed a BT module. If you do then look into Jussi's new 1.3BT shield to see how he connects it. Schematics are on this page of his blog.

2- Powering the Arduino Pro Mini and the sensors considerations:

-Powering the Arduino Pro Mini:

Two options here: RAW pin and VCC pin.
If you plan on using one of the ESC's BEC or a UBEC, SBEC or any other kind of *slightly* over 5V power supply you will want to feed it to the RAW pin and let the Arduino Pro Mini regulate it to 5V that will supply the VCC.

A better option is to supply the Arduino Pro Mini from a regulated 5V source at the VCC pin. You can use a 5V voltage regulator that can handle around 1-1.5A depending on the servos you plan to use for camera gimbals and what ever else this 5V source will supply. Right now I am looking at this regulator from TI:
Looking at the data sheet you will want a 0.33F ceramic capacitor on the input side and a 0.1F ceramic capacitor on the output side.

-Powering the sensors:

I will not go through all different variations, just the ones I plan to use or see as very common. Fell free to add to it, I will edit the list with credits.

*Classic genuine Wii Motion Plus and Nunchuck.
The WM+ can be powered by D12 and use the SDA and SCL I2C channels with the internal pullups enabled. The Nunchuck is connected to the WM+ directly. Most basic setup. See this schematic from berkely's blog on how to connect the WM+ and Nunchuck.

*Classic genuine WM+, Nunchuck and BMP085 or other 3.3V sensors.
berkely offers two options in his blog and I will detail the second one.
D12 is still used to power the WM+ and the Nunchuck, just like for the previous setup. This is the schematic.

So first you will need a way to power your 3.3V sensors. An LM1117 as proposed in the schematic like this very good for the purpose such as the LD1117V33 from SFE. But it delivers 800mA which is way more than what sensors will be using. An ITG3200 uses 6.5mA.

Looks like this 3.3V LDO regulator L4931 would do the job just fine up to 250mA. It's data sheet uses a a 0.1 F capacitor on the input side and a polarized tantalum 2.2 F capacitor on the output side.
This will give you a clean source for your 3.3V sensors. The input for the 3.3V VREG will be the same as the regulated input source or VCC.

The WM+/Nunchuck combo will be connected to the HV SDA and SCL lines from the Arduino Pro Mini, but the 3.3V sensors will need to have those I2C lines go through an LLC as shown on the schematic. Since you need 5V I2C signal for the WM+ you still need to have the pullups enabled in the code.

*3.3V sensors only.
If you are not using a WM+ this is most likely the setup you will be using.
Everything is the same as the previous setup. The difference is that nothing is connected to D12 anymore and you have no need for a LLC. The Arduino Pro Mini SDA and SCL I2C lines can be connected directly to the sensors with the pullups disabled in the code.

2- EAGLE CAD Schematics and PCBs:

Version 1:

This is heavily copied from Jussi's V1.3BT shield schematic but has a few small differences here and there.

- R3, R4 and C5 are for a 3S setup and values taken from this post by axelnied.
- 2 rows of outputs for sensors/LLC.
- I have only supplied 5V and GND to the outputs that needed them: THR/PPM to power the RX and the A0-A3 outputs.
- No pins for FTDI as most use the Arduino Pro Mini inboard pins.
- No TXO and TXI pins as for now I don't plan to use them in my projects. And if you really need them for onboard BT chances are you are better off with Jussi's board.

ZIP file with the schematic .sch file, a custom library .lbr file for the Arduino Pro Mini and a .dru rules files for easier PCB DIY etching.

I will not be building this version of the shield right now. I am using this a base and *cut out* the parts I don't need. From this you could just mix and match to get a lot of different shields such as the various versions I plan to make for my models as I build them.

Version 2:

This is a very small version of the shield. It will be used on my Tri and will have a WM+ and Nunchuck as far as sensors go. My output pins only need to be D12, GND, SCL and SDA.

I also took out the A0 to A2 pins as it will not be flown with a camera or other accessories.

Battery alarm is out, this removes D8 and A3 as well. I have a separate LiPo alarm on this tri.

Target board side on the layout is about 5cm X 3.5cm. This is using the hobbyist spacing rules from one of the DIY listed at the top of this post. 0,8mm spacing on most things to make it more manageable.

ZIP file with the schematic .sch file, a custom library .lbr file for the Arduino Pro Mini and a .dru rules files for easier PCB DIY etching.

So this was going to be my first time doing a PCB. I will quickly go through the steps I took:

- Get a double sided copper clad board from RadioShack (#276-1499) and cut it to size with any tool used to cut metal. I used a hand saw, and could not care less about it being a straight cut Use a scratchy sponge to make the plate rough on boths sides then clean it with acetone. Do not let your greasy fingers touch the board again after this!

- Print your PCB design on glossy photo paper using a laser jet printer, one that has a toner. Top layout must be printed mirrored. Line them up using the marks over the pcb.

- Use a clothes iron set to max temp with no water in it and put pressure on the board for a minute or so on each side. This is where I am still experimenting and so far results are decent, just some smearing on the borders.

- Dip the board in hot water for a couple of minutes while scrubbing it with your hands, will dissolve the paper very fast. Now use a sharpie and an exacto knife to correct any smearing or lack of toner issues.

- Dip the board in a solution of one part Hydrochloric Acid (23-28% kind from hardware store) for 2 parts of Hydrogen Peroxide (3% kind from drugstore). Do not let this solution touch anything metal and wear rubber gloves and eye protection. It is safe to drop in the toilet when done!

- Your done, just clean the ink off with acetone and drill the board

So this is what mine looked like at this point, bottom side:

Note that on this first try at a V2 I had my power input connecters right after the other connectors. I switched it on the Eagle layout to be alone on the other side, next to the 5V voltage regulator. This should help with noise and not routing power cables with signal ones. Only the power to the rx is still close but that should be of no worries, as it is that way on all servo wires

This is what the board looks like with the components mounted except the Arduino Pro Mini:

Mounted on the tri, sensors are just on the other side of the RX, right under the CG:

Version 3:

This one is planned to go on my quad and spyder hex that are in the works.
Difference with V2 is that PPM SUM will be used and it has a 3.3V regulator on board since I plan to only use 3.3V sensors with it. This also removes the use of D12.

Target board size is about the same as V2, 5,5cm X 3,5cm.

ZIP file with the schematic .sch file, a custom library .lbr file for the Arduino Pro Mini and a .dru rules files for easier PCB DIY etching.

If someone needs bill of materials, let me know and I'll try to update the different versions with the BOM.

Hope this helps or motivates some of you to try out the MultiWii platform!

ps: this is a copy from my blog that I use as a scratch book for such projects, let's keep the comments here.
Last edited by Nek; Oct 02, 2011 at 09:28 PM.
Sign up now
to remove ads between posts
Old Sep 25, 2011, 03:59 PM
Nek is online now
Find More Posts by Nek
Nek's Avatar
Reserved for later versions
Old Sep 25, 2011, 05:47 PM
jesolins is offline
Find More Posts by jesolins
Nice instructional Nek!
Quadrocopter and Tricopter Mega Link Index
Old Sep 26, 2011, 12:38 PM
n3m1s1s is offline
Find More Posts by n3m1s1s
Suspended Account
me likey think you could sell a few i could do with one lol hint hint
Old Sep 29, 2011, 02:21 PM
Nek is online now
Find More Posts by Nek
Nek's Avatar
Originally Posted by n3m1s1s View Post
me likey think you could sell a few i could do with one lol hint hint
I made a couple changes to Version 3 as I had the MODE pin still there and it is useless with PPMSUM, noob old me :P

What would you like to have on your shield, how many motor outputs, what voltage regulators, do you need pin D12, how about LiPo alarm and gimbal servos. Let me know and If I get to doing one just like that I'll send it your way!
Old Sep 29, 2011, 09:28 PM
n3m1s1s is offline
Find More Posts by n3m1s1s
Suspended Account
well i only need 4 motor outs an ppm really bruv oh and a status light d12? not sure though i would like to run it with either wm+ and nunchuck or a cheap 6dof bob? so far i think i have run my setups at 5v

i would like to upgrade my micro fpv quad to multiwii from fy90q so minimal and light is the best i reckon would you like to swap for a homebrew quad frame?

Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion Jussi Mega Shield: Shortage A10+A11+GND KaiK Multirotor Talk 4 Sep 15, 2011 04:48 AM
Discussion MultiWii on Warthox shield accel questions DarkSoul Racing Multirotor Talk 1 Apr 10, 2011 01:51 PM
Where to find info on how to get into diy electronics? Mat DIY Electronics 12 Oct 09, 2004 12:05 AM
LED Wiring info for DIY kit - Less than $20 and 1hr Etonic Parkflyers 35 May 25, 2003 09:57 PM