UPDATE: See the manual.
Hey guys, this is mainly a question for our friends at 3DR, but anyone who has looked at the traces on the APM2 daughterboard, and knows the GPS module, could offer ideas.
I wonder what you'd think about (as a hack, as a revision to the APM2 daughterboard, etc) installing some jumpers or switches to "disconnect" the onboard GPS, as needed. We might also add a battery socket to maintain the almanac, for those who want to accept the extra weight of the small battery, but that is another topic.
I have a small but growing fleet of APMs, some APM1 and some APM2s. However, I never have enough, so I find myself swapping them around as needed. I leave the magnetometers, air speed sensors in place and connect them as needed. Some airframes are better served with an external GPS, but I would prefer to have all my APM2s be, physically, the same. That is, I'm willing to buy all my APM2 with the extra cost of the onboard GPS whether or not I need it, in order to ease my "fleet management" if you will. If the daughterboard were not soldered in place, I might instead get extras, but this approach might work best.
However, I would also like to buy or use uBox and other external GPS units, as needed. I think this represents opportunities for the 3DR and affiliate stores. Many users will purchase the APM2 w/GPS, and some will later decide they want to use an external. Some will buy a separate unit w/o the GPS, but most will not. Most of the population simply live with the existing GPS. However, if there were a switch or jumper(s) to kill the onboard GPS, then casually swapping to an external GPS (and, casually purchasing additional GPS units) is easier. It also allows for subsequent upgrades (opportunities for sales) to future GPS units.
As a hack, are there recommendations on which trace(s) are best to cut and/or install a jumper for an existing APM2? I imagine there are a couple of ways to do this, not all are ideal. Is there any merit to a revision of the APM2 where there is a jumper or switch for the GPS?
Colin - the external works just fine.
I bridged pins #2 (enable) and #3 (gnd) on the onboard module using a 4k resister (first available resister; what value is best to use, something lower? We don't need an onboard heater) and this is the behavior:
From boot, the onboard 3Dfix LED is lit solid. It remains lit solid at all times.
When there is no external GPS, the APM2 fails to detect a GPS present.
When there is an external GPS, the APM2 initializes and detects it, and begins processing data, as normal, beginning with no fix low sat counts until the GPS gets a lock. During this time, the blue LEDs are blinking - but not the onboard blue LED, which is lit at all times while the 4k resister is in place.
So now it is a mechanical puzzle. The ideal solution would use some type of resister (what value is best?) to bridge pin#2 on the onboard GPS to any (which?) gnd point. For the most elegant solution, a jumper or switch would also be in line so you could decide to use the onboard or external GPS as needed. And this needs to be reasonably mechanically sound, because if it falls off inflight, it could result in a crash (I did some testing, I found that post-boot, in the two attempts I made, the first GPS to get a lock seems to win. The other GPS did not seem to interfear, but I would not trust that on two quick [too quick] tests.)
But I still wonder about another solution, of cutting the trace, then soldering in an SMD dip switch between GPS pin #1 (+5vcc) and the capacitor it was originally connected to. Would this switch (which would be straight in line with the between the cap and the pin) when open, prevent the 3DFix LED from lighting? Would it reduce the electrical draw, since the GPS is not powered? And if it falls off when flying with two GPS units, might it be safer, since it will "fail open" and you wouldn't have two GPS units reporting? On the other hand, if you are only using one GPS, if it falls off then you lose the GPS data (which can happen for other reasons.)
I'm not an advocate for this other idea, I'm only asking because I'm curious what you think. It seems like either mod will take a steady hand. The easiest option, still hard, is to permanently solder in an SMD resister between pin#2 and #3, or (untested) cut the trace between the cap and pin#1.
Thanks for doing these tests Mike. I have an idea for the mechanical solution, but I doubt the APM will be so pretty after ;-)
My idea is to take one of the pins out of a two pin male header. The hole in header (from the removed pin) would slide over the GND daughter board mounting pin next to the 3D fix writing- the other pin can float outside the daughter board. This leaves two pins next to each other ready for the jumper. Now solder pin 2 of the GPS to the new header (the one floating). All of this would then be secured tightly in place with hot glue or Shoe Goo (really good stuff).
Then the GPS can be disabled by sliding the jumper into place.
My advice for soldering the pin #2 is to heat it up and add a small amount of additional solder. Then with a small ball of solder on the end of the iron (to conduct heat better), push the resistor into pin #2 while heating the leg of the resistor. This means you don't have to touch the pad while adding the resistor. I'll make a video when I do it later this week if it helps.
If you cut the power line, I believe you will still have the 3D fix light illuminated no matter what. It takes the GPS to be powered up and pulling the transistor high for it to go out. I think it being illuminated could be a good indication that the jumper is correctly seated when you power up- when was the last time you instantly got a 3D fix ;-)
Also, the datasheet says in the disabled state the current draw is about 15uA, so nothing.
The resistor value, I don't know. On pull-up resistors and the like with Arduino, 10k is pretty common. So I would guess something similar here. The 4K seems to have worked well for you, I'd be inclined to just stick with that. You need to make sure that pin #2 is below 0.25v by a reasonable margin.
I think cutting will also work fine, so do that if you're more comfortable. I just don't like cutting tracks :-)
Excellent; I think it would make an excellent blog post, what do you think? I'd love to see some photos and/or a video, if you find time to do this. I would like to give it a go also, but I've packed up my soldering iron and workspace already, and will not have access to them for two or three weeks. If you don't get to it within the month, I can do a hack job of my own. While I believe a board revision from 3DR might add a feature like this at some point, there are a lot of folks who will still have APM2 boards in play. And if that feature is not yet on the table, a blog entry would maybe get the right folks thinking about it.
I totally agree. I'll go ahead and do that, I expect to post a blog in a week or so :)
I own one GPS built-in APM2 and needed to use an external GPS so I unsoldered the GPS from the daugter board and soldered it on an empty MediaTek MT3229 Adapter Basic board and problem solved.
But yes, It would be nice to have the option to switch off the built-in gps and even the magnetometer to connect external ones and place them on different places of the frame to avoid EMI from other electronics and motors.
This shield could be sold as an extra upgrade for previous APMs but yes, you will need to unsolder the old daugter board from the APM2 and then solder the new one.
Think the APM2 was originally designed to have all the necessary stuff in a compact and cheap product, not to be easy to upgrade or mod.
I was originally thinking about de-soldering the GPS and putting it on an empty adaptor board. The jumper sounds like a good idea though for moving it around. Hopefully it won't look too messy.
Did you find it hard to unsolder the GPS? Did you just use an iron and some wick? It doesn't look like there's a huge amount of solder holding it on...
Hey guys, I liked the idea of the jumper, but decided it was going to be messy and I wasn't going to need the onboard GPS for a while (or I was lazy?). Instead I just soldered a 10k 0402 SMD resistor between pins #2 and #3 on the GPS module. The 3D fix light on the daughter board is always illuminated, but this is meaningless. The external GPS works flawlessly. Here's a picture:
I figure when I want it back this is going to be really easy to remove
Unsoldering the GPS was easy but you have to take care with the GND pads because they cool faster and you could rip them if there is solder on them while pulling the GPS out.
I am thinking of trying this. I believe my current GPS is toast. It no longer gets a 3dfix and is pretty much useless. Rather than buy a new APM it would be nice to just spend the money on a GPS.
Are you using this https://store.diydrones.com/MediaTek_MT3329_GPS_10Hz_Adapter_Basic_... as a replacement?
Yes, and don't forget the EM-406/uBlox/MTK Adapter Cable to connect it to the APM