Gadgeteer and GPS

I’m sure most of you remember the fun I had in the past trying to get GPS to work with a Gadgeteer board. It went something like this: :wall:

Well it was always thought the power was the issue. Noise on the line and such, so after a long time of having given up I decided to have another go with the G400HDR. After all I can control the power supply on that. I don’t have to use a Gadgeteer power module and I can make sure its a nice clean supply.

The power isn’t the issue. It’s EMF from the board. How do I know? Lots of testing. If I hook up a GPS with 1PPS indicator light to my power supply I get a lock in seconds. If I put the same power to the HDR and hook up the GPS, bye bye signal.

Still sounding like a power issue, right? Now if I hook up the GPS to one power supply, and wait I get a lock. Next I’ll connect the HDR to a completely separate supply and NOT connect the Rx/Tx lines. Oh look, lock is gone. Turn off the HRD, hello lock.

Next test, same thing but put the HDR inside an aluminum lunch box. Lock persists.

Ok one more test. Connect a Gadgeteer power supply to the HDR. HDR in the box, power supply outside. Connect the GPS to the HDR. Lock! Yay! ;D

So, I guess now I just need to create some kind of shielding to go around the HDR with the limited tools and skill I have. :open_mouth:

At least I know I can make it work.


Interesting. I just noticed that the G400HDR is now labeled as “obsolete” in the store. I assume this means there’s something better on the way. Perhaps someone at GHI already figured this out? I would assume its coming from the mainboard and not the SoM since it has been FCC certified.

Good detective work!

Thanks. :slight_smile:

I’ve gotten it to continue to work on a Raptor (same setup) all the way up to GPS + compass + 4.3 LCD + SD + RTC + TouchC8 + WiFi. Though the power drops off pretty fast in that config…gonna need a bigger LiPo.

The seeed GPS module was not a good module, which is why it was discontinued a long time ago.

I think that’s the GPS module I have…I haven’t touched it in ages, but as I recall the biggest issue I had was that it was pretty slow to acquire a lock. It worked though.

I have both the Seeed Gadgeteer module and the Adafruit and can confirm that, by comparison, the Seeed module is pants. Even using an external antenna the Seeed module is very temperamental about grabbing a lock. The Adafruit on the other hand is as solid as a rock.

I assumed @ Skewworks was using the GPS module that he built a while ago.

I have 4 modules actually. Seed, Eric’s, mine and Adafruit.

The last is the one I have working. But I haven’t tried the others in that setup yet. I know mine will get a lock eventually on just about any board but I’ve seen it take up to 10min on Hydra.

I’ll get around to more testing.

It’s nothing to do with the GPS engines and all to do with the EMI emmisions (both conducted and radiated) from the NETMF modules. GPS signals are really, really weak and easy to jam. I had a project using the G120 and a Fastrax GPS engine. To get it working reliably I had to move to a 4 layer board with dedicated power planes, put the G120 inside a screened can, filter all IO lines going in and out and add some extra low value(high resonant freq) de-coupling capacitors. Even after all that the TTFF was slower with the G120 powered up and the position fix was degraded too. The biggest improvement was when GHI released new firmware with lower idle power. It’s pretty hard to diagnose this as the interference is so low you can’t see it on most regular spectrum analysers. I had to use a SDR radio and a probe antenna to measure the noise floor. With this I could easily see the effect of the G120 lifting the noise floor by a good 20dB in the GPS band and see the effect of the CPU load on this interference.

This isn’t just a GHI issue. To put this in balance I have had problems with other boards such as the BeagleBoneBlack jamming a SiRF Star IV USB GPS. Basically once you start to get to the 100’s MHz clock speeds, this sort of thing becomes a big issue and it’s hard for manufacturers to eliminate it without massively increasing the cost of the boards.

Obviously some GPS engines are more ‘sensitive’ than others, but they achieve this by using longer averaging on the received signals. In some circumstances they are averaging over many seconds to give a fix. This translates into poorer dynamic tracking. It’s definitely not a free lunch.

All this shows how impressive modern mobile phones with multiple GHz clock rates are. Even in those you can see a degradation to the GPS performance compared to what you would expect to get from a stand alone GPS. They get around this to some extent by getting ‘aiding’ data from the cellular network, but they still suffer a bit.

My advice to hobbyists using these boards with GPS is to physically separate the board and GPS engine as much as possible. Either by distance of using a metal box with filtered power and IO lines. Simply adding a 200 ohm series resistor (possibly with a~10pF parallel SMT cap) in a UART line can make a big difference.


@ hagster - excellent post

Pretty much everything I build now a-days has a GPS receiver in it. I’ve used a wide range of vendors over the decades but have been very satisfied with uBlox products for the last 5+ years.

I’ve used them with Raptors and Spiders with no issues. Their evaluation modules are really well engineered and modestly priced (in the $200 USD range). Their technology continues to get better and better and I’ve been able to drop in their latest hardware with no changes to my software for at least the last 3 generations of their technology. At this point, I can get a fix from 12+ satellites in less than a minute with a cheap antenna indoors sitting on the workbench by my desk. They have both RS232 and I2C interfaces and I have used both depending on the project.

I typically use them inside the little aluminum enclosure they come with which helps with EMI/RFI but the chips themselves live in a shielded module and are pretty noise immune even without the external enclosure. Several vendors sell smaller, cheaper modules based on the uBlox chips if you need to go that way, but you usually get what you pay for. Just Google uBlox GPS module and anything that is -6 or later should work great. You might want to check them out.


I liked the ‘MakeTracks’ GPS module that @ ransomhall made and sent him a 4.3 driver for it as its still my first choice for GPSing with Gadgeteer.

1 Like

Thanks for the pitch Blake. I did a prototype design using an updated GPS module with an active external antenna. IT’s the same module as the adafruit ultimate GPS. This solves the EMI problem by moving the antenna far enough away from the micro, but uses slightly more power (~30 mA). It improves initial satellite seek time and is more accurate. It is also optional - the onboard antenna still works if you don’t hav the interference problem. I keep promising to make a batch, but there always seems to be some other project with a higher priority (top of that list is an overdue one for Gary).

[quote=“ransomhall”]there always seems to be some other project with a higher priority (top of that list is an overdue one for Gary).[/quote]I guess that explains the email I got from Gary asking if he could borrow some of our black suited goons to help someone remember their promises, I thought initially it might have had something to do with Gus and request for vacation time or something.


@ ransomhall - I’ll be first in line for the new module when it comes out. :slight_smile: