ArduPilot - Arduino Compatible UAV Controller w/ ATMega328

This is a Arduino-compatible autopilot board designed by Chris Anderson and Jordi Muñoz of DIY Drones using the new ATMega328. This board was used to win the annual autonomous vehicle competition put on by SparkFun.

ArduPilot is a fully programmable autopilot that requires a GPS module and infrared X, Y and Z rangefinders to create a functioning Unmanned Aerial Vehicle (UAV). The autopilot handles both stabilization and navigation, eliminating the need for a separate stabilization system. It also supports a "fly-by-wire" mode that can stabilize an aircraft when flying manually under RC control, making it easier and safer to fly. The hardware and software are all open source. The board comes with all the surface-mount parts already soldered, but requires the user to solder on connectors. Firmware is already loaded, but the autopilot software must be downloaded and loaded onto the board by the user. It can be programmed with the Arduino IDE. All details and instructions can be found at the project's home page.

We highly recommend the following items to accompany this product:

  • An EM406 GPS module
  • An FTDI Basic or FTDI cable for programming
  • This JST Jumper Wire

    Other necessary elements, including aircraft recommendations, can be found at the project's home page.

  • Controller designed to be used with autonomous aircraft, car or boat. Infrared sensor required only for aircraft.
  • Based on a 16MHz Atmega328 processor. Total onboard processing power aprox 24 MIPS.
  • Built-in hardware failsafe that uses a separate circuit (multiplexer chip and ATTiny processor) to transfer control from the RC system to the autopilot and back again. Includes ability to reboot the main processor in mid-flight.
  • Multiple 3D waypoints (limited only by memory)
  • Comes with a 6-pin GPS connector for the 1Hz EM406 GPS module.
  • Has six spare analog inputs (with ADC on each) and six spare digital input/outputs to add additional sensors
  • Supports addition of wireless downlink module for telemetry
  • Can be powered by either the RC receiver or a separate battery
  • Hardware-driven servo control, which means less processor overhead, tighter response and no jitters.
  • Four RC-in channels (plus the autopilot on/off channel) can be processed by the autopilot.
  • LEDs for power, failsafe status, autopilot status and GPS lock
  • 30mm x 47mm


ArduPilot - Arduino Compatible UAV Controller w/ ATMega328 Product Help and Resources

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

2 Soldering

Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels

Core Skill: Robotics

This skill concerns mechanical and robotics knowledge. You may need to know how mechanical parts interact, how motors work, or how to use motor drivers and controllers.

5 Robotics

Skill Level: Expert - In addition to having a solid foundation in robotics, you will need to know how sensors integrate with complex robotic systems. You will need to understand how to implement IMUs, UAV controllers, etc.
See all skill levels

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

4 Programming

