3D Robotics

Modular board strategy for ArduPilot Mega

In a previous post, I discussed our mainboard approach for ArduPilot Mega. In this post, I'd like to share our thinking about the expansion boards ("shields", in Arduino-speak). As you can see in the above diagram, the core ArduPilot Mega will consist of two layers, just like the current ArduPilot. The core autopilot board will remain constant, while the IMU board will come out in versions, improving as sensor technology evolves. But there is also the option to add a third layer, which is an expansion board for additional functionality. We will break out as many I/O (analog and digital) pins as possible to the expansion board, along with at least two serial ports. Some of the boards, such as the DIY sensor board, will be dual voltage. Some of the boards proposed above may be ones for which there would be enough demand that we'd make and sell them ourselves. Others may be created by the community. ArduPilot is an open standard, like the rest of Arduino, so we'd like to encourage people to come up with their own shields, just as the community has done with the core Arduino boards. So what do you think? Have we missed any obvious expansion board candidates? Any design decisions we should be making with the core ArduPilot Mega board or IMU to allow for more expansion options? (Remember, size is at a premium, so suggestions that require bigger or more expensive mainboards tend not to carry the day)
E-mail me when people leave their comments –

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

Join diydrones


  • anyone have use rpm sensor to apm 2.5? what rpm sensor do u use and how about to activate and send the data via telemetry? 

  • @ Chris

    Has anyone started work on a DIYDrones OSD/antenna tracker system?
  • @ Chris,... fully with you now...

    these kind of offshoots is something that us muppets out here can do if the need facilitates, then inform the community if its worth doing in the end....

    Looking forward to the ArdumegaAP, I know this will be superb.

    will keep watching with anticipation.

  • I have found a web page with and small imu pcb (GPL ) with all sensors connected by the SPI bus for free download:
    They have made a mcu pcb with the LPC2148 (ARM7) and a sensor pcb.
    The sensor pcb can use different rate sensors (ADXRS610, LIYS300AL,MLX90609) on small rate sensor pcbs. I think it is a good idea to use small rate sensor pcbs to. For glider the cheap LIYS300AL can be used and for helicopter and motor aircrafts the vibration resistant rate sensors ADXRS610 and MLX90609.
    Question has someone used the ADX500 rate sensor ? It seems that this sensor is also vibration resistant because the internal frequency is over 20 kHz. It will also a good idea to look for the MXR9500. This sensors acceleration is very vibration resistant.
  • 3D Robotics
    Jawahar, autonomous takeoff and landings is something people like thinking about more than they actually end up doing. We don't see much demand for it, so if people want that they can design their own around our open standard.
  • 3D Robotics
    Stikmunkey, yes as you can see above an altitude sensor is planned for the heli/quad shield. We don't find them necessary for fixed wing.
  • what about (ultrasonic/sharp)sensors for autonomous takeoffs n landing ???
  • @Chris, again I was just following a logic (google trend = good design) to its conclusion. It isn't so much a matter of personally "liking" or "not liking" an architecture, and yeah, it's a bit of a redesign, but I think a great deal less than porting code to a different mcu brand. I think the IMU with Arduino already exists. One could use the current Ardupilot as a "Servo IO with Failsafe", leaving only the functions in the pipeline (waypoint updating, logging, and comm) for the last piece. But fair enough, the die is cast, go with it.
  • Any plan to have a barometric sensor for altitude?
  • 3D Robotics
    bGatti, that is a totally different architecture and path than ArduPilot has been on. It would involve throwing out man-years of work and initiating man years of additional work. This is not a "how would you re-conceive ArduPilot from scratch" exercise; we were simply soliciting input on expansion board designs within the current architecture.

    The Arduino derivative you mention that has an inbuilt USB port only has a single serial port. After discussions with the Arduino team, we rejected it on those grounds.

    But ArduPilot is an open source project. If you don't like our architecture, we encourage you to create your own.
This reply was deleted.