Thread Tools
This thread is privately moderated by Nek, who may elect to delete unwanted replies.
Sep 08, 2011, 04:02 AM
Nek's Avatar
Thread OP

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 which 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!
Last edited by Nek; Sep 25, 2011 at 02:41 PM.
Sign up now
to remove ads between posts
Jul 09, 2012, 02:00 AM
Registered User
Maururu neck pour les infos... Jolie travail... Fa'a ito ito....

Quick Reply
Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion MultiWii on Warthox shield accel questions DarkSoul Racing Multirotor Drone Talk 1 Apr 10, 2011 12:51 PM
Discussion quiet flyer publishing info on DIY lipo packs tic Batteries and Chargers 55 Oct 29, 2006 10:23 PM
Looking for CD / DIY motor info? ecologito Power Systems 9 Dec 20, 2005 03:40 PM
Where to find info on how to get into diy electronics? Mat DIY Electronics 12 Oct 08, 2004 11:05 PM
LED Wiring info for DIY kit - Less than $20 and 1hr Etonic Parkflyers 35 May 25, 2003 08:57 PM