Drone with Raspberry and Arduino/Multiwii (part 1)

Since a couple of months we at nugg.ad are trying to build two drones from scratch. Besides pure interest and excitement about the technology (i tend to call drones ‘algorithm-machines’ and nugg.ad is all about applying algorithms and machine learning as well*) we want to do something with them in the field of advertising (oh yes, we are working in advertising sorry…), but i am not allowed to disclose that for now.

But i can talk a little bit about the technology and what we achieved so far.

The idea was to build the whole thing based on open-source technology as much as possible. To say the truth, in the beginning i thought we would build it on a Raspberry Pi. But this turned out to be not the best choice as the RPi is not a realtime device/os and therefore will make it tough to do the calculations a drone needs to stabilize fast and efficient enough. But there are some RPi projects out there that seem to be able to deal with that, it just looked to complicated for me (a lot of C stuff etc.).

So i decided to use one of the Arduino based projects as a flight controller. To get started i ordered the Quadcopter DiY Kit from 3d robotics which comes with Ardupilot as a controller. Ardupilot is a customized Arduino board that comes with a highly customized Arduino ‘sketch’ that can be uploaded and edited with the Arduino IDE, but it’s meant to be done with a special software that serves as a mission planner and configuration tool in the same time. It didn’t work. The controller obviously had some weird issues and the support staff at 3d robotics asked me to send it back to get a replacement. Which i never got until today (they say they have shipment issues outside the US currently, sure…).

In the meantime (while desperately waiting for the new board) i figured that there are much cheaper and easier to get solutions, also based on Arduino boards and software. And more open… Namely the multiwii-project that initially was built buy some guys to run a copter with sensors from a Nintento Wii controller. So i ordered an Arduino Micro as Controller from flyduino which also didn’t work in the first place but they sent a replacement quickly and that worked just fine. The price was 18 EUR which is 10-times cheaper than the ardupilot! But it comes with less sensors, so i had to buy a breakout board with gyroscope and accelerometer + a barometer from ebay (a gy80 module) which again cost 15 EUR or so.

With that setup i was able – ok, after some painful weeks of figuring out a broad number of issues and problems – to get up in the air for the first time. What a blast!

I learned about PID configuration to adjust a lot of paramenters that the copter needs to get into a stable flight. And about Radio-control systems (i am using a Spektrum DX7) – i had no clue about all these things before… (btw. in the video above you can see that the PID settings for YAW-control were not ok – that’s the reason why it is spinning)

But the Raspberry was still missing, right? And to be honest, the whole reason why i got into that drone project was not so much about flying, but more about getting a linux-server up in the air and being able to log into it with ssh while it’s flying above my head. That was my dream. And as Arduino usually has no ssh and no Linux (besides the amazing Yun and the Galileo btw – imagine that i also tried to get it running with the Yun but that just didn’t work at all) i really still needed a Raspberry.

Luckily the Multiwii-thing missed something important for a drone – a camera. So i soldered a USB-connector to the power-source (which was 5volt already) and got the Pi just on top of it – look how beautiful it is:










And this is the very first video the whole thing recorded (ok, out of all that excitement i tried to explore my video editing skills as well, sorry for that…).

In the future you will see how i tried (and finally managed) to add GPS to it and had to exchange the controller again for a more powerful one because of that, how autonomous flying worked (because this is a very early feature in the multiwii project and also a thrill in general), how i tried to print new legs and a case with the 3D-Printer and how the RPi got more work than just recording videos…

When it comes to that, we will hopefully have autumn 2014 and it will come with a world-premiere as well, so stay tuned… (and buy your ticket for our data-days conference where we will show it for the first time)


*btw – this is really something i find amazing – especially if you imagine a drone like that flying autonomously – the whole thing is completely algorithm-driven – without a computer permanently (hundreds of times a second) checking different parameters from the sensors and adjusting the motors it just would’nt fly at all, it would just fall down like a stone.

About holadiho

This entry was posted in Arduino, Drones, Raspberry Pi. Bookmark the permalink.

3 Responses to Drone with Raspberry and Arduino/Multiwii (part 1)

  1. Gauthier says:

    I m currently studying in an engineering school (year 4) and my team and myself (we are 6) are doing this kind of project. I was wondering if i could ask you some questions, especially about how did you manage the connection between GPS and raspberry and then have sent the informations to the multiwii (i mean, the drone follows raspberry’s instructions to reach the position you need).
    Sorry for my bad english and thank you.


  2. Krasser Beitrag. Jedoch man muss betonen, dass man sich nicht immer auf die Einfachheit der Dinge verlassen sollte. Realismus ist oftmals besser als Wolkenkuckungsheime. Alle Liebe https://quadrocopterversicherung.com


  3. Rohit Singh says:

    can u plz send me the video of full connection of raspberry pi with the controller for drone?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s