GPS to spark core

i want to connect a GlobalSat EM406-A gps receiver, but i have no luck it’s not working.
i have connect it with, (gnd, vin, rx, tx)

If you like us to help you, you really need to provide more information. Just ‘connecting’ an LED won’t make it light up either. You need to drive ti with some sort of software. The same goes for the GPS module. If you want to make it work, it most likely requires some sort of library. It’s probable that there’s already one available for Arduino, but that doesn’t necessarily mean that it’ll work on the Spark. It could be that you need some level of porting to get it to work. That’s stuff we need to know in order to be able to help you.
What have you tried thus far? You’ve said you hooked it up, but have you tried to run a complementary library? What exactly “doesn’t work”? Have you got it working on a normal Arduino? We really need more info, other than “it doesn’t work”.

okay okay. this GPS works through the spark core using the TinyGPS library to capture its location. i havent tried anything other than connecting it with the spark core which is not successful. i have tried connecting it with the VIN of the GPS to the 3V3 of the spark — NOT SUCCESSFUL FOR 5+ HOURS — VIN of the GPS to the VIN of the spark — NOT SUCCESSFUL FOR ANOTHER 5+ HOURS.

i havent tried flashing the tinyGPS with the spark connected to the GPS. i have followed instructions from many users yet not successful. this is the final major piece of my project. after this just LEDs Buttons battery will be left.

First of - you’re right Core Vin -> GPS Vin and Core GND -> GPS GND.
For RX/TX you have to be careful to watch that Serial1 RX/TX on the Core are 3.3V and on the GPS RX/TX are 5.0V, so if you connect Core RX to GPS TX, you’ll blow your RX pin, if you don’t do level shifting.
You might be better of with Serial2 (D0/D1), if you don’t want level shifting - although this would be the safer way (e.g. via the Shield shield).

How can you tell it’s not working?
What is the expected behaviour on power up without satellite sync?

The fact that the red LED is not blinking might not be enough to actually tell, that it isn’t working.

As mentioned in the other thread, you will not get a (stable) satellite sync inside a building.

Try to communicate with the module via Serial2 - have a look at the datasheet for commands and expected response.

Hi @paolosofio01,

I got one of the Adafruit GPS modules connected to a core very easily, and you should be able to see something over Serial fairly quickly if the module is connected and powered properly. Make sure you didn’t reverse the TX / RX pins, and that you’re using the correct Serial speed / configuration. Try just reading everything from Serial1 (hardware serial), and dumping it to Serial (USB serial), and monitor it with the spark-cli with:

spark serial monitor

The Adafruit Ultimate GPS board took something like 5-8 hours to initialize when it was indoors with a bad view of the sky, so maybe once you get Serial output, try letting it sit like… half a day. :slight_smile:


It is important to differentiate between:

  • Receiving and decoding the NMEA messages, but there’s no fix
  • Not receiving the NMEA strings at all or only mangled versions

The first one can be because there’s no fix (indoors == bad) but shows you have everything hooked up correctly, the second means that something is not hooked up or configured correctly.

Try to figure out which category your setup falls into.


Can i just ask, ive seen the datasheet of the adafruit gps module and it uses MTK3339 and as far as i know it also needs 5V right? Can you send me a picture of the GPS connected to the core? Since i thought its just the same as the pins of mine (GND, RX , TX , VIN)

Hi @paolosofio01,

I don’t have it in front of me, but it is essentially just power, ground, and tx/rx. Just make sure you’re using VIN and powering the core by something that supplies enough power (good usb cable, good power supply) if the GPS module needs 5v. :slight_smile:


I have a question, i want to make it portable but i have limited resources, is there any way that i can get 5V for the gps that is a battery?

If you have time can you send me a picture of your project maybe?

can i ask, i found several GPS here but i want to make sure which of these one is compatible for spark core?


these are all data sheets for reference. kindly take sometime to look at it, it’ll be greatly appreciated.

thank you! :smile:

Heya @paolosofio01,

I bought one of these and it’s working very well on my core:


The data sheet says that it can be connected to 3.3V-5V so to what pin did you connect it to the spark VIN or 3.3V? Thanks!

I think your original one works. You said nothing after 5 hours. I think you are meaning no FIX but then you were told it does not work inside the house.

Connect it up again and confirm you are receive any data on the RX input to the Spark and if so, take it outside and see if you get a fix. If not sure, print out the received data to the serial port. You can then confirm if the BAUD rate etc is correct.

I think you are chasing ghosts with the voltage issue.

With a new GPS with no ephemeris or almanac data, it will take around 5 mins to get a good fix. With the Spark on the Internet, you can “assist” the GPS by downloading the almanac and loading this to the GPS. Some GPRS receivers have this capability. Worth checking if the 5 mins is an issue. After this and as long as the last known position is less than 500 miles it will lock in quickly.


hmmm wait, the first problem is that where am i gonna connect the gps to the spark core? through the VIN or through the 3V3 when the spark is connected to my laptop via usb?

Since the thing is 5V tolerant, you can plug it into the Vin pin, like we mentioned before. This pin is normally used to power the Core, but if you’re doing so via USB already, it can be used as a supply.

so Vin will do for the 5V connected to a laptop? how about connecting it to a 220V power outlet?

i may buy a new GPS but now its power Vin is 3.0V-5V, in this case do i now can connect it to Vin truthfully?

Basic math: 3.3V-5V does include 5V. So yeah, if you have a sufficient power supply you can use 5V. You can even make a hamster spin a wheel to generate those 5V. The Spark doesn’t care where it comes from as long as the amperage is sufficiently high, and the voltage is within range. It doesn’t know whether it’s from a computer or a wall outlet, the only thing the Spark will notice are the electrons flowing.

New GPS; 3V-5V STILL includes 5V. If you’re working on a thesis project for this, and can’t figure out the range of a voltage, then maybe, just maybe, your ideas outreach your capabilities. Having said that; yes, you can power that new GPS using the Vin. In actuality the Vin provides around 4.7V, as is mentioned here somewhere. Just for the sake of having said it; yes, 4.7V is also included in both 3.3V-5V and 3V-5V.

1 Like