ArduPilot + Smartphone autopilot design

ArduPilot is great piece of hardware, no doubt. However it comes to its limits, mainly with limited memory, just one serial port, limited connectivity to other peripherals.So I have idea in my mind about improved setup, which would still use ArduPilot as hardware interface board for servo signals (5 channels IN from RC receiver,4 channels OUT for controlling plane), and of Infrared stabilization reading.Then it would connect to bidirectional serial link over Bluetooth module, which would connect ArduPilot with a smart phone located on the plane.One well-tuned firmware would be uploaded to ArduPilot once, this would provide work with signals and communication over BT module. These are ArduPilot's strong points.The central brain would be a mobile phone (or PDA) stored in plane. The phone would get servo positions from RC receiver through ArduPilot and over BT serial link, and the phone would also send servo positions back to ArduPilot for controlling plane. The phone would compute stabilization and navigation.GPS signal may come from external Bluetooth GPS module mounted somewhere on plane, or from phone's built-in GPS module (if the phone can be placed in plane with good signal reception).These are main benefits:- easier waypoint configuration (sending to phone over Bluetooth or memory card)- possibility to have multiple waypoint paths stored on phone, selectable on airfield from phone's menu- tuning autopilot parameters (e.g. PID loops) in phone's menu - no need for connecting laptop- using phone's camera for taking photos of video- logging flight data to memory card- much more memory for program and data- using mobile Internet connection or SMS allows for:> uploading new waypoints in mid-flight> reading telemetry in large distance> sending photos or video during flightThe phone would run on Windows Mobile or Symbian OS.Considering power, many phones and GPS modules allow charging over mini-USB plug, so this equipment could be charged during flight from same 5V source as used for ArduPilot. Or just left to use their own batteries.I'm waiting for my first Bluetooth serial module to come, then I'll make testing with such possible connection.And also still waiting for better weather, for trying original ArduPilot in air...
E-mail me when people leave their comments –

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

Join diydrones


  • WHy not just use siemens xt75 with inbuilt gps? 10 additional GPIO and 2 adc and everything runs on j2me. Or just use a normal phone and software serial to get the second serial port or use the atmega 328 which has 2 serial ports? I would be happy to help out with making sth like this work

    Cheers Kim
  • Best is if stabilization sensor would be a "plugin", replacable or selectable component of the software. Someone chooses IR because it works and is cheaper, someone uses gyro because of the valley or better performance. Stabilization code may work with either.
  • I live in a valley and there are mountains they go 45 degrees up the horizon on one side. So I thought they'd be useless. And really, the IR is a crutch for everyone until they can get gyros working. But, after seeing some data Dean posted in the UAV forum on RCGroups, it looks like IR would indeed work. But I'm continuing on the current path.
  • MattTay, you're the man!
    That looks promising, but didn't you consider using IR sensors like is discussed everywhere on this site?
  • Take a look at these pieces for study as it's similar:

    I'm still working on it, but currently I ended last summer thwarted by two things. The first was gyro drift. Inside the cockpit of my easystar, temps go up really fast and getting a handle on the gyro drift took some time. I'm not sure it's solved yet, but I've not had a chance to fly again this year. Over the winter, I built two more PCB designs, and I'm about to drop a third based on a new gryo.

    I did clean up a lot on the PDA software that goes with this. The .net code is wonderful for writing apps, and in the link here you can build a version of the code on the desktop and fly it in a simulator. Works well for tweaking algorithm strategies. I've also added the ability to add noise and drift to the sensor readings in the desktop simulator, to help understand the problems I was facing in the air.

    There are a few great reasons to use a smartphone or PDA as a core platform. First is the development environment. The second is the hardware. You won't find more horsepower and peripherals for the money. The third is the fact that smartphones have built in video camera and cameras that are on the edge of doing high def. The fourth is the built in radio. I use my normal sim and can track all my flight info from the ground. I have a ground-based PDA read off altitude using crude text-to-speech.

    I'm looking forward to this summer for sure.
  • The code would be relatively easy to write in .net and teh memory for waypoints and aircraft configuration would be enormous! I can even see the ability to carry and drop payloads and have the autopilot switch to a (for arguments sake) a 20 pound lighter flight configuration.

    This system would allow for...

    in flight tuning of the autopilot

    large amounts of telemetry

    Easy in flight mission planning and redirects

    OMG waypoints out the wazoo!

    Because the processor would be idling most of the time, your payload could benefit from the phone as well

    in flight phone calls.... LOL

    datalogging onto memory card (2 gigs should just about cover it!)

    turn on google latitude and show your friends where your UAV and phone are!

    It just makes sense. Somebody put a powerful computer in my phone and I can write software for it. I just need to add a breakout board with a micro controller for servo control and sensor collection. then I can write some mean code to control all aspects of the aircraft. This would open up so many powerful and commercial applications for this inexpensive UAV autopilot that has more processing power than most off the shelf designs.

    This should be open source for sure! This would allow for some really great plugins for different types of vehicles. Aircraft, helicopter, boat, etc with some core functions as objects you can just download and add or subtract from the autopilot software. This would also allow for payload package control. whether it is camera control or some scientific package you could very easily add custom control for it over your phone's data connection.

    Your ground station just has to have an internet connection and you could control this UAV from China if you wanted to.
  • Recently I burned one of my two ArduPilots (bad smoke, and it's dead, my fault)... Shame, however it makes me thinking about this hardware alternative:


    It's smaller and has everything that's needed by my opinion. It can run slightly modiffied ArduPilot code.
    I was never fan of mux and failsafe chip, mainly because it didn't work in my 2 boards (sorry Chris&Jordi, no offense, ArduPilot is great design for getting started with UAV's, and it made me to start!).
  • Also, Bidirectional communication is really very quick and though I wouldn't use it to externally pilot the UAV, I would use it for all telemetry up and down. I wrote a peice of software called Eagle Eye Tracker for Windows Mobile ( Google Latitude pretty much killed my app but the comminication is there and it works fast. This would be no different for an aircraft. Also you could fly your UAV (big scale) as far as the gas would allow for as long as you has cell signal.

    I would love to build this software but alas, I love software dvelopement but hate electronic development! Any takers?
  • I gave this idea alot of thought as I program for windows mobile. There is a definate huge advantage to flying a cell phone. in fact, a small sensor board would be all that was needed to cover turn and roll rate and airspeed. The internal GPS of my phone would handle the gps portion of the equation. The UAV can fly well on just PIDs without a whole lot of gyros.

    This would be a cool project! imagine an autopilot being just a download away!
  • Hey automatik, would you be able to give more details on how you installed linux on your router and what distribution(s) of linux can be used etc. It sounds interesting :)
This reply was deleted.