[NOTE: This post describes the original version of the Lego Mindstorms autopilot, which is a navigation-only (rudder and GPS) autopilot. Since then, we have created a full navigation-and-stabilization (aileron and elevator and GPS) autopilot. However, since it uses prototype hardware that is not yet commercially available, I'm not posting full building instructions and code yet. Till then, the one below is a fine way to start. Also, you may note that the plane shown, a Hobbico ElectriStar is not the one described below and now recommended, which is its better-flying cousin, the NexSTAR.]

Description: The main aim of this project is to both make the world's cheapest full-featured UAV and the first one designed to be within the reach of high school and below kids, as a platform for an aerial robotics contest. Like the Lego FIRST league, but in the air.

(There is another aim of this project, which is more about policy. At the moment the FAA regulations on UAVs are ambiguous (we believe that by staying below 400 feet and within line-of-sight we're within them). But there is a good deal of concern that as small and cheap UAVs become more common, the FAA will toughen the rules, making activities such as ours illegal without explicit approval. I hope this project will illustrate why that approach won't work.

By creating a UAV with Lego parts and built in part by kids, we haven't just created a "minimum UAV", we've created a reductio ad absurdum one. If children can make UAVs out of toys, the genie is out of the bottle. Clear use guidelines (such as staying below 400 feet and away from tall buildings) would be welcome, but blanket bans or requirements for explicit FAA approval for each launch will be too hard to enforce. The day when there was a limited "UAV industry" that could be regulated are gone.)

Here's a video of it in flight:

Features: In GPS mode, unlimited pre-programmed waypoints, with programmable options such as circle and hold. Ability to integrate other sensors, such as ultrasonic, compass, gyros, accelerometers, or barometric pressure (altitude). With optional bluetooth cellphone integration, control via text message, including dynamical-changed GPS waypoints, "come home" and "circle" commands, etc.

This is the most complete UAV, so I'll start the instructions here from the beginning:

  1. Learn to fly R/C planes! These UAVs don't take off or land by themselves, so you've got to be a competent pilot. If you've never flown before, I suggest starting with a Hobbyzone Firebird Phantom ($60). Once you've got the hang of that (you'll crash a lot when you start, but it's tough and can take it), you may want to upgrade to the Hobbyzone Aerobird Swift ($150), which has an elevator and ailerons and will get you really ready for proper planes. Don't worry if you total this bird; we'll be able to use its radio system later.
  2. Get the UAV airframe: a Hobbico NexSTARr (68" with radio and motor, $429).
  3. Autopilot: I'll assume you've already got Lego Mindstorms NXT. For the basic version of the UAV you'll also need a compass sensor. You can see how the whole thing works here (it's easy to build the mechanical assembly, which is quite simple. Just remember to screw the base pieces into the airplane's plywood servo floor so they don't move. Full details and diagrams are here.) Here's a video of it working:
    Here's the Mindstorms NXT-G code: Main, Subroutine (download both). Or, if you prefer RobotC (I do!), here's the code in that. The GPS version is also working and you can download the beta of it (RobotC version) here. If you're using GPS, you'll need a Bluetooth GPS receiver. Might as well get one that has logging, too, so you can see your course in Google Earth. The i-Blue 747 ($70) is recommended.
  4. For stabilization, use the FMA Direct FS8 Co-Pilot, which uses infrared sensors ($115). Put the sensor on the top of the wing, as the instructions suggest. It works better there than on the bottom of the plane.
  5. You turn the autopilot on and off with a servo strapped to a touch sensor. This video explains how.
  6. For video, use the Range Video Aerial Video System 2 (camera, rx and tx, $365; pick the "portable video" option, which gives you a rechargeable battery on the receiver).
  7. You can build a pan-tilt camera mount out of Lego and your two spare servos, like this. Here's a video of it working: Use a spare transmitter and receiver to control the pan-tilt,and power it with this Li-Ion battery ($18). I assembled the whole video downlink assembly on the back of the Electristar battery door, like this. (that's showing a different receiver and battery pack, but the concept is the same.)
  8. For recording and viewing the video, you'll want a video capture card for your laptop. There are several available options, but if you have an ExpressCard slot, I recommend the Avertv Express MCE.
  9. It's hard to see many laptop screens in daylight, so you might want to get one of these screen shades.
  10. Later, we'll add the cellphone for real-time GPS waypoint uploading via SMS.


Many people have asked why the Lego autopilot moves the whole servo back and forth, rather than just controlling the servo arm the way a R/C receiver would. There are two answers to this: 1) we always want to have a manual override, so in this case you can manually control the rudder servo arm even as the autopilot is moving the whole assembly back and forth to control the rudder another way. 2) there is no good commercially available way to communicate directly from the NXT brick to a R/C servo. That said, there are some products in development that will make this possible. Stay tuned....

