Thursday, January 17, 2013

U-blox PCI-5S - a cheap GPS module for your projects


 [Update] I have found the timepulse output!

The U-blox PCI-5S is the cheapest GPS module on eBay right now (although you have to buy an additional antenna).
At first glance it seems useless for microcontroller projects because it's a mini PCIe card, but as it turns out it has an easily accessible UART port that can be connected to a microcontroller.

Here's the pinout:
The USB device is a standard CDC ACM serial port.

RX/TX pins are a second (independent of USB) UART port running at 9600bps by default.

You can use u-center to modify the module's configuration, for example set the update frequency to 4Hz.

Happy hacking!

67 comments:

  1. That's pretty cool, going to get one on Ebay. Could you tell me which antenna is best suited for these modules?

    ReplyDelete
    Replies
    1. According to the datasheet, any GPS antenna (active or passive) with a U.FL/IPEX connector should work.

      Delete
    2. Have you come across a source for those, please?

      Delete
    3. Look on ebay.

      I bought this one and it's working fine:
      http://www.ebay.com/itm/GPS-Ceramic-Internal-Patch-1575-42MHz-Antenna-20x20x7mm-e-/251215203055

      Delete
  2. Oh that really nice to here some extra deal.Now i'm going to buy this useful once..

    ReplyDelete
  3. PCI-E and Mini PCI-E edge connectors have both USB and PCI-E data on them. Looking at the pins used on the edge connector, I believe this card only uses the USB data. The other pins aren't used. I don't know how well links work here, I'll try anyway:
    http://pinoutsguide.com/Slots/mini_pcie_pinout.shtml

    ReplyDelete
  4. I just looked at the U-Blox site. Because the card available on eBay was made by/for Toshiba, there's no direct documentation for it on the U-Blox site, but the ones on eBay might be based on the now-discontinued 5S U-Blox GPS module. Here's a link to a page titled, "Previous generation GPS receiver modules." It's essentially a table comparing various no-longer-produced modules and their features. The feature I'm looking for is either a 1 (or 4) pulse-per-second (PPS) signal and/or the precision-timing feature--either or both of which can be used to make hyper-accurate GPS-discipined oscillators. It's not clear to me that the cheapies on eBay can do that. Does anyone have any knowledge of these devices who can comment?

    Thanks,

    Todd Carney

    ReplyDelete
    Replies
    1. It seems that this module does support a timepulse signal - it can be configured through u-center.
      Maybe the output is one of the other test points, I didn't find anything when I tested them, but the manual says the signal is only present when there is a reliable fix, I will try that again and report back.

      Delete
    2. I have found the timepulse output!

      Delete
    3. The firmware on the T modules is different, such that they spend more effort on the timing and less on the dynamics. You'll get good, but not great, performance from a non-T module.

      Are you on the time-nuts list?

      Delete
  5. Anyone have a source of these that ship to the Channel Isles?
    -A

    ReplyDelete
  6. Does it have a 1 pps output? If so, what voltage is it? (3.3. v or 5 volts)

    Thank you.

    ReplyDelete
    Replies
    1. It turns out it does, it's 3.3V like the rest of the module.

      Delete
  7. Nice find - any idea how much current this draws? I'm considering pairing one with a stellaris launchpad for a low power toy.

    ReplyDelete
  8. Replies
    1. I found 5 listings. On eBay.com, search "pci-5s".

      Delete
  9. I am wondering if the empty looking half of the pcb containing the edge connector could be sawed off for this kind of use.

    ReplyDelete
    Replies
    1. There is a high probability that it's possible, the u-blox product catalog shows a half size version of this card.
      But the PCB has more than 2 layers, so it's a mystery how the traces are routed in that area.

      Lots of people bought this card after HaD published my tip, maybe someone is brave enough to try it. :)

      Delete
  10. What would be interesting is whether this module supports the output of 'Raw' data output, which would allow more accurate (off board) position computation - L1 GPS can get down to around 1cm accuracy on a good day!

    Would be great for mobile robotics.

    ReplyDelete
  11. Nice hint, thank you very much for that.

    Do you know whether the card supports also PPS signal for time sync?

    Thank you

    McHa

    ReplyDelete
  12. Looking to make a GPS unit for my Nikon D800, anybody on here able to provide some assistance on such a project?

    ReplyDelete
  13. hello nice finding :) when i first saw the post on HDA i searched ebay and i bought one ~2 months later it arrived but i have some questions (cause i don't wan't to kill it :P)

    1. are the inputs 5V tolerant or only 3.3v ?
    2. does it require an external antenna ?
    3. the pictures show two test points for usb connection but i guess i have to provide 3.3v to power the device ?

    anyway thanks again for sharing

    someone said they couldn't find any listing on ebay i bought my from here http://www.ebay.com/itm/250866889973?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649 - the shipping (at least for my country) is more that the actual module but is still cheaper than other gps modules

    ReplyDelete
    Replies
    1. 1.I don't know.
      2.Yes, you need an antenna with u.fl connector.
      3.Yes you need 3.3V, there is no voltage regulator on board.

      Delete
    2. thanks for the quick reply

      about the antenna do you think this will work ? http://www.seeedstudio.com/depot/embedded-antenna-ufl-for-gps-p-564.html?cPath=139_143

      thanks,
      Vlad

      Delete
    3. Yes, it should work, the module supports both active (like this one) and passive antennas.

      Delete
  14. Where do we find the place to change the frequency? that the only thing I cant find.

    ReplyDelete
    Replies
    1. You mean the update frequency?
      You need to install u-center software.
      From there select the "configuration view" and there you will have lots of configuration options, "RATE" is the option for changing update frequency.

      Delete
    2. Thanks, that was what I was searching for!

      Delete
  15. Hi Andrzej,
    I've just got the GPS from ebay last and had time to test it. It is working pretty well.
    Thank you also for updating for PPS pin, I wanted to search for it and I'm glad you got it.

    ReplyDelete
  16. I got mine in the post recently, and got it working. One thing that stumped me for ages was receiving a lot of "txbuf alloc" errors. I've fixed it now - it happens when the baud rate is too low for all the information to be sent. Setting the baud rate to 38400 instead of 9600 fixed it for me.

    ReplyDelete
  17. Hello

    I've just order it on ebay. But i'm not sure for the antenna.
    Maybe, the GPS internal antenna for the ipad 3 or ipad mini will be ok. It's very inexpensive on ebay:
    Like this one (1.39$)
    http://www.ebay.com/itm/New-GPS-Antenna-Signal-Flex-Cable-Repair-Fix-Replacement-Parts-For-iPad-3-3Gen-/280919335233?pt=Other_Tablet_eReader_Accessories&hash=item416818e141

    Or this one: (2.89$)
    http://www.ebay.com/itm/New-Replacement-GPS-Antenna-Signal-Flex-Ribbon-Cable-Fit-For-Ipad-mini-/140899956140?pt=Other_Tablet_eReader_Accessories&hash=item20ce4ab5ac

    But i'm not completly sure that the connector is a UFL (but it looks like on the pics)

    What do you think?

    ReplyDelete
    Replies
    1. I'm pretty sure they are both UFL.
      Take a look at iPad teardowns at iFixit - all the antenna connectors look like UFL.

      Delete
    2. thx. i'm gonna buy the cheapest one. i will inform you of the result of my test.
      have a good day!

      Delete
  18. Anyone cut this in half yet?? So tempting....

    ReplyDelete
  19. I messed up my module saving different settings. It will show sat's when attempting to read the config file, but otherwise shows nothing :( Can you post the default file for this module?

    ReplyDelete
    Replies
    1. http://pastebin.com/L38cqv8a

      Here's my config (not the default), serial port set to 115200 bps.

      Delete
    2. Thanks Emeryth, I found a default setting thing and it worked with that, but I'll keep your file. I think I got carried away clinking stuff.... clicked cold start and wasn't patient enough for it to find sat's.

      Delete
  20. Does anyone know how/if the module can be configured to output only GGA and RMC data ?

    ReplyDelete
    Replies
    1. Yes it can, through U-Center.
      I have not tried this, but there is a config option (MSG) for selecting which messages are sent over each interface.

      Delete
    2. is there any way to make the changes persistent over power on/off couldn't find any setting ?

      Vlad

      Delete
    3. The CFG configuration message lets you save settings to flash.

      Delete
  21. I should have payed more attention :) if anyone wants to configure this device to output only GGA and RMC data this are the steps to follow (using the u-center tool):
    1. go to view-> configure view
    2. select MSG(Message)
    3. from the dropdown box select which strings you don't want to output and deselect on which interface you don't want to output and remember to hit send after every change

    hope this helps someone,
    Vlad

    ReplyDelete
  22. Hi

    I have brought one from ebay, but can't get gps fix.
    Have happened to someone?

    ReplyDelete
    Replies
    1. Did you attach an antenna?
      Are you getting any satellites at all?

      Delete
    2. It's strange because in the ublox center show me the satellites conected and state of the signal. When disconnect the antenna can't see the satellites like should be.
      when i go see the data send on a console don't show any satellites connected.

      Delete
    3. I am seeing the same thing with a module that I purchased. Using the u-center program and Emeryth's configuration file, I am currently "Tracking" 8 SVs but none of them are 'Used" and I am not showing any Lat/Lon information and the SkyView window shows up blank.

      Delete
    4. Did any of you manage to solve this problem? My module finds all the satellites in a second, but then fails to get a fix, even when left for hours. Looking in the u-center monitor section, it seems it also doesn't get the ephemeris data from the satellites. The signal strength for most of the satellites varies by ~10dB+ from sample to sample.

      Delete
    5. I am having the same issue. I can track 5 to 8 sats but I never get a position fix. It always says NoFix.

      Delete
  23. Hey,

    i have some question:

    1. USB-Supply:
    surely i have to reduce the supply voltage from 5v to 3v3, i do that with a low-voltage-drop regulator (MCP1700-3302E) its designed for 250mA. is that enought? how much does that board draw (with/without active antenna)?

    2. USB-D+/D-:
    i'm not soo sure about the usb data lines. what is better to use, inline resistors (with which value? 72R / 68R / 33R? i've seen severel configs) or z-diodes to GND? and do i even need them?

    3. UART:
    did someone figure out if the inputs are 5V compatible?

    ReplyDelete
    Replies
    1. 1. I'm not sure how much exactly the module draws, but 250mA seems enough. Even if it isn't, the worst thing that will happen is that voltage will drop and the module will reset.

      2. You don't need any protection, the D+/D- testpoints are directly connected to the pins on the edge connector, which will be connected to your USB controller like a regular device.

      3.I have no idea

      Delete
  24. First of all thanks for the tip Emeryth!

    I wrote a python script to decode the GPS data. I use it to create a html file hosted on a Raspberry Pi running a web server. The script can be found here: https://gist.github.com/Lauszus/5785023.

    ReplyDelete
  25. I have cut it, not half but the remaining part is square and it is working ok.

    ReplyDelete
  26. The Bluetooth modules provide a platform to quickly and safely go into production with competitive and advanced features.

    ReplyDelete
  27. Has anyone used this for anything? I would love to make some kinda logger that I could put inside my RC airplanes and take with me on bike rides to save my route and speed.

    ReplyDelete
  28. I just want to confirm that you can cut the PCB!! If you remove the sticker on the top, there is a Ublox logo, I cut along that logo with my dremel and it still works fine without that inch of un-used PCB!

    ReplyDelete
    Replies
    1. I also did it: http://galeria.tech-blog.pl/U-blox_PCI-5S_GPS/U-blox_PCI-5S_GPS_10.jpg.html

      Delete
    2. Nice, but be careful with the connector you made, the test pads are easy to rip out :/

      Delete
    3. Thanks for the warning. I'm going to use epoxy glue, to protect it.

      Delete
  29. hi,
    have someone try to find where to connect a battery for not have always cold boot?

    ReplyDelete
  30. this is what i was looking for. I've ordered one already :) btw, I've fount this thingy on ebay: http://www.ebay.com/itm/1pc-Import-GPS-Module-SIRF3-TTL-RS232-/281190259803 and I'm wondering if it could work with an atmega... sry for bad english :)

    ReplyDelete
    Replies
    1. I think that's this one:
      https://www.sparkfun.com/products/8234

      Delete
  31. I'm really stuck. I am unable to get a lat/long from the unit. I pickup sat's but they only appear in the sat signal monitor as blue bars and not green bars as expected. If I take the unit outside I was tracking 13 'blue' sats but apparently they don't provide position info? Tried just about everything in the config file.

    ReplyDelete
    Replies
    1. Since most modules are really old, the almanac and ephemeris data might be outdated. They will get updated when receiving data from the satellites. This takes at least 12.5 minutes. You can get a faster time to fix if you download current data from the web and send it to the module. Use u-center > Tools > AssistNow Offline, select "14 Days AlmanacPlus" and "Flash update". After clicking "OK" you should get a position fix in short time.

      Delete
  32. After Emeryth published the pinout, I also started to experiment with this board. I found out that you can update the firmware using the LEA-5 firmware version 6.02 from the u-blox web site. The module also works very well with the patched firmware version EXT_G50_602_LEA-5H.bdbfccefb9dbd8395dec7adece53c1f9.bin. This version enables the output of raw data for use with rtklib for real-time kinematic and precision positioning.
    I am currently using the module with a Mini-PCIe-to-USB adapter for 3G WWAN cards like this one:
    http://www.ebay.com/itm/MINI-PCI-E-TO-USB-PCI-E-TO-SIM-3G-TEST-CARD-WWAN-TEST-CARD-upgrade-veersion-/251378335831?pt=LH_DefaultDomain_0&hash=item3a87510057
    You can then use the standard drivers from the u-blox web site for Windows. They provide a virtual COM port. Please note that updating the firmware just worked using the physical serial port of the Mini-PCIe card, it did not work using the USB adapter.

    ReplyDelete
    Replies
    1. Thanks a lot, I wondered about the firmware update myself, but didn't want to risk it.

      Delete
  33. You have great collection regarding Electronics products. I really like your blog, I have found some very helpful article. I would like to say Thanks for sharing such a good collection.
    Best 7 Inch Tablet

    ReplyDelete