Skill Level: Experienced - You will require a firm understanding of programming, the programming toolchain, and may have to make decisions on programming software or language. You may need to decipher a proprietary or specialized communication protocol. A logic analyzer might be necessary.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Impressive

  • sblaszak / about 14 years ago / 2

    This unit uses a Sirf-III GPS chipset has a limitation that buyers should know about. THIS UNIT WILL NOT WORK AT AN ALTITUDE OVER 18000 METERS (60000 FEET). This doesn't matter to most people, but is important to hobbyists that take part in high altitude weather ballooning, amateur rocketry, etc. Someone I know mistakenly purchased a Sirf-based unit for ballooning and I'm hoping to save people from making the same mistake.
    I'm going to post this in the comments section of all the Sirf-based Sparkfun products in the hope of saving someone from from making the same mistake. I apologize if the Sparkfun guys consider this spamming, that isn't my intent. It, also, isn't my intent to drive business away from Sparkfun. They have an awesome collection of GPS products and many of the other modules don't have this limitation.

    • Sblasazk, I think you're a little confused about this product. It doesn't "a Sirf-III GPS chipset"; it just has a GPS connector that can work with any GPS module. The code, meanwhile, is actually optimized for the uBlox 5 module, not Sirf-III. All GPS modules have altitude limits, but the uBlox is higher than the figure you gave.

      • sblaszak / about 12 years ago / 1

        My apologies, you are correct. I was adding that warning to all of the Sirf based GPS modules listed here and misread this product listing. It says it's compatible with the Sirf based EM406 GPS module but it does not actually come with that module. Whether, or not, it will work above 60000 feet is based on the module chosen. As for all modules having altitude limits, that is the opposite of everything I've ever heard. The only limit I've heard of is the 60000 foot limit set by the US FAA. They require that no unit work at that height while moving over a certain speed. However, some companies (like Sirf) misinterpret the requirements and turn it off if either is true. This makes those units much less useful for anyone doing things like high altitude ballooning.

        • MikeGrusin / about 12 years ago * / 3

          The limitation does not come from the FAA. It's a US State Department ITAR ruling, which states that any GPS receiver that can simultaneously operate above 18km AND 515 m/s is classified as a munition, since it could be used as part of a weapons system. For obvious reasons we don't sell such modules. The ones we do sell cease operating when one or both of those parameters is exceeded. Whether it's one or both is critical to high-altitude experimenters, which is the point of sblaszak's statement.

          And I have to agree with Zlite, we welcome helpful information about our products, but a shotgun isn't always the most effective approach.

          Edited to fix error and clarify the ruling. Thanks!

          • This is good to know, our makerspace is wanting to get into rockets, I didn't know they could be classified as munitions. I'd like to keep the CIA/FBI visits to a minimum...

            • MikeGrusin / about 11 years ago / 1

              If you get in touch with one of the national rocketry associations (Tripoli, NAR), they'll be able to steer you around the legal and technical stumbling blocks. Clear skies!

          • The and/or in your response should be an "and". Some manufacturers implement "or". It's a real difference, albeit one which the OP is expressing suboptimally.

            • MikeGrusin / about 12 years ago / 1

              You're quite right, thank you, I've edited my response to fix the error.

  • billblack / about 10 years ago / 1

    Documentation for this board can now be found @ and here:

  • GraysonR / about 10 years ago / 1

    What is the purpose of the X,Y and Z range finders?

  • Member #151132 / about 11 years ago * / 1

    The link above for the Expansion Board, , doesn't work.

    Ditto on the link for the X, Y, and Z sensors, .

  • BASIC4EVER / about 11 years ago / 1

    The Ardu Pilot working in our airplane Miguel

  • Member #401039 / about 11 years ago / 1

    hello everybody is it used to control quadcopter ? if yes how can I download the firmware? thanks

    • Yes, this can be used for a quad copter. Check out the links we have posted above for the DIY Drones community. This has instructions and the firmware.

  • The ArduPilot website just mentions that they are working on Loiter code, and doesn't give any other info. Also, the XY and Z sensors link to diydrones links to a product they no longer carry.

  • Member #225830 / about 12 years ago / 1

    Guys... Any idea how would I be able to connect this ArduPilot with the MaxSonar EZ1 Sensor. Please Anyone that can answer this connection I would really appreciate it.

  • Cleveroldguy / about 13 years ago / 1

    The eagle file for this is incomplete missing tracks and connections.
    I know it's an out of date board but can someone please find the right eagle file or put a pdf of the board on the documents.

  • kev / about 14 years ago / 1

    Is this over kill for a ground based vehicle?

  • Sean, ArduPilot is 100% Arduino-compatible, so it has the same I2C functionality as any other Arduino. Several digital pins can be set to handle I2C.

  • Does this have I2C?? I dont see it anywhere.

  • pseddon / about 15 years ago / 1

    I have both the early 168 version and this 328 version of the Ardupilot. The settings of the fuses and lockbits are completely different between the two boards and the 328 version whilst it can be programmed using the bootloader seems to be prevented by the lock bits from having either the FlashROM or the EEPROM verified.
    Can someone tell me what the fuse and lock bit settings should be for the 328 version and where I can get the bootloader should I have to erase the chip to change the lickbits.

    • The bootloader is part of the Arduino distribution. It's ATmegaBOOT_168_atmega328.hex in the hardware/bootloaders/atmega folder
      The setup utility works fine with the current (328) board. If you're having problems with yours we'll try to sort them on the DIY Drones site, where this product is supported.

  • JUPEPA2 / about 15 years ago / 1

    Queria saber si estas unidades de "Ardupilot" esta actualizadas a la ultima versi?n.
    En Espa?a tienen que programarlas, pues venian sin actualizar.
    I wanted to know if these units "Ardupilot" This upgrade to the latest version.
    Have to program in Spain, came as no update.

  • path / about 16 years ago / 1

    Can you guys add the schematic for the newest revision with the updated power circuitry? Thanks.

  • vatosupreme / about 16 years ago / 1

    When will these be off backorder?? (hopefully in time for the competition?)

Customer Reviews

No reviews yet.