Eva: A new open source autopilot!


                Arduino is awesome, and the autopilots based on them are great. Not only do they support an incredible number of external devices, but also don’t scare away the novice developers. Easy programming and versatility are nice but the cost at which they come at is somewhat of a letdown. 8-bit Arduino processors don’t allow a lot of room for other computation. Having already crashed a very expensive hexacopter (http://diydrones.com/profiles/blogs/the-story-about-hex-and-people-behind-it), and being told off for doing something quite risky (http://diydrones.com/profiles/blogs/hex-get-me-my-coffee), we have realized the importance of safety in autopilots.

                Algorithms related to safety often require implementation of vision algorithms and quick analysis of sensor data logs, and unfortunately Arduinos aren’t suitable for such computation. Better processors can allow such implementations and even though autopilots with better computation capability on their own are not enough to ensure safety, but they can provide a good basis to develop things, like obstacle avoidance, that can lower the risks of unwanted crashes.

                Aside from the programming capabilities, there is one other flaw that a lot of current open source autopilots have, and that is, setting the PID values. It often takes a novice user weeks to get a copter to fly stably in presence of external disturbances whereas the same user can use a commercial autopilot and achieve stable flights in a matter of hours (or even less). Configuring open source autopilots often takes a while as well.

               With the aim of creating an autopilot that achieves stability without a lot of tuning, and having a 32-bit processor and still supporting many external devices, ZeroUAV and HeX, together intend to initiate an open source autopilot that is based on the commercial YS-X4. We are not interested to reinvent the wheel, but instead are interested to solve the aforementioned flaws.



Software License: GPL v3

Hardware License: Creative Commons BY-SA



  • Eva uses a 32 bit ARM processor.
  • Onboard sensors include 3-axis gyroscope, 3-axis accelerator, barometer, and thermometer.
  • Eva uses a very precise Analog-to-Digital Converter.
  • Eva supports GPS and 3 axis digital gyroscope.
  • Eva supports standalone power sources, and doesn’t need a UBEC connection.


Detailed Hardware Specifications:


Processor:         AT91RM9200

                         ARM920T Kernel

                         Operating Frequency of 180 MHz, 200 MIPS

                         Cache: 32 KB  (16 KB Data Cache, 16 KB Instruction Cache, Write Buffer)

                         Memory (SRAM): 16 KB

                         External RAM (SDRAM): 64 Mb

                         External DataFlash 512KB



Gyroscope:       Uses two chips: LPR430AL (For X and Y axis), LY330ALH (For Z axis).


                         Measurement Range: ±300 dps.

                         Bandwidth: 140 Hz.

                         Stable output, and provides temperature stability.

                         High shock and vibration survivability.


Accelerometer: ADXL335


                         Measurement Range: ±3 g.

                         High Frequency Response; 1600 Hz.

                         Low Power Consumption (350 uA).

                         10,000 g shock survival.

                         Stable output and excellent temperature stability.


Barometer:       MPXA6115A

                         Sensitivity: 45.0 mV/kPa.

                         Pressure Range: 15kPa – 115kP.

                         Stable output, and provides temperature stability (1.5% Maximum Error over 0o to 85oC).

                         Temperature Compensated from -40oC to +125oC.

                         High Accuracy at High Temperature.

                         Automatic Temperature Compensation.       


Thermometer:   LM335

                         Stable output, measurement error ±2%.



IMU Analog to Digital Converter:


                         24 bit (Precise up to 10 cm for barometer’s sampling).

                         Data Output Rates to 30kSPS.


GPS Module

                         GPS NEO-6

                         Sensitivity: -162 dBm

                         Maximum Navigation Update Rate: 5 Hz

                         Horizontal Positional Accuracy: 2.5m

                         Velocity Accuracy: 0.1 m/s

                         Heading Accuracy: 0.5o


Digital Compass: Honeywell HMC5883L

                          3 axis. 

                          12-bit ADC enables 1o to 2o compass heading accuracy.

                          Maximum Output Rate: 160 Hz

                          Low power consumption.



Detailed Software Specifications:

  • Extremely stable flight
  • State calculation
  • Gimbal support
  • Automatic take off
  • Way point flights
  • Automatic interest point lock
  • Automatic lock
  • Ground Control
  • Overload Control
  • Automatic Navigation, GPS Navigation
  • One key return (Using GPS)
  • Care free flights
  • Supports tricopters, quadcopters, hexacopters and octacopters.
  • Supports GPS mode and R/C mode. Supports real time switches between modes, using an remote control.


All the schematics and PCB diagrams can be downloaded under a CC BY-SY license.


PCB Diagram:




E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • "based on the YS-X4", where is the FPGA?

  • Not dead, mate. I posted this update a week ago. 


  • Developer

    @ABL ok - that was pretty witty. ;-)

  • One month passed, still "soon", or "dead already"? ;-)

  • We still haven't set the price yet. We still have to figure out how to manufacture, but we hope to do that soon as well. :)

  • The game has been started.

    Now we need to be patient what comes up.

    Can you already say what the price will be?

    Which is the most interesting point.

  • The hardware and the software for the most part would be the same as the commercial autopilot YS-X4. :)

  • Developer

    What does "based on the YS-X4" mean?

  • Ah, sorry about that. Since the hardware has already been tested (by X4 users/developers), and the fact that it yields extremely good results, we don't really want to change it around too much (at the moment anyway). :)

  • Hey you never answered the question about using the arduino Due for this kind of a project....

This reply was deleted.