Build an Arduino shield for Quadcopter – Arduino Adapter


I have been searching for ideas of making a Quadcopter Arduino flight controller Adapter to sit my Arduino nano board and the GY80, also have some header pins for motors and receiver to make the cabling tidy. There are a lot of Arduino shields people have designed for the Quadcopter.

I didn’t follow any of the designs. I actually didn’t follow any planned design, and solder the parts on the veroboard as I go along.

My Arduino Quadcopter flight controller adapter Design

Here is my own build. I deliberately left some empty space on the top right corner, so I can extend the board if I want to for example for the GPS module or ultrasonic sensor and so on.


arduion nano quadcopter adapter IMAG0967

This design has a few disadvantages, and there are some quick fixes I applied. Here are some thoughts.

BEC voltage input

The ESC BEC voltage input should have been all disconnected except one of them. There are people arguing about this, saying multiple voltage supply could cause problem if they have voltage difference (which is very likely since they are different voltage regulators although very small). It’s impossible to separate the connection from the back because of the soldering, therefore I snapped off the voltage header pins for motor 2,3 and 4, so only the signal and ground pins are still there.

I should actually utilize these BEC 5V voltage supply. For example, backup (secondary) voltage supply for flight controller in case the first one dies (when the motor 1 ESC has power issue). And the rest of the BEC could be servo power supply for the camera gimbal.

Motor and Receiver header pins position

motor pins should be placed on all four directions for easier access. Receiver pins should be placed in one group. I realize it doesn’t require an additional power supply pin for it, as they can be powered from the channel voltage pins.

Microcontroller Socket

To implement GPS or sonar on an Arduino nano, UNO or pro mini, we need an additional Microcontroller to interface with the GPS and sonar modules, then pass the data to the flight controller board using i2c.

A build in socket, or some sort of I2C connection pins to the flight controller would be really handy.

2 more motor pins (to run a hexacopter)


Design By Other People

Here are some design (mostly PCB design) by other people.

An interface adapter board for the Arduino Nano made by Yorbid

The board can be used for a Tri- and Quadcopter with optional camera roll & pitch stabilization.
It uses the 3.3VDC output from the Nano as a power source for the sensors. No automatic WM+ reset is available if the I2C bus freezes with this option.

Yorbid Nano interface board

Round adapter board by Warthox. A proven board originally designed by Warthox. The board can be used for a Tri- and Quadcopter.

Warthox original round board

This is an adapter board based on Ilmar’s round adapter board. The board can be used for a Tri- and Quadcopter with optional camera roll & pitch stabilization.

Connections for battery voltage monitoring with a buzzer are available. The board can be powered with a separate BEC and has a power available + status LED.

Pepetone nano1 shield

This “commercial” available PCB is an upgraded version of Warthox his round adapter board. The board can be used for a Tri- ,Quad-, Hexa, & Y6-copter together with all the features of the MultiWii1.6 version. It has an on board 3.3V regulator.


If you find this article useful.
Donate any amount, to help us maintain this website.

9 thoughts on “Build an Arduino shield for Quadcopter – Arduino Adapter

  1. Hi,

    thank you for your blog, its very informative.
    Can you please give me more details about the receiver? i might have missed it but your board has pin settings for it but no actual receiver right? which receiver did you used?


  2. Mr Oscar,,
    thank you for your blog, its very informative.Can I ask you one question?Before I ask you , I want to tell you me problem.I learn a lot of example to create arduino flight controller. Most of the example explain about Arduino uno and wii motion + and nunchank. Some Arduino + IMU like your example.But I don’t find any one write about
    (Arduino , wm+ , nunchunk , gps ) or ( Arduino + IMU + gps ). My question is how to wire ( Arduino + imu + gps )
    or ( Arduino + wii motion plus + nunchunk + gps ).Please guide me, how to.


  3. Hi,
    I replicated quite close your shematic. I took latetest mutiwii firware and I configured as:

    #define NANOWII
    #define QUADX
    #define MPU6050
    burned, tuned with MutliWiiconfig 4 linux. All throtle, pitch, yaw, rool aux1 – ARM, from turnigy works ok.

    I dont have the esc yet, but I osciloscoped the motors PWM.
    I can see the % of PWM changing from equidistant squared wave to combwise form . throotle works fine.
    Picth roll yaw does not seems to chnage the PWM on motors, though tthe UI shows the levels progres bars OK.
    Inclining the board seems also that does not trigger any PWM chnage, though the UI shows the inclination angles OK.

    Any ideas. Thx.
    Marius C.

    • what happen if you increase your PID gain?
      also, the yaw/pitch/roll would only respond if throttle is up. Make throttle 50% then change pitch roll see if that works.

  4. Hi!

    I am 12 and building a FC board similar to this one that you built and I am wondering if I should program the arduino myself or if I should simply install a pre written program.


    • Hi again, just buy a flight controller, it’s A LOT easier, and more reliable.
      I recommend the KK2, if you are just starting this hobby.

  5. I already have an FC on that small 330 quad. I have programmed processing with the Arduino and know how to build things and program them… I am just looking for a fun project! So should I program it myself or install a program.


    P.S. – I have experience with rc modeling and building!! I learned from my Dad! (who also taught me Arduino and programming it!)

Leave a Reply

Your email address will not be published. Required fields are marked *

nine − = 4

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>