Raspberry Pi is a superpowerful and popular new computer board, like Arduino but with a much faster processor and built-in video. It's not really designed for "physical computing" with lots of I/O like Arduino, and it's not open hardware so you can't make a version optimized for any particular task, so it's not a natural candidate for an autopilot. (It also runs Linux, which isn't a real-time operating system).  Nevertheless, Matthew Watson hacked together a PCB to work with the Raspberry Pi board and got a quadcopter to fly.

From Hackaday:

It was bound to happen sooner or later, but that doesn’t diminish the awesomeness of [Matthew]‘s Raspberry Pi-powered quadcopter.

[Matthew]‘s quadcopter is similar to all the other flying drones we’ve seen before with one important difference – all the processing, from reading the gyroscopes to computing exactly how much power to give each motor – is handled by a Raspberry Pi. This task is usually the domain of a microcontroller, as these calculations need to happen in real-time. The Linux distro [Matt] is running on his Pi has a lot more overhead than a simple AVR or ARM microcontroller, so doing everything that needs to be done in real-time isn’t guaranteed. With a bit of clever programming, [Matthew] managed to make sure all the necessary tasks were taken care of in time. It’s still not a real-time operating system, but for this project at least, it’s good enough.

Since the Raspberry Pi in [Matthew]‘s quadcopter is much more powerful than a microcontroller, there’s plenty of head room to SSH into the ‘copter while it’s flying. There may even be enough processing power to stream video to a web server; we honestly can’t wait to see what [Matthew] does with his flying Linux computer in the future.

You can check out [Matthew]‘s code over on the git or watch a few flight test videos over on his youtube.

Views: 60894

Comment by Maxime Carrier on December 1, 2012 at 10:37am

Linux may not be real time, some distribution are : http://en.wikipedia.org/wiki/RTLinux

It's still possible to attach a daughter board to get more I/O.

Comment by Pat Hickey on December 1, 2012 at 10:44am
He's timing the IO and control loop using a Linux user space timer signal. It isn't hard real time but it is apparently good enough when the processor has enough spare cycles. PWM input and output use an external PIC microcontroller. Kudos to Matthew for an excellent hack.

Comment by Roberto Navoni on December 1, 2012 at 11:05am

Yes that's the tricks :) I doing a lot of test on VR Neuron , on possibility to use the GPIO sofware as PWM but with ArchLinuxArm there are a lot of probelm on pwm timing .... On Neuron there are available 4 PWM output and i can try to use it to doing a good fly and could also use spi for use the sensor ... but i think that is better us VR Brain as main control for fly and neuron as add on :)

That's same architecture of AR Drone. a cpu for attitude and motor control and other for video compression and web interaction .. or other add on as Node.js




Comment by Matthew Pitts on December 1, 2012 at 7:02pm

A friend of mine pointed me to the Hackaday link for this, and it's a nicely done hack for certain.

Comment by Jack Crossfire on December 1, 2012 at 9:00pm

How much custom software are you going to write to bit bang the GPIO's on a single run Broadcom chip designed for set top boxes? 

Comment by Elkyn Fagua on December 2, 2012 at 11:34am

congratulations friend, is seen to be an excellent board,,, shame that is not free hardware ... would be interesting to work on it ..

Comment by rahmandani herlambang on February 17, 2016 at 10:37am

I had a raspberry pi 2 and controll KK2.1.5 flight . in this case I want to control KK2.1.5 with raspberry pi with his running through my labtob . whether from you guys can help me ? , I am very happy if these problems there are willing to help and share knowledge to me .


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

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service