@others:
I am up and flying for the past week or so. I haven't posted anything because right now I'm just learning how to fly it...focusing on getting to a steady hover 2-3 ft off the ground. 55% gain seems to work well for me. Making good progress, but it is definitely a process of baby steps.

It turns out that a plastic coat hangar can be used to repair a broken landing gear in a pinch.

BR while I was waiting for Ken to ship me a new set (Thank you Ken!) I went down to Lowe's and bought a 6 foot length of 1/2 inch wide by 1/16 inch thick aluminum bar and bent, shaped and drilled them myself. I even added a little height to the existing platform.

I just want to thank everyone at parallax and everyone on this forum for being so "open". Here is my variant of the elev-8 frame made out of 1/8 and 1/4in lexan that i can get down the street at the local glass shop, and some 1/2 in aluminum tube from lowes (i can't stand waiting for materials to ship). In 7 to 21 days (ugh) i will get my parts from HK and be crashing it like a pro! Its been about 6 years since my last R/C heli flight, but hey its like riding a bike right? Maybe i should be working on an auto parachute while i wait, ha!

I just want to thank everyone at parallax and everyone on this forum for being so "open". Here is my variant of the elev-8 frame made out of 1/8 and 1/4in lexan that i can get down the street at the local glass shop, and some 1/2 in aluminum tube from lowes (i can't stand waiting for materials to ship). In 7 to 21 days (ugh) i will get my parts from HK and be crashing it like a pro! Its been about 6 years since my last R/C heli flight, but hey its like riding a bike right? Maybe i should be working on an auto parachute while i wait, ha!

Hey skynugget - welcome to the crash demonstration show! The ELEV-8 design is indeed open and all uses are welcome. Anybody can make these, anytime, for any purpose (personal or commercial). We have only support for such efforts and that's why the drawings are stamped with Creative Commons. Our interest is in the processor mounted on that shiny blue board on the third photo.

You'll be a fine pilot. Nick at Parallax has something around 80 flights logged on his SPORT board, with only a crash here and there. I'm somewhere in the same range. The crashes with these are very forgiving - a broken propeller, snapped landing gear, etc. Ask the other guys for their opininon too.

It's no mistake that the ELEV-8 could be built out of other materials. Up above you've seen Brian Carpenter's thin plywood. And now you've made the clear version out of Lexan. The simple sandwich design can accommodate a bunch of different material choices.

Welcome to the action. We hope to hear of positive results using Jason's code in the very near future!

I'm attaching the latest versions of my flight code for the HoverFly Sport / Elev-8 combo, along with the GroundStation software to configure the settings (both the executable and source).

The three attached files are:

1) QuadX - HoverFlySport.zip - This is the package containing the SPIN / PASM flight software that you compile in the Prop tool and upload to your HoverFly board. The top object file is called "Main - HoverflySport.spin"

To use the flight code, load "Main - HoverFlySport.spin" into the Prop tool. Choose "Run -> Compile Current -> Load EEPROM" (F11) to program the board. I've made the settings comparable to the defaults for the firmware that ships with the Sport board, so your radio settings should be interchangeable. The gain switch does NOT control your gain or altitude hold at this point. Toggling the gain switch flips between "raw" gyro readings and readings that have been additionally low-pass filtered. With the latter setting, there's a little more oscillation when you make rapid control changes, but it will handle a noisy gyro better.

To use the GroundStation program:
Run the executable. There is no installer 'cause there's nothing to really install, though you will need the .NET 2.0 framework installed. Any reasonably modern Windows machine will have this already.

Once your Hoverfly board is running the supplied SPIN program, connect the board to your PC with a USB cable, then run GroundStation.exe. The first tab of the program should start showing gyro readings within a few seconds. Hopefully they'll be a nice flat line, centered very close to zero.

Switching to the 2nd tab, you can change the control sensitivity, frame config, and PID values. I don't have a "nice" way to set the PID numbers just yet (like the gain on the supplied Sport firmware). The values provided should work for the Elev-8 platform. If they don't, change one number at a time, and change it by roughly a quarter to half of its present value at a time, either up or down. So, if it was 10,000 to start, change it to 7000, then 5000, then 4000, etc, if you're trying to make it less sensitive, or 13000, 17000, 23000, etc... to make it more sensitive. Tuning the PIDs is an ongoing process, but they're reasonably forgiving when you're in the right neighborhood.

On the 3rd tab you'll see the temperature drift calculator. This isn't a necessary step to use the code, however it will make the code perform better in situations where the quad experiences temperature changes over the course of a flight.

To compute your temperature drift, start with the quad being very still. Point a hair dryer at the quad long enough to raise it's temperature a bit (you should see the dots moving across the display - it usually only takes 5 to 10 seconds). You'll see the lines on the graph move around and fairly quickly settle down and stop moving. When the lines and values aren't changing much, write them down. Open the ITG-3200-Sport.pasm file, and near the end you'll see these six variables:

Code:

'' Variables for dealing with drift / division
tempDivisorX long 0
tempDivisorY long 0
tempDivisorZ long 0
tempOffsetX long 0
tempOffsetY long 0
tempOffsetZ long 0

Change the numbers to whatever you've written down and re-program the eeprom on your Sport board with the new values. Once it's reset, if you perform the same routine with the hair dryer, the lines should stay very flat as the temperature rises, meaning the code is doing its job.

If anyone has any questions, you can ask them here, or feel free to PM me. I hope to make the PID settings easier to deal with, as well as making the temperature drift stuff something that can be programmed like the settings, but I wanted to get a first version of the code out there for people to try.

One extra detail:
The gyro display has a couple columns of numbers that aren't labeled. They are Minimum, Maximum, Average, and Variance. They represent the min, max, and average readings of your gyro over the entire display, and the variance value, which is, on average, how far FROM the average each gyro reading is. If your board is stationary, the average value should be close to zero, but the variance value is the most important one - it should be very small. Mine are usually 0.2 or less. Anything less than 3 is probably ok.

Hi Jason I am having trouble with updating the board from the ground station program. I have to admit I've changed one thing with the ground station source so it will see COM17 (My Hoverfly board) and because I have multiple Propellers
connected to my system, here is what I changed -

As you can see from the pixs posted I have a connection. The left front motor seems to be slowly shutting down after a few seconds. What I would like to know is the proper gyro configuration for the Hoverfly board 0?

Edit: I have tried all 3 configurations in the Propeller source and also have reloaded the Hoverfly sport program to verify everything is ok.

The gyro in the middle (the default code setting) is the right one to use for the sport. I'm pretty sure the gyro orientation setting is totally ignored by the Sport version anyway. Have you tried just programming the sport from the Prop tool and not changing anything through the ground station? It's possible there's a bug there because I haven't re-tested that code recently.

If you program from the Prop tool it should just work immediately. I assume you have no trims set on your radio or anything?

When you say the motor is shutting down, slowly just spinning to a stop? If the gyro is moved during arming it would have a false zero value which could lead to that, but your gyro readings as posted look fine. How long does it take to happen? It could be trying to tilt if you're spinning the props but not actually lifting off, and trying to correct harder when that does nothing. If you hold it above ground at arms length and spin it up does it still do it?

Jason the first problem I ran into was the ESC's still beeping after power up and couldn't get the unmodified ground station to connect with the Prop. So I only modified the one line I have commented above then I could see everything. I did originally try everything unmodified. Since then I have changed the ThrottleStartUpTime from 0 to 1 in the Prop code to keep the ESC's from continueing to beep after powerup. Even though I see active gyro readings, whenever I click apply settings on the second screen it returns in less than 1/2 second with the message "Eeprom write succeeded - rebooting". When I rev all 4 motors up to about hover speed it takes ~20 - 30 seconds before it slowly winds down to a complete stop and the platform is not being moved at all during startup.

Edit: Don't worry Jason this will give me a challenge! I will wait and see if somebody else tries this.

That's very odd. My ESCs are set to use about 1.1ms to 1.9ms as their curve, and I have the code set to allow 1.0ms to 2.0ms. Can you tell me what you have your throttle end-point range set to on your radio? Have you done the throttle range set up on your ESCs, or did you just use them "as is"?

I think I have some down-trim set on my throttle, which might also be an issue. Try this: Program yours using the Prop tool, then if the ESCs are beeping on power up, try adding some down trim into your throttle channel and see if they stop. I think mine is set to about 1/4 of its range, maybe a little less. If you can get them to stop beeping by doing this I may have to change the throttle range in the code a little.

Any changes you make write all the program changes to the quad, so if the bug is in the programming itself, that could be causing your weird behavior. (So far everything you've said starts with "So I programmed it with the ground-station and..." which is making me wonder if I botched that) If you look at the bottom of the file "Main - Hoverfly-Sport.spin", you'll see all the settings there. If you want to change your throttle startup without using the ground station, set the number in the file to the number of 10ths of a second you'd like it to hold full throttle on startup for.

Is it responding properly if you twist or tilt it while the motors are spinning? And I checked the code - The one-line mod you did to the GroundStation is fine.

My throttle endpoints are set to 100% and I am getting 1106us throttledown signal. I have done the throttle range and programmed all the ESC's. It won't hover as it leans toward the front left. When holding by hand it feels like it is trying to correct properly but the front left. As I said in the email I replaced that motor last night so I think that is where my problem lies. But the Hoverfly sport code works.

I could understand it tilting a little bit, but if over time it's spinning down and stopping completely that doesn't make any sense. I can't think of any reason that the code would be outputting radically different values for that one motor. If the motor was bad it'd spin slower, but it wouldn't eventually stop like you've said it does. Is your battery low? If that one ESC has a higher low-voltage cutoff, it could cause that. (I don't think that's it, but again, trying to get the obvious ones first..)

In the code, there's a line that tests the gain channel, and if it's < 0, enables the filter. Try changing that statement to be just "if (TRUE)" or "if(FALSE)" and see if that makes any difference. It's possible that your setup is noisier than mine, which could cause issues. Enabling the filter might help.

When I get home from work I'm going to go re-flash mine from the zip file and make sure it works, just on the off chance that I messed something up while packaging the code.