Most universally compatible USB to serial board? Reading TM4313 GPS data with Arduino

I have a GPS disciplined 10MHz reference unit (Chinese, TM4313, no significant documentation!), which has a USB port which outputs standard NMEA data. If I connect this output to a PC running something like U-center, I can read the GPS data just fine. When the connection is made an LED on the TM4313 flashes to show data transmission and the PC installs a new serial port. So all is just fine.

However, I'd like to connect the TM4313 to an Arduino to read the data. I tried to do this via the usual software utilizing the TinyGPS++ library and a software serial port with a USB to serial adapter. However, when I plug the TM6313 into the USB to serial adapter, nothing happens. The Arduino software says there is no GPS connected and the LEDs on the TM4313 do not light up indicating data flow. It appears that the TM4313 is not recognizing the USB adapter as a USB port. It's supposed to be using an FT232RL chip, but it's Chinese in origin so it may be a clone. This adapter has worked in the past on other projects (with a PC plugged into it), but I'm suspecting that the TM4313 is fussy about recognizing USB connections. It seems fine with every PC I've plugged it into, so it can certainly recognize a "genuine" USB port.

My question is which of the available USB to serial adapter boards for the Arduino is the most "universally compatible" with a standard native PC USB port - without requiring any special drivers etc. I guessing the TM4313 can't handle any USB connection that isn't 100% standard (whatever that is!). As I said earlier, there's no documentation on the TM4313,

My problem could be elsewhere, but the USB to serial board seems like a place to start looking. Searches for "TM4313 Arduino" turn up nothing so I don't know if anyone else has tried this.

Any other ideas on what might be going on?

USB needs a host, like a PC, on one end, and a client, like your TM4313 on the other end. Your adapter is a client end and so is the TM4313, so, no, they won't work as a USB connection. I do not know of an adapter that is also a USB host.

Thanks Paul. I'm not up to speed on USB host vs. client. I'll read up on it.

There's this - https://www.aliexpress.us/item/3256805444780023.html which claims be be a USB 2.0 host shield for UNO, but of course, no documentation, There are other similar Aliexpress listings. Not sure if there is any Uno support code for them, but I'll search on that. There does appear to be a USB Host shield library though GitHub - felis/USB_Host_Shield_2.0: Revision 2.0 of USB Host Library for Arduino., so there is something out there that must support at least some shields!

Instead of receiving the data through USB, you can get the data straight in serial form.

Check out this section on the serial port of the TM4313: Teardown of the TM4313 GPS Disciplined Oscillator | Electronics etc….

Notice the 3 letter underneath the jumper pins: G(round), R(eceive), T(ransmit).

All you need to do is solder a pin or a wire to the ground and connect another wire to T and that will contain the serial data stream that you're looking for. It's in 9600N1 format.

Tom

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.