I have two APMs, one is the APM 1 full kit (revision 1.4) and the other an APM 2.5. I've been experimenting back and forth between them and with the same uBlox GPS module hooked to both in the same quadcopter. Loiter and RTL has worked pretty well running off the 2.5 but with the 1.4 installed it seems to want to wander off up to the point where I get nervous and switch back to stabilize mode and bring it back in. Now the testing I've done so far has been in a kind of enclosed area of my yard, once it wanders a good 20-25 feet away I get nervous and bring it back. I have not gone out to a wide open area and seen what it would do if I let it keep going, but my 2.5 stays in place very well with the Loiter parameter set to 1 meter.
Since everything in the aircraft is exactly the same between the tests except the APM, I'm trying to narrow it down to what is causing it and I noticed that the APM 1.4 always shows N (0 deg) in mission planner pointed in whatever direction it is when I power it up, but it does move as I turn it. The 2.5 shows true direction. Since I noticed the compass reading change when I put it together and tested it, I didn't realize until some recent reading that the 1.4 has no compass built in at all? Am I correct on this? What I read is it can't tell compass direction until it gets in the air and the GPS sees it travel, is that also correct? If that's the case, shouldn't the 20-25 feet I'm letting it wander be enough to get it oriented, or not, and am I just expecting this older technology to perform beyond what it can?
Today I soldered the magnetometer using the cable method, and plugged the APM into the computer, The APM would not even power up until I disconnected the magnetometer. I tried to enable the switch in the hardware page of the mission planner, but error dialogs would show up basically for everything I had connected, The Voltage Divider, Airspeed, Magnetometer. I am not sure but I may have got the voltage measurement calibrated, I input the numbers in the calibration boxes and would get a reading on the flight data page, interesting thing though when I looked at the top of HUD the compass rose would turn accurately to the heading I was pointing the APM, (accurately means when I was pointing it north, it was indicating north, and indicated even small fine movements) this is while there is no external i2c magnetometer connected.
What gives? first I thought I maybe just soldered it bad (the magnetometer), the wires are tiny and I soldered through a small part of the insulation, but otherwise it has a good connection that does not appear to be shorted out. Maybe since I did the cable method and have to add to the code which I have not done. But is there an internal magnetometer? How is it getting that accurate heading information anyways?
The airspeed I could also not even click the check box to enable it after some point. also I thought maybe it was because I had uploaded the arducopter firmware, and it does not support an airspeed function. Is it possible that since those pieces are small I got them overheated during the soldering and damaged them?
When I first got the APM I bought a barometer, magnetometer, thinking it didn't have these, and an airspeed sensor. But the APM 1 that I have clearly has a barometer on it, there are even instructions to cover it with something if it is out in the open air. Does it have a magnetometer also? Or do I need this external i2c magnetometer to work before I can fly the QuadCopter!? What am I doing wrong?
Maybe I did just power it up in a north direction, or very close to what is the actual heading, because it seemed right on.
I think I've answered my own question, after more reading it seems like the APM 1 without a magnetometer can only get a simulated compass reading using GPS if it's traveling in a forward direction only, is this correct? So in something like a plane, it would be likely to, but in something like a quad that drifts left, right, front, and back it wouldn't be able to compensate for not having a magnetometer using GPS readings, is that correct?