GPS Module Fried?


I just bought the U-blox NEO-6M GPS Module and have successfully been able to receive data from it via my Arduino, however I am not able to send data the other way. As perhaps not many people know, the GPS chip on the module is fully configurable with the help of relevant documentation and software. For example, I need to change the position update rate up to 5 Hz from the default of 1 Hz. Upon trying to send commands for this both from Arduino code and from the manufacturers configuration software (u-center), no commands have made it through. Any other feature of the manufacturers software requiring data transfer to the chip also does not work.

From my research, these symptoms point to the issue being a fried Rx port on the GPS chip, due to 5V TTL signals being sent to the chip instead of 3.3V. I assumed all pins can work with 5V levels, since it is able to be powered by 5V and the product description page on this site mentions “TTL IOs” as a feature. I have made up a voltage divider circuit to reduce the Arduino’s 5V IO to 3.3V, but before I buy another module I would like to ask for any advice.

I was told by email that hundreds of units have been sold without mention of this issue, but I suspect these sales have all been to people who either a) were skeptical about the “TTL IOs” and opted to use 3.3V or b) never attempted to make configuration changes.


Hi Dylan,

Are you referring to this module?

The reason why you’re able to receive data is because it is a 3.3V device, which is able to trigger the HIGH level on your Arduino pin. But being a 3.3V device, you will have almost certainly destroyed that pin by sending it 5V data. It is a 3.3V device and we don’t say that it can be used with 5V on the product page.

I figured, thanks for the confirmation.

While you don’t explicitly say it can be used with 5V, you must agree that stating it has TTL inputs/outputs and that it can “drive normal 5V microcontroller TTL inputs without additional hardware” is likely to lead people to believe they can plug it into their Arduino without damage occurring.

Lesson learnt though, I suppose. I’ll have to order another.

I see where you’re coming from, but given that TTL doesn’t just mean 5V, it is commonly 3.3V too. The only reason 5V is mentioned is because it’s fairly common place for maker projects to just drive a 5V input with a 3.3V signal.

Unfortunately, it’s probably not recoverable, but as someone who has learnt many lessons by letting out the ‘magic smoke’, you usually only do it once haha.

Hi @Dylan55678,

If you are looking for a logic level converter then here’s my recommendation:

1 Like