CP2102 based GPS USB Dongle Library

Is there any CP2102 based GPS USB Dongle Library like PL2303?

What?

CP2102 and PL2303 are USB-to-UART converters (aka USB-to-TTL serial). There are drivers for Windows, Linux, etc. that let apps send and receive data over the USB cable to those devices. The drivers don't know anything about GPS. You would run an application on the PC to listen to the dongle on that USB port.

The UART side of the CP2102 must be connected to... something with a UART, like an Arduino or a GPS module.

If you really have a "GPS USB dongle", it just plugs into a PC that's running an app. It may or may not have a CP2102 chip inside.

If you have a GPS module with RX, TX, VCC and Ground pins, you can connect that to an Arduino and use a GPS library (e.g., NeoGPS) to parse the GPS data.

You could also buy an Arduino shield that lets the Arduino act like a USB host (like a PC). Then you could plug the GPS USB dongle into the shield. This is more expensive and complicated than an Arduino + GPS module.

So what hardware do you have, and how is it connected?

Cheers,
/dev

Hai,

Thanks for the quick reply... The actual thing is, I have an Arduino Mega ADK with USB port built in based on MAX3421E and also have a USB GPS Dongle (Baud Rate 9600) that uses CP2102 USB to UART bridge. I want to connect that GPS dongle with USB port in Mega ADK board and want to read the GPS data and display the same in serial monitor..

Anoop

I want to connect that GPS dongle with USB port in Mega ADK board and want to read the GPS data and display the same in serial monitor.

You can't.

Sorry, I am not familiar with the ADK version of a Mega. You might be able to connect it. Let me take a look...

Cheers,
/dev

Ok, the USB Host Shield Library for the Mega ADK has several examples for talking to specific USB devices. Because each USB device has its own set of commands and responses, there are separate examples for each device.

There was a request for a CP210x driver here, and there was some progress, but I don't see any links. There were requests for support in the comments at Circuits@Home, but the author says he has no plans to support the CP210x.

I've never interfaced with a USB device before, so I can't tell you all the things that might be involved. The USB Host Shield library is advanced C++, so adding a new device type for the CP210x is not for beginners. Are you familiar with classes? Templates? State machines? Any communication protocols? The USB standard? The CP2102 programming spec? That's a lot of info!

Buying a GPS module and connecting it to Serial1 (pins 18 & 19) would be much, much easier.

Hardware hacking might be easier, too: desolder the CP2102 or scratch out the CP2102 TX to GPS RX trace. Then solder wires the GPS TX/RX pins and run them to to Serial1. Vcc and Ground have to be connected, of course. Be sure to figure out whether it's a 3.3V or 5V GPS, though.

Cheers,
/dev