A Brief Introduction
I’ve been wanting to build a drone for a while because, well, it’s a drone and that’s cool. I figured my spin on the plethora of DIY drones out there could be that mine would be made out of Lego. The following is an overview of how I went about attempting the Lego drone, and a later post will go into more detail and cover the results of this experiment.
[Notice: video at bottom of page]
This is my first foray into building any sort of flying machine, and I owe a lot to the following helpful resources:
- mydronelab, for a fantastic overview of the general steps required
- MultiWii, without which controlling a drone via Arduino would be very implausible
- engineerforbeer, for providing the initial outline of the XBee modification for MultiWii
Parts and Modifications
I’m not going to list the specific steps for building a drone in this post; mydronelab does that well here. What I will do is elaborate on certain parts of the process, and point out modifications that I made. This post is a general outline, the next post will go into the gritty details.
- I am cheap: I already had a bunch of lego lying around from my younger years, and quadcopter frames can get pretty pricey. Cheap DIY frames are common; other people have used two sticks tied together or laser cut wood.
- It is light; made from ABS plastic
- It is sturdy; anyone who has stepped on a piece barefoot can attest that Lego is one of the hardest materials in the universe.
The RC Controller
Most resources I could find seem to assume that when piloting a drone you will be using an RC controller made for that purpose, specifically an RC Transmitter/Receiver pair such as these.
Rather than purchase a new RC TX/RX system for this project I decided to try recycle an old XBee Series 1 pair from a previous project.
To be fair there are RC controllers out there that would be cheaper than buying new XBees, so if you are starting from scratch take that into consideration. I cover the benefits and pitfalls of using XBees in Part 2.
The Flight Controller
The MultiWii project was invaluable to the successful control* of my Lego Drone. However, there were some modifications I had to make:
- MultiWii has many options for remote control, but sadly XBee pairing doesn’t seem to currently be one of them. Part 2 details the steps required to modify the system.
- MultiWii is compatible with Arduino Pro Micro and Arduino Mega boards. My project uses an Uno which worked fine except for a small detail to do with Xbee control.
*”successful” is admittedly quite a stretch at this point.
For the most part I followed the general steps of the mydronelab guide, linked to above, until the various bits of my project didn’t match up.
I started by putting together the frame, to have a base to build everything else off. My strategy was about 50% making it up as I go along, 50% trial and error. This resulted in only one complete redesign. The first frame, small and compact, was intended to reduce weight and wind resistance. The cost of such benefit, as shown in the video below, was an unfortunate tendency to tip over. The second, wider, frame is much more stable.
I focussed on the RC communication next, pulling apart an old XBee robot project and dusting off the Sparkfun Xbee guide. At this point I didn’t know there’d be problems with XBees and Multiwii, so I was happy enough to just get the devices communicating. Blindly hoping that this would be enough to control the drone, I moved on to wiring up the flight controller.
I’ll go into detail about how I got the flight controller working in Part 2, but for the most part the folks over at MultiWii, linked above, make the setup straightforward. Since I was using an XBee rather than an RC controller with a receiver, I had to make a few modifications to the communication system. Beyond that, MultiWii handles most of the messy stuff.
The final construction step was to hook up the motors and ESCs. The motors arrived late in the process but I was pleasantly surprised to find that the bolt holes lined up really well with the bumpy bits on Lego:
After wiring up the flight controller, ESCs, and motors, and taping on a gyroscope, I went through the calibration steps described in the MultiWii docs. Aside from being a little wobbly, everything ran smoothly enough for me to think it was a good time to do a real test.
The following is the result of that test:
After this series of heart- and Lego-breaking tests, I built a new, wider, body and spent some time calibrating the flight controller a bit more. The results of this refinement can be found at A Drone Made Out Of Lego Part 2: The Trees