3D Robotics

The decision to port the Basic Stamp autopilot to Arduino turned out to be an unexpected opportunity to make something really cool. I've taken Jordi's open source RC multiplexer/failsafe board, and mashed it up with an Arduino clone to create "ArduPilot", perhaps the cheapest autopilot in the world. ($110! That's one-third the price of Paparazzi)

Here's what it is:

A custom PCB with an embedded processor (ATMega168) combined with circuitry to switch between RC control and autopilot control (that's the multiplexer/failsafe, otherwise known as a "MUX"). This controls navigation (following GPS waypoints) and altitude by controlling the rudder and throttle. These components are all open source. This autopilot is fully programmable and can have any number of GPS waypoints (including altitude) and trigger camera or other sensors

As with the Basic Stamp autopilot, to make a fully autonomous aircraft you need to combine this navigation autopillot with a stabilization system, for which we turn to our old friend, the FMA Co-Pilot (off-the-shelf infrared sensors and control board to keep the plane flying level), which controls the ailerons and elevator.

By using Jordi's MUX, which allows us to switch from autopilot to manual RC control in hardware, we gain several advantages over the Basic Stamp:

1) Because the switching isn't handled by the processors, we don’t need to drive servos in real time, which means we don't need stand-alone servo driver chips (thus a simpler board)

2) We also don't need “mirroring” subroutines to pass through servo commands in RC mode (simpler code)

3) Don’t need power regulator, since we’re using regulated output from the RC receiver (simpler board)

4) The built-in MUX failsafe is cheaper and simpler than using a stand-alone one.

I've taken a quick pass at the schematic and PCB (Eagle 5.0 format) for ArduPilot, although this will evolve as we go through the hardware testing cycle: Schematic, PCB board. You can buy the board here. Arduino code coming soon in alpha now.

All together, this can be the basis of a sub-$500 UAV:

Autopilot:

--ArduPilot PCB: $10

--Boarduino kit + FTDI cable: $35 (subtract $17.50 if you already have a FTDI cable)

--PicoSwitch: $20 (we'll probably build this in the board in the next rev)[UPDATE: Jordi's now incorporated that into the board above. It's a TinyAVR chip ("IC3", $2.75) and its associated programming interface jumpers ("ISP")]

--EM-406 GPS module: $60

--Multiplexer chip : $1

--8 Samtec TSW-108-25-G-T-RA right angle servo connectors (available as a free sample): $0

(That's a $110 autopilot, thanks to the open source hardware. By comparison, the Basic Stamp version of this, with processor, development board and failsafe board, would run you $300, and it's not as powerful)

Stabilization:

--FMA Co-Pilot: $70

Plane and RC equipment:

--Hobbico SuperStar (includes motor, battery and ESC): $109

--6-Channel radio system (with proportional control for channel 6, to calibrate FMA system): $109

--Three servos: $45

TOTAL: $440
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Moderator
    Thanks, I'll just watch the current posts for the the code and other updates.
  • 3D Robotics
    No code yet (give me a week or two). These boards will work fine (although you may have to change some pin numbers in the code) are functionally identical to the new ones, but DO NOT solder in the diode D1. It's just there as a safety in case you reverse the battery input polarity, but unfortunately we made a mistake on the trace and it's miswired.
  • Moderator
    Chris,
    I ordered this board just before you announced these latest updates. I've been tdy for my job anyway so it doesn't matter. Anyway, even though July is just around the corner as is the "new board" I'm still planning on building one (the version picture on this post is the one I ordered), is the program code available for this version?
  • Thanks Chris,

    I'll have two unmade older boards for the record books then.
    Anyone want them ?

    I'll order a new one when you let us know they are ready.

    Thanks again for the pdf file.
  • 3D Robotics
    Yes, if you can wait another day for us to put them on BatchPCB, I'd recommend that you build with these new boards. For anyone who started with the old boards, they'll still work fine but you have to reverse a diode. PM for more on that if you're in that situation.

    This will probably be the final through-hole board, and is best for those doing their own soldering. The board will be working on after that will be surface mount, so it can be produced in an automated way and sold as a pre-made autopilot. Functionally, the two should be identical, with the exception that the SMD one may have a built in barometer, while that's something you add on a daughterboard in the through-hole version.

    PDF of new board follows:

    ardupilotBETA.pdf
  • Hi Chris,
    I have not built the unit yet ?
    Sould we transfer to these boards then ?
    Any more updates on the way in hte near future ?

    Could you also publish PDFs of the files. I have not yet got eagle installed.
    (my bad)
  • 3D Robotics
    Here are the Eagle 5 files. We'll polish them off and upload to BatchPCB tomorrow and publish the ordering link then. The main difference is that a diode that was the wrong way around is fixed, many of the connectors are improved (standard connectors for GPS, and Samtec right-angle connectors for Rx and servos) and the labelling is clearer.

    ardupilotBETA.brd
    ardupilotBETA.sch
  • Whats different about the new board?
  • 3D Robotics
    Tim,

    Many thanks for that, which looks really helpful.

    BTW, we have a new version of the board coming later today. If you haven't ordered the board, please wait for the new one.
  • Hello. Sounds like the Arduino code is well under way, but I thought I'd offer up some Arduino PID code just in case it's helpful. I'm using it right now for thermal control, but it's got the goods. Here is a link: http://growdown.com/coffeetronics/SilviasBrain/PID.pde

    It requires with two other files in the same folder (#DEFINES.h, and eeprom_float.h). If anyone wants to use it, just let me know. I'd be happy to help integrate it, or help with other coding if needed. This is a sweet project. email is tim at growdown dot com.

    -Tim
This reply was deleted.