Raspberry pi Quadcopter moved to PI Quad
Arduino Copter
Hardware consists of:
Arduino Mega 2560 (will work on an uno(possibly even a nano) with pin adjustments, I just needed more ground pins and had a mega lying around)
invensense 6050 mpu
4x 20 amp esc's
4x1500KV 29g Keda 2205-34 motors (83 watts max or around 300g of thrust each)
4 channel 2.4ghz radio system (transmitter and receiver both are 6 channel but not added the last 2 yet, given how the code works it might not be a good idea)
Bluetooth
8 Pixel Neopixel Stick
TBA 6M Ublox gps module
Batteries are 4x1300mah 2S lipo's

with a hover current around 6 amps would be a hover time of less than 13 mins.
Maximum current the motors can take is 12 amps.
Maximum speed calculation 1500kv*7.4V*4.5inches(pitch of props)*0.5(horizontal power at 45 degrees)=24975(inches per min)*2.54*60/(100(cm per m)*1000(m per km))=38.0619(km per h)*0.621371192(miles per km)=23.65 miles/hour
Time at max speed=6.5 mins
Update frequency is locked to the radio refresh at 50hz.
Controls for pitch and roll are an angular offset from the flat hover position
Code is availble here: Code it uses the i2c library for the 6050 available here: i2cdevlib (although if I upgrade to the 9250 I might remove that requirement)

16/06/2015
Been doing an overhaul to test some things, Replaced the frame with a smaller one and replaced the arduino mega with an arduino nano (I removed the code for the neopixels/bluetooth & the equipment). I also extended the frame by a few cm so I could use the 8" props.
Rewired everything and I've ran a quick test to make sure its functioning (without the props, I need to do some tidying up of the wireing so the props dont hit any wires).
Weight seems to be down to around 780grams from 1050grams previously. (batteries 300g, frame 149g so rest is 331g)

4/1/2015
Another test today, found it was dipping on one arm again (so changing the 5v power distribution didnt help).
I swapped 2 ESC's over as I read on a forum it can be a badly soldered connector, tried it again and the problem went away (its possible the problem is still there or reconnecting those 2 arms has improved the connections, will have to keep an eye on arms 1 & 2).
Total flight was one of the longest I've done (but keeping it close to the ground just in case), 5-10 mins didnt actually time it, but one of the ESC's low voltage cutoff kicked in. The one battery was about 1v below the others, but I hadn't fully charged and I used a faster but possibly malfunctioning 4 year old charger, must replace it at some point, but will charge with a slower but seemingly better working charger and do another time test
Also watched how the magnetometer was coping at the same time, apart from the slow 10 degree wobble, seemed fine (I think I know what's causing the wobble, just trying to figure out a good solution to it)

28/12/2014
Did a quick outdoor test as I've not tried it for a while (or with the new radio), managed to stay in the air for 30+ seconds (didnt time myself, but resonable given the confined space) keeping it 50cm-1m off the ground
Looks like I've got the correct angle from the magnetometer (seems to wobble +-10 degrees but generally reliable at least when not upside-down) seemed to just be the sign/axis being not quite correct, used it to make an error correction to the gyro yaw values (using the Neopixel stick to debug the magnetometer and a little help from bluetooth).
I might have a go at adding the GPS unit if the Magnetometer keeps going (on the plus side it seems to use NMEA over the serial port which I handled like 10 years ago on an ipaq :)

25/12/2014
Quick test shows the radio's working and so is the rewireing (tho its gained a number of jumper cables, I might have to solder a better solution)
On the plus side, the magnetometer code "seems" to be working (the pi code was based on the same code the arduino one was based on, but it seems I made quite a few changes between the arduino and the pi)
23/12/2014
Rewired it using a breadboard and swapped the receiver for a 2.4ghz one I had spare (wanted to use it for my ground unit, but as the PI-A seems to no longer start up, nm). Will have to adjust the receiver calibration in the code and check the wireing tomorrow

6/12/2014
Added a Neopixel thing to the arduino quad, but the quad is misbehaving, the IMU seems to stop functioning not sure why (might be too much power required for all the devices connected to the arduino). Only fails with the magnetometer on, but that works fine when connected to my computer via USB (something strange going on there, but the IMU is powered from the Arduino perhaps I should change that).

27/10/2014
Been looking into lots of things, had another go with the ultrasound, not much success (about the same jitteriness as before, but perhaps combined with accelerometer data it could work)
Lots of investigation into the magnetometer on the 9250, pretty complicated to work with, no real success, but knowledge gained I guess (managed to do basic calibration - center and scale)
Analysis of raw accelerometer/gyro data so I can detect upside-down better + using the accelerometer to stabilise height (looots of success there :) but I think the magnetometer is a more reliable upside-down indicator, just not figured out the maths and its not part of quad1 ). Unfortunately this results in the code too large for the UNO/Nano (but I may optimise it so it'll fit). Need to check the Gyro units from the 6050, they're not quite as I expected (need some debug data, which means either enabling bluetooth again or powering the arduino from my computer)
Quadcopter 2 is on the way, Afro 30Amp simonk compatible ESC's 150watt motors (almost double the 80 watt ones on quad1), The ESC's are reversible (now I've reprogrammed them), so upside-down flight should be possible (as well as better rotations on its axis)
Raspberry PI+Navio Board, GPS+Barometer+Accelerometers+Gyros+very extendable. Using the Barometer to assist the accelerometer should help stabilise height, using GPS will well lots of possibilities there. The raspberry PI will of course give me access to lots of libraries and a much higher CPU power.

03/10/2014
Adjusted the yaw correction, seems the power levels were way too low to have much of an effect. Tested it indoors (holding it above my head :p) it's now yawing correctly and holding the yaw using the gyro only so probably a small amount of drift in it but way better than it was.
29/09/2014
Took the coins off the arms I had taped on to balance the craft, gave it a quick test seems to now be stabiling correctly even without them :)
27/09/2014

20/09/2014





19/09/2014
This page is for my quadcopter experience
19/09/2014
Figured out how to get compass data from an invensense 9250
Might get round to using it instead of the 6050 I'm using at the moment and use it stabilise yaw better.
16/09/2014
Adjusted the throttle curve to be ((((x-50)/5)^3)/20)+50 to allow fine tuning better at close to hover speed.
15/09/2014
Noticed that I had some constraints in place that were'nt really needed, once reduced the quadcopter became a whole lot more stable within the ground effect.
14/09/2014
Played with an ultrasonic distance sensor to see if I could use it to stabilise height. not sure atm, after a couple of tests it didnt seem to help much.
13/09/2014
Video of a test after getting it flying

Between July and September worked on getting the pid working, lots of experimentation. Sorting out the centre of gravity correctly had a big effect on stability.
At some point replaced the frame with a hobbyking x525 one. more secure, and less vibration.
15/07/2014

Email me at moxenham@hotmail.com if you want altered versions of the flight controller