I'm trying to read out GPS positions from a serial GPS module I have.

I'm using an Arduino Ethernet and a Haicom HI-204 III GPS (http://www.haicom.com.tw/driver/hi-204iii_usb.pdf).

If I connect the GPS directly to my computer (through a USB-serial converter) at 4800 baud, 8N1, I receive a nice stream of position and diagnostics messages:


Now I'm trying to read these messages from the Arduino. But when I connect the GPS to a SoftwareSerial port, I only get gibberish:


(note that when I copy/paste the output to here, many of the charaters disappear, so they are probably completely invalid)

My code looks like this:

#include <SoftwareSerial.h>

#define rxPin 3
#define txPin 4

SoftwareSerial gpsSerial(rxPin, txPin); // RX, TX

void setup (){

void loop (){
  while (gpsSerial.available()) {
    char c = gpsSerial.read();

In think the output looks like wrong serial settings, but I have tested all speeds (and verified that 4800 baud works through the serial adapter), and as far as I can tell, SoftwareSerial is 8N1 by default.

What am I doing wrong?

  • What USB adaptor are you using? – Majenko May 31 '18 at 19:44
  • The GPS unit you link to is a USB device, not a serial device. How can you be connecting that through a USB to serial converter? – Majenko May 31 '18 at 19:48
  • Good question :-) The USB unit simply becomes USB because they have a serial to USB-converter on the cable between the GPS and the USB plug. So I cut the cable on the serial side of the converter and connected that to the Arduino. – XerXes May 31 '18 at 20:01
  • So you don't actually have any information about the electrical signalling the unit uses? You need an oscilloscope to examine the signal - see if it's TTL or EIA-232 signalling. If it's the latter you will need to feed it through a MAX232 first. – Majenko May 31 '18 at 20:02
  • Further Googling leads me to the theory that I might need a RS232-to-TTL converter between the GPS and the Arduino. I'm not sure, though, as I supply the GPS with 5 V directly from the Arduino, so there should be no need for a step down from 12 V. – XerXes May 31 '18 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.