I control the car to some distance (200ft or so) from me ('home') and flick the switch and then the car turns to the left and keeps on doing so in a never-ending circle? With RTL set to 0 it does the same seemingly ignoring the waypoints?

Anything I'm overlooking or suggestions as to what might be wrong? Is there an easier way to quickly test that the navigation function is working?

BTW, should the altitude be set to 0 on a ground vehicle or should it be ignored?

Yes, I know there are some users who do not require higher resolution for landing using the ArduPilot but those are usually lighter, forgiving airframes that can withstand landing with plus or minus a meter or two accuracy.

The basic code worked fine for me in a RC truck. It is a crawler so it only goes a few mph.

I did not run the throttle through AP but I did plug a servo into Out 1 so that AP would see a load on that pin. This kept me from having to mod the code that looks for status on that pin or the altitude hold. This servo did not do anything except function as a dummy load. In 1 was not connected to anything.

For WP mode I decreased the WP window from 30m to 10m so that I could use a smaller distance between points. Be aware that in WP mode it will cycle through your points then go to the RTL point (WP0) then start over. So you need to boot the AP in a location that the car can run through as part of the route of your WPs if you want to let it cycle multiple times.

In RTL mode it would always return and it would eventually establish a circle around the point. Sometimes it would over correct and cross through the circle. This usually resulted in the circle switching directions. (CW vs CCW) With some PID tuning it would probably be possible to always remain in a circle.

The little button is a reset, to manually reset the board if you need to restart the code. We never use it (unplugging the power does the same thing) but people seem to want them with Arduino-compatible boards, so we included it to maintain full compatibility.

I started with the defaults. The circle had roughly a 15-20 foot radius. Later I briefly played with increasing the steering gain and the p value. Don't watch the individual servo movement to closely at first. The 1 Hz updates can make the path look very rough when you watch closely but if you are watching from a distance the path will look smoother. Once you are familiar with how it responds as a system you can start looking at how the elements respond. Just change one thing at a time with the gain or PID and see how the response changes. You can then get an idea of how each item changes things. The nice thing about a car is that you can quickly make changes, upload it, and test it. While the actual values that drive a car will not translate directly to a plane, the concepts that you will see in action should allow you to tune the response system in a plane in less time. A friend that is also playing with these joined me during lunch in a park near our office and we went through several tests in much less time and space than it would take to do the same tests with a plane. Also since we could see the car up close it was possible to see how things were working much better than you can in a plane. Think of it as a magnifying glass for watching how AP steers.

Excellent, thanks. I'll try it out today, I think not having the dummy servo might be my problem as there was no response from the AP other than the MUX turning on and off.

Thank you too Chris, what happens when the AP gets to a bit of code that it can't understand or execute, does it stop or go on to the next bit of code? Also is there any visual indication of an error on the AP such flashing LED's etc?