Views: 11760

Comment by Chris Hornby on August 8, 2007 at 1:56pm
Hi Chris, this sounds fascinating and I am determined to start a uav project. I have a 60" predator which flies well and takes nice pictures, but I plan to scale it up by a factor of 2 to make it approx 1/5 scale and automate it with your excellent work on your lego nav system. My question is this, are you fairly close to a gps system? (aug 2007) I would rather do it your way then go down the picopilot route.

3D Robotics
Comment by Chris Anderson on August 8, 2007 at 3:50pm

Yes, GPS is working (see the link to Ralph Helpel's work on the Lego Autopilot page). But the Lego system is mostly meant to be a platform for an aerial robotics contest for kids. For real field work (and for an airframe like the predator, which doesn't have a lot of instrument space in the first place, I'd go with something less fiddly and bulky. If you don't have an iPaq 6515 cellphone handy, I'd use the Basic Stamp system used in GeoCrawler 4, which is a lot more flexible. We'll have that finished within a month.
Comment by Chris Hornby on August 9, 2007 at 2:14pm
Ah. Have you flown the basic stamp system yet? Sounds a little cutting edge for me but certainly interesting. I dont think space will be a problem because I am working on scaling the pred up by 2 (10ft wingspan) to make it more stable. Is the Ipaq cellphone a completed project? Sorry about all the questions. I am sure they are answered elswhere but at the moment I cant find them! :)

3D Robotics
Comment by Chris Anderson on August 10, 2007 at 2:29pm

The Stamp system has not flown autonomously yet. The iPaq has only flown semi-autonomously. If you've got room in your Predator you may indeed want to go the Lego route. I have it on good authority that there's something coming out soon that may make part of it much lighter/smaller. Can't say more now, but by the time your airframe is ready we might be able to help.
Comment by Jack Biggs on November 24, 2007 at 8:45pm
Hi, I'm a budding airplane hobbyist and I'm wondering what would be the cheapest way to build a UAV. I'm really excited about this, but I'm not really sure what to do. I already have a lego mindstorms brick, but what is the cheapest way to go about this?

3D Robotics
Comment by Chris Anderson on November 25, 2007 at 12:10am
You can't get much cheaper than the UAV above, especially if you already have Mindstorms. It's probably going to cost you at least $500 more, unless you already have an airframe large enough for the Mindstorms NXT brick and motor. Adding video makes it considerably more expensive yet.

I'd pick and choose from the features above. Although this isn't the least expensive hobby you can find, you can take solace in the fact that these are some of the cheapest UAVs in history.
Comment by Tom CruiseControl on December 15, 2007 at 1:24pm
Did a quick 'preflight' of hyper-linked software code which referenced some #include files such as "Compass Sensor Driver.c" Do you have hyper-links to all necessary files posted somewhere?

3D Robotics
Comment by Chris Anderson on December 15, 2007 at 2:14pm

Those files are all part of the RobotC package (put the UAV files in the RobotC for Mindstorms/sample programs/NXT folder) and should load at compile time. If you don't have RobotC, I'd suggest using the Mindstorms NXT-G version of the compass-driven autopilot code. If you're using GPS, you have to use RobotC, since NXT-G doesn't support BT GPS.
Comment by Craig on April 11, 2008 at 4:26pm

Have you looked into any mechanisms for video stabilization during flight? Just curious after watching your video.

3D Robotics
Comment by Chris Anderson on April 11, 2008 at 4:33pm

Yes, we use an IR-stabilized mount now for most still imaging:

We haven't bothered for video, because it's just for fun. But it would work for that, too.


You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service