GPS Receiver - GP-635T (50 Channel)

The GP-635T is a slim GPS receiver with -161dBm tracking sensitivity and only 27 second cold start time. The slim design makes it ideal for applications where you don’t have a lot of space to work in. Really it’s quite small. This 50-channel GPS module, based on the uBlox-6 chipset, has an operating voltage of 3.3~5.5V, an antenna on board, and connects to your system via TTL serial. The 1Hz update rate is fast enough for the majority of applications (and can be increased to 5Hz if you need) so whether you’re tracking a pet or building an autonomous car, the GP-635T has you covered!

Not sure which GPS module is right for you? Check out our GPS Buying Guide!

Note: We are carrying the “T” option of this module which is TTL-UART and not USB.

Note: This receiver works with 6-pin 1mm pitch JST type cables and connectors which you can find in the related items below!

  • 35 x 8 x 6.5 mm


GPS Receiver - GP-635T (50 Channel) Product Help and Resources

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

2 Programming

Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels

Customer Comments

  • Hi everyone! How can I test if my module is damaged? I’m testing it with an Arduino with a simple read (Arduino RX) of GPS TX and I don’t receive any data.

  • Sparkfun! you should do an extensive hook up guide for this

  • The data sheet says update rate is 5 hertz, but your description says 1 hertz.

    • we tend to post specs for primary use-case, as firmware updates and hacks can change the specs, especially for GPS. I’ll make a note above that shows you CAN achieve 5Hz.

  • I contacted the company to get instructions on how to change settings, like the update rate, and they sent me a pdf that I have hosted here:

  • Heads up, the pinout for this GPS has TX and RX reversed from some of the the other 6-pin connector GPS’s that Sparkfun sells (such as #465 and #11466. It’s also reversed from the GPS units that 3DRobotics sells for Ardupilot. This can be easily fixed by switching the wires in the connector.

  • Does anyone have a simple tutorial or a guide for a beginner (read newbie) so I can use this card?

    The only article that I found on Google was this ( and it is impossible to see the connections…

    It can be a very simple thing, returning data via Serial Monitor.

  • Good to 50000m nice.

    • thanks for pointing this out, according to Wikipedia, this is enough for most high altitude balloons, with the record being 53.0 km

  • The data sheet for this shows a 4 pin connector for the TTL-UART version, and the pictures show 6. Which cable should I be getting for this?

    • it’s still a 6-pin connector, but only 4 of the pins are used. use a 6-pin cable

      • PRT-10361?

      • Actually, the UART version uses all 6 pins. The pinout chart for the UART version is inadvertently split across the two columns of the data sheet due to poor document formatting.

        I’d like to know the current draw for the backup power that maintains fix data for quicker startup.

        • I measured the power during start-up, 67mA@3.3v. During normal operation, 52mA@3.3v. During backup power, 25uA@3.3v (note: microamps, on the battery line). I also measured about 35uA@3.3v on the Vcc line in backup mode, but I’m not sure if that wasn’t some parasitic drain and possibly Vcc can be disconnected during backup (not tested). Be nice to have the datasheet for the actual GPS receiver part, AMY-6M I think, but it is restricted. Using backup power definitely improves start-up time. About 90 secs cold start (inside a building, weak signals), 12 secs warm start (same location).

    • If you look carefully there are two pins in the next column. So 5 and 6 are the same for usb and TTL, and I think ground and power supply.

      Now where can I get a cable or mating connector?

  • What is the weight of this unit?

  • Have anyone experienced that the GP-635T gives it´s position 1km wrong?

    • Make sure you are reading the coordinates correctly. Some people (sites, GPS modules, etc.) use minutes and seconds where others use decimal. I believe 1km is in the range of the error if you use the wrong one. If you are still having problems try emailing

  • Any chance I could get an all up weight of this module? Anything newer that might be lower total weight in a small package?

  • This unit seems to suck.

    I have another Neo 6m based unit which works fine for me, U-center at all.

    This one comes up at 9600. Once it’s up, i can change settings and baud to 115200, but the settings never seem to save in U-center. I save the config, power cycle the thing, and it comes up back at its default settings of 9600 baud, and everything else.

    Has anyone actually gotten this to work? Or is this all untested?

    Edit: Finally found the answer in the comments. NVRAM is volatile here, and its contents disappear when power is cut. What a horrible, terrible omission to have in the description. Awful, awful, and shame on you.

  • Does anyone know if there is a way to modify the GPGGA sentence format from ddmm.mmmmm to ddmm.mmm There is a quirk in my radio that prevents it from reading anything if there are more or less than 3 decimal places.

  • I’ve found and modified an Arduino library for this. I’ve placed the code here:

  • how i can take the data from it !? can i connect it to arduino ?

  • Hello,

    the datasheet specfies a maximum velocity of 1852km/hr which corresponds to 1000knots, the maximum commercial gps modules are allowed to deal with under US legislation. So far, so good. Both those same regulations fix the operational ceiling of such modules at 60000feet, roughly 20km, whereas the datasheet mentions 50km, so what’s the catch?

  • Has anybody got this working with a Tracker3? I get gibberish no matter what baud rate or mode I select.

  • i have my GPS set up and it seems to work fine with the tiny GPS coding. The latitude and longitude values are accurate and stable but the altitude data oscillates about 20m in small steps when the unit is stationary? has anyone else had this issue?

  • Great little gps! If someone is having trouble with the gps dropping data check this out Basically reduce the loop delay time to accurately read from the gps. This was torturing me for a week.

  • Hello master, can i receive other NMEA header like $GPRMV from this GPS. if can, how to do it?

  • i found this Arduino basic GPS code but the output stops at “please wait…” and isn’t giving me data. Any help?

  • I bought two GP-635T. One always takes longer to get a fix but they work. My problem is that they both reside inside in my kitchen and coordinates fluctuate significantly up to a point where distance between them (calculated from appropriate formula…) varies from 20 to 500 meters, even after a while.

    Next step of course is to test my stuff outside but any advice on stable position accuracy (batteries, 900mhz interferance,…)?

    Thanks, Chris.

  • I’m developing a rover, and I was using a Sirf-III USB puck that would not get a lock indoors. After about 15 minutes of warm-up, this device actually does get a lock, although somewhat intermittently. I wired its UART to a Atmega32u4 and forward the NMEA stanzas to gpsd over USB. I will have 20-60 second periods of “no fix” and then as much time of “3D fix” as viewed by xgps. So, yay for better sensitivity! But it’s not yet perfect.

  • I just hooked up my GP-635T, and left it out under a clear sky for about an hour, but it still doesn’t report a fix, despite listing 13-15 satellites in most NMEA packets. I seem to be getting SNR levels around 20 for most sats, is this what most people seem to be getting with a working setup?

    $GPRMC,,V,,,,,,,,,,N53 $GPVTG,,,,,,,,,N30 $GPGGA,,,,,,0,00,99.99,,,,,,48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.9930 $GPGSV,4,1,15,01,,,21,03,,,21,04,,,21,05,,,1970 $GPGSV,4,2,15,08,,,21,10,,,21,12,,,21,14,,,2174 $GPGSV,4,3,15,15,,,21,18,,,21,24,,,22,26,,,2176 $GPGSV,4,4,15,28,,,15,32,,,23,42,,,2770

    • Here’s the output from mine this morning in case it helps anything. The SNRs seem to be all over the place - 12 to 29 with a few not reporting anything at all. But I was getting good time and position data, even though the sensor is located in the basement of a 3-story building.

      EDIT - the HTML seems to be getting confused by the tail end of the strings and losing the asterisks before the checksum characters. So the first string ends in asterisk 78, the second in asterisk 72 and the 3rd is OK as is

      “$GPGSV,3,1,11,01,42,049,26,04,26,216,16,07,03,175,,08,29,193,78” “$GPGSV,3,2,11,09,25,199,21,11,20,053,12,17,58,299,22,20,32,109,1272” “$GPGSV,3,3,11,24,08,324,,28,81,093,29,32,21,070,22*45”

  • Just by pitch and appearance, it seems like the 6-pin JST connectors you sell marked as for the EM401 and EM406 (e.g. 1, 2) should also work for this module. Is that the case? I’d love to get some connectors in the same order, but I want to make sure they’ll be compatible.

  • Hi, the GPS works perfectly but is it possible to program it to only returns one or two messages, for example just GPGGA? Thank you

    • messages

      I’ve been trying the same, but seems that this version can’t. The same with saving cfg changes on non-volatile mem …

  • Does this respond to alternate (ubx or binary) protocols?

  • Can I connect the TTL serial directly to the UART pins on a PIC or do the signals require inverting? *** Received the GP-635T today. I was pleasantly surprised to find the tiny module communicates when directly connected to my PIC 16F690 UART RXD pin. Scope shows a 3v p-p serial signal which works with my 5v PIC. It had a lock in under a minute indoors.

  • I’m using this GPS device with MSP430 LaunchPad board via UART. When I’m checking the UCA0RXBUF buffer the only value I get is a ‘.’ Does this mean that I don’t have enough signal or my GPS is bad?

    • Same problem here!

      When using software UART, data seem not to be stored in UCA0RXBUF When using hardware UART, we could not even get into interrupt.

      Have you ever figured out how to solve the problem?

  • The connector with pigtails you sell for this GPS has a black wire. Am I correct that this is not the ground wire for this GPS unit?

    • That,s correct. The black wire is the OPPOSITE side from ground. I made this elementary mistake and, though it took a while to debug, fortunately no harm was done.

  • I recently bought this GPS device, I want to interface it with a MSP430 and display. The first step I want to do is be able to print the GPS sentences to a log and display on a screen. Does anyone have an idea of how to do this?

  • Hello, I’m a studend and I work on a project which involves a GPS Receiver to have the position and the speed of an athlete during his train. I would like to know what is the accuracy of this GPS Receiver and on the datasheet, I have read 2.5m, is it right ?

  • I want to build a clock that sets the time/date automatically via GPS. So I don’t care about location information. Is this suitable? Also, correct me if I’m wrong, but I don’t see a connection for an optional antenna. Does that matter?

    • That should work fine; note that GPS date and time is always UTC (Greenwich UK), so you’ll need to add or subtract the right number of hours to get to local time.

      This GPS receiver has a built-in antenna (the large rectangular part), and you’re right, there’s no connector for an external antenna.

      Good luck on your project!

  • Is there a way to limit what messages are output from the module? There’s nothing in the manufacturer’s data about commands and I couldn’t find anything for the Sirf Star IV module. I don’t want to overwhelm the message parser if I don’t have to.

    • You want to use the UBlox6 protocol specification.

      Also, I think you can use the u-center software to configure as well.

      • Thanks! Killed the sentences I didn’t need. Now, do you know whether there’s any way to make settings persist over a power cycle?

        Oh, why don’t you add a link the the U-Blox pdf to the documents section of the product info? I noticed there was a forum question with this same issue.

        • Can you explain how you were able to kill the sentences you didn’t need? I’ve looked through the protocol specification and have used the u-center software but still can’t get it.

        • looks like you’d have to use the related cable and solder the wires to the gs406 connector to use the battery backup feature or the easiest way would be to connect a 2 AA battery pack.

  • Anyone know how to set the baud rate to 4800 and save that in the NVRAM? I can set it with U-Blox u-Center but it’s not storing that in the NVRAM so it reverts back to 9600 when I remove the power and backup battery.

    • I just receive my answer from the vendor.

      “Data in NVRAM disappears as power is lost. It does not help to store data in NVRAM. We are sorry that GP-635T does not support saving parameters permanently. We accept customization if the quantity is big enough.”

      Looks like I’ll just have to set all my gear to run at 9600. Despite this, it’s still a great little GPS.

  • Hi,

    What is the P/N for a mating connector? Is this one OK/

  • The datasheet mentions a checksum but doesn’t tell you anything about it. Wikipedia has a bit of code that calculates a checksum for a given string.

  • GPGSA,A,1,,,,,,,,,,,,99.99,99.99,99.99,*64 is what I receive. Data sheet state that 1 in this group of data means “NO FIX AVAILABLE” what does it means? How do I supply the FIX to the module? How and where could I obtain the FIX?


    • It can take a while for a gps receiver to get a fix after a cold start. It has to find several satellites, possibly by an exhaustive search of code shifts/doppler shifts, and it has to be able to listen to one for long enough to receive orbital status updates (up to 36 seconds for the ephemeris and 12.5 minutes for the almanac!).

      Warm and hot starts are faster because the module can remember some of this information from the last time. Cellphone GPS fixes can also be faster by retrieving almanac/ephemeris updates and coarse location hints over the internet (this is “assisted GPS”, or AGPS).

    • The 1 means it can’t get a position fix (because it can’t see enough satellites). All of those commas are telling you that it isn’t seeing any satellites. Are you in a basement or near a bunch of interference? Have you tried putting the receiver near a window or outside? Are you getting any other messages?

  • I have connected the module and after one hour I still receive useless info (almost all fields empty) Do I have to Tx any info to the module? If yes where to read how?

  • The datasheet has conflicting info regarding the default baud rate. 9600 baud is mentioned a number of times, but in section 1.4 on page 2 the default baud rate is shown as 38400. Which is it?

    • Mine was 9600. Haven’t tried to change it since that’s fast enough (for now, at least).

  • I was hoping to use this for a balloon project so I emailed the manufacturer to check on how the unit handled exceeding the altitude and speed limits. As per the manufacturers reply, the GP-635T uses “OR” logic. If greater than “50,000m” OR “1852km/hr”, the GPS will shutdown. I’ve emailed them back to see if it will automatically recover once it drops back below 50km.

    • Practically every GPS module (legally) on the market today will have one or both of these limits. Definitely the speed limit, sometimes not the elevation limit. Adafruit sells a GPS module (their “Ultimate GPS breakout”) with the elevation limit disabled, though.

      • Every GPS module sold in the US will incorporate both of those limits due to ITAR regulations designed to prevent their use in weaponry. The differences you’ll find are in the way that different manufacturers interpret this ruling. Some will disable the GPS when either limit is broken (OR), and some will disable only when both are simultaneously broken (AND). The latter are the ones useful for high-altitude work, as they’ll still operate above the altitude limit as long as they’re not also exceeding the speed limit.

        • Interesting - of course the workaround to these limits would be to purchase this: and break out the textbooks :)

    • I have flown the uBlox chipset above 100k' and at Mach 3. When exceeding 515 m/s in velocity it stops reporting, and immediately begins reporting again when velocity is below 515 m/s.

      The uBlox factory specs these to 50 km altitude but tells me it will continue to report (though at diminished precision) at higher altitudes.

  • Does any of the GPS family work in murky waters? Muddy waters?? Am seeking to tag an aquatic creature and trace its path… Any help will be much appreciated!

    • The marine animal tracking projects I know of offhand don’t try to track the animal precisely when they’re underwater: they wait for the fin they’re attached to to break the surface (or they detach after a set time and float to the surface) and acquire a GPS fix then.

    • And what of signal attenuation?

      • as with all radio, while under water forget about getting a signal. also remember that only the GPS knows where the GPS is, so if you aquatic creature out of the water long enough get a position, you will have to have a transmitter to sent that data or something to logge it, and hope you can find that creature again so you can get your log.

        • You could check out Inertial Reference System ( It is independent of radio connection or any other external input. You could use a GPS module to set the initial coordinates. The accuracy decreases over time after the initialisation, but if the creature approaches the surface from time to time, the system could be set up to update the coordinates from the GPS whenever possible, and fallback to the IRS when under water. If you also include a transmitter, it could transmit the logs every time the GPS gets a lock…

          I hope your creature won’t mind all these modules, though.

          Just some ideas :)

  • You guys should make a tutorial on to to get a gps up and running

    • It’s not super-detailed, but check here: Also, do a search on “TinyGPS” if you want to do something other than just dump your NMEA into Google.

  • Probably a dumb question, but… if only 12-ish GPS satellites are visible above the horizon at any given time, why would 50 channels be any better than, say, 15?

    • Time to first fix when it has no time or location data and has to find the satellites without any knowledge or assistance (like AGPS - which still requires time and approximate location). When it has Zero satellites locked in, it has to search the entire GPS band at all possible doppler shifts, much like a scanner, and the space is large enough that having the extra channels makes scanning the entire band (and consider if you are in an urban canyon where some are going in and out so might not be seen during the current scan pass). The backup power helps with time and a much faster “warm start”, but only if the satellites visible last time haven’t gone away. Hot-starts - which are like a reboot so the situation is nearly identical are very fast. Cold starts are what really benefit from lots of channels.

      In the way of comparison, the SkyTraq only uses 4 or 2 scanning channels so it can take a long time, but has AGPS capability which will last a week, so if it (battery backup) knows the time and the location hasn’t shifted more than a few hundred miles, it will lock very quickly since it already knows what to look for.

    • As I understand it - the GPS needs to scan for ALL of the GPS satellites in the sky. When they say 50 channels, it basically means it can check out 50 channels at one time, ipso facto, you’re going to get a lock a lot quicker, and be able to keep the lock harder as you move, because it’s not checking one, then the next, then the next, and so on. Someone correct me if I’m wrong??

      • Thanks, 197750. Not having to recycle your channels all the time makes a certain intuitive sense. 50 still seems a bit high, if there are only 35 vehicles in orbit, but maybe they’re leaving a margin of comfort for future launches, etc..

Customer Reviews

4 out of 5

Based on 6 ratings:

Currently viewing all customer reviews.

2 of 4 found this helpful:

Product is a little lacking, product description even more lacking

NVRAM is volatile. Loses all settings at poweroff.

Time to first fix is a little slow.

Shutdown pin doesn’t share the same voltage range as VCC, so you can’t do something simple like tie it to VCC with a resistor to ground. Makes using VBAT way more complicated than it should be.

JST-SH is mildly annoying.

Mighty Mini

The GPS unit is excellent, but remember to order the connector at the same time - no workaround in that respect! Excellent support via the uCentre UBlox windows application. Interfacing to uM-FPU64 for astronomical calculations.

Very good GPS receiver

We have used these receivers for several years and find them to be very reliable and always operate better than the specs advertised.Good job Sparkfun.

Truly plug-and-play

I needed a small gps to operate without elaborate mounting (no ground plane, for instance) and it had to work in a vertical position, while rotating. My first trial was attached to an X-Bee regulated explorer and propped up in a ground floor window. I got a 10 sat fix with several sats behind the device and through two levels of building. Even the X-Bee-pro 900 xsc worked with the new explorer. I fed the GPS with 3.3v off the explorer and with 5V direct. It worked either way. Now, if we could just get a tutorial on processing NEMA strings!


I am building a GPS clock with time and date. Parsing the data out of the $GPRMC sentence. Interfacing it with a Picaxe 20x2 @ 64mhz. Using adafruit 7 segment i2c as displays. I have completed 90 % of software. Getting go result so far. Also using the UBLOX software a tool.

Solid and simple

This is the first and only GPS receiver I have ever worked with, but it was easy enough to get working. The warm-up time seems to be a bit long - sometimes it takes over 5 minutes to achieve a satellite lock, especially when operating indoors on a window ledge. This unit also seems very prone to signal degradation when not pointed the right way (up at the sky). Hard to beat the price though!