Ublox Neo6Mv2 and Arduino Uno

Hi all, I've buyed this sensor (Ublox Neo6Mv2) to use in my project, with an Arduino Uno. I connect it to Arduino following this how to: |500x384

...but, it doesn't work. I'm using TinyGPS Library to test, but the output on the serial monitor is all '*'.

  1. Is there a led that say me the sensor is working?
  2. I've read that I can use both 3.3V either 5V. Is it right?

Could you give me a suggestion? Thank u in advance :D

klubfingers:
On Arduino your connections should be to D3 and D4, NOT A3 and A4, are you wired correctly?

Yes, I’ve used D4(Rx) → GPS Tx and D3(Tx) → GPS Rx.

klubfingers:
Have a look at this:

forum.arduino.cc/index.php?topic=199304.0

Good luck.

I’m waiting, after reading this topic, 10-20 minutes for fix…

But, can I use a voltmeter to check the sensor is not broken?
Thank u :smiley:

p.s.: Sorry for my bad english… :frowning:

I’m continuing to search on the web, and I’ve found this small sketch:

#include <SoftwareSerial.h>
SoftwareSerial ss(4, 3);

void setup()
{
  Serial.begin(9600);
  ss.begin(9600);

  Serial.println( F("Echo test") ); 
}

void loop()
{
    while (ss.available())
      Serial.write( ss.read() );
}

… the output in the serial monitor is:

$GPRMC,100012.00,V,,,,,,,140515,,,N*7B
$GPVTG,,,,,,,,,N*30
$GPGGA,100012.00,,,,,0,00,99.99,,,,,,*64
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,02,05,,,30,09,,,24*72
$GPGLL,,,,,100012.00,V,N*48
$GPRMC,100013.00,V,,,,,,,140515,,,N*7A
$GPVTG,,,,,,,,,N*30
$GPGGA,100013.00,,,,,0,00,99.99,,,,,,*65
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,2,1,08,03,,,25,05,,,31,06,,,26,09,,,22*7A
$GPGSV,2,2,08,12,,,26,13,,,26,17,,,27,25,,,27*71
$GPGLL,,,,,100013.00,V,N*49
$GPRMC,100014.00,V,,,,,,,140515,,,N*7D
$GPVTG,,,,,,,,,N*30
$GPGGA,100014.00,,,,,0,00,99.99,,,,,,*62
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,3,1,10,02,,,25,04,,,22,05,,,32,09,,,17*70
$GPGSV,3,2,10,10,,,27,12,,,23,13,,,23,17,,,11*7A
$GPGSV,3,3,10,20,,,26,25,,,12*7A
$GPGLL,,,,,100014.00,V,N*4E

…then, I think that, probably, GPS and Arduino Uno are communicating well…is it right?

And, this is the output of TinyGPS Library example (test_with_gps_device):

Sats HDOP Latitude  Longitude  Fix  Date       Time     Date Alt    Course Speed Card  Distance Course Card  Chars Sentences Checksum
          (deg)     (deg)      Age                      Age  (m)    --- from GPS ----  ---- to London  ----  RX    RX        Fail
-------------------------------------------------------------------------------------------------------------------------------------
**** **** ********* ********** **** ********** ******** **** ****** ****** ***** ***   *******  ****** ***   0     0         0        
**** **** ********* ********** **** ********** ******** **** ****** ****** ***** ***   *******  ****** ***   170   0         0        
**** **** ********* ********** **** ********** ******** **** ****** ****** ***** ***   *******  ****** ***   382   0         0        
**** **** ********* ********** **** ********** ******** **** ****** ****** ***** ***   *******  ****** ***   619   0         0        
**** **** ********* ********** **** ********** ******** **** ****** ****** ***** ***   *******  ****** ***   826   0         0        
**** **** ********* ********** **** ********** ******** **** ****** ****** ***** ***   *******  ****** ***   988   0         0        
**** **** ********* ********** **** ********** ******** **** ****** ****** ***** ***   *******  ****** ***   1150  0         0        
**** **** ********* ********** **** ********** ******** **** ****** ****** ***** ***   *******  ****** ***   1312  0         0        
**** **** ********* ********** **** ********** ******** **** ****** ****** ***** ***   *******  ****** ***   1482  0         0        
**** **** ********* ********** **** ********** ******** **** ****** ****** ***** ***   *******  ****** ***   1652  0         0

… and the Char RX column is increasing always…

I think that, probably, GPS and Arduino Uno are communicating well...is it right?

Yes, you must have it wired correctly.

It is receiving from just one satellite, so it is reporting the correct date and time. It will need to receive from 4 or more satellites before it will give a location and altitude. Check your antenna, or move to a better location. Outside is best, away from tall buildings.

Good luck, /dev

Nothing to do...I'm in a place open enough, but I always get this string:

$GPGGA,******.00,,,,,0,00,99.99,,,,,,****

...I always get 0 instead of 1 :(

How can I check my antenna?

Thank u :D

The Fritzing diagram doesn't really tell us about the board that the NEO-6M is mounted on. The would tell us about the antenna, too. Could you give us a link for where you bought it? A photo of your setup would also help... The wires should only be a few inches long, and the antenna should be right-side up and not touching any metal. If it has a connector, take a look at it, and make sure it's seated properly. Again, knowing which board & antenna you have will help us answer the question.

Another possibility is that the UNO doesn't output enough current on the 3.3V pin. This module can require up to 67mA, while the UNO is only rated for 50mA. Lots of people hook them up this way, so it usually works. These modules need stable power, so long or flaky wires could be affecting it.

Cheers, /dev

This is the official datasheet of Neo6M: http://www.u-blox.com/images/downloads/Product_Docs/NEO-6_ProductSummary_%28GPS.G6-HW-09003%29.pdf

...and i bought it on the italian ebay, but there isn't any description...

I use the shortest wires of the Arduino Kit to make the circuit. The antenna is right-side up, and the connector is seated properly.

Thank you for your assistance! :D

EDIT: Now, the checksum fail column in increasing by one, or, sometimes, by two, but the circuit is right...I'm going to post a photo of the circuit :)

Black Wire -> GND Yellow Wire -> TX Green Wire -> RX Red Wire -> VCC

...and i bought it on the italian ebay, but there isn't any description...

Link? The PDF for the NEO-6M doesn't say anything about the circuit board you have. It describes the GPS chip that is mounted on the board you bought.

EDIT2: This is the photo:

And as much as I'd like to download a file from your google Drive account (not very much), please do one of these two things:


1) Upload the picture to your google account MyPhotos (or PicasaWeb) and click on the picture in the album. Then right-click on the photo and "Copy image URL". Paste that URL in a post here, between IMG tags, like this:

[ƖMG]https://lh3.googleusercontent.com/wflkjLKJ/S89-sfoK/myimage.jpg[/ƖMG]

(see step 9 here)

or

2) Make sure your photo is something less than 300Kb. You may have to use an image editing program to resize the image to 1024x768 or 800x600. IrfanView and GIMP are common. Even Microsoft Paint can be used if you're running Windows (use ctrl-E in XP).

Once the pic is sized appropriately, attach it to your post. It would be even nicer if you took one more step and made it display inside your post, not just as an attachment.

After attaching the image and pressing the POST button, do a right-click over the attachment link at the bottom of your new post, and "Copy link address". Then modify your post and insert that address (a URL) in IMG tags as described above. Save the changes, and the image should appear inside your post.


You can do either of these things in a new post, or edit your previous post.

Cheers, /dev

/dev: Link? The PDF for the NEO-6M doesn't say anything about the circuit board you have. It describes the GPS chip that is mounted on the board you bought.

This is the link: Here

And this is the photo... |500x282

Thank u, Fed10

You have the 3.3V power going to the GPS module. Although the ublox chip is 3.3V, this board has a 3.3V regulator. It expects 5V, so you should connect the Arduino VCC (5V) to the GPS VCC. I'm sorry I didn't catch that in your first post[Edit - we didn't know which board you were using; it may have required just 3.3V]. This means the ublox chip is only getting about 3V, so that's a major problem.

Also, I am a little concerned about the metal case on the bottom of the antenna touching the gold pads on the board. Swing the antenna out so it's not directly over the board. And place it on something that's not metal. This might be injecting noise into the antenna, or connecting pads that shouldn't be connected. I've never looked at the schematic for that board, so maybe those pads were intended to be connected to the antenna. I've always kept the antenna can from touching any metal.

BTW, I have also had trouble with these "Dupont" connecting wires. You could put everything on one breadboard: Uno at the top, resistors in the middle (top of the breadboard), GPS on the bottom. Use shorter wires if possible, check for adhesive on the Dupont pins, and make sure they're not wobbly in the UNO socket. A solid power connection is important.

As I mentioned earlier, inspect the antenna male and female connectors to be sure the center pin is mechanically ok, and be sure the gold antenna connector is fully seated.

That's all I can suggest. If none of that works, I would suspect the antenna itself or the traces that go to the ublox chip. I can't see that side of the board, so you should inspect it.

Cheers, /dev

Yesterday, I tried to connect GPS to 5V Arduino VCC and I used shorter wires (not "Dupont" Wires) and just one breadboard. Moreover, I isolated the antenna from the board.

I'll post a photo of the antenna/board when I'll be at home and I'll try to go on the road for trying to fix!

Thank u very much, Fed10

http://www.u-blox.de/images/downloads/Product_Docs/NEO-6_DataSheet_(GPS.G6-HW-09005).pdf

Could this be useful to help me? I've not resolved, yet :(

That PDF is just a data sheet, but it does have the electrical requirements I mentioned earlier. I'm not sure it helps figure out the receiving problem.

As I mentioned earlier, inspect the antenna male and female connectors to be sure the center pin is mechanically ok, and be sure the gold antenna connector is fully seated.

That's all I can suggest. If none of that works, I would suspect the antenna itself or the traces that go to the ublox chip. I can't see that side of the board, so you should inspect it.

Did you do these things?

Cheers, /dev

/dev: Did you do these things?

Cheers, /dev

Yes, I do and the center pin is mechanically ok and the gold antenna connector is fully seated. I bought it already connected together (board and antenna) and the seller said me that it should have work!

Tomorrow I'll make other tests...finger crossed.

Fed10: This is the link: Here

And this is the photo... |500x282

Thank u, Fed10

That looks like the same rip off unit sold by Banggood .... Your problem is that is NOT a uBlox module, it's likely a MediaTek MTK 333x module (or something like that) . Try using the Adafruit GPS library and commands and see if you can access it that way. Otherwise all it does is spit out the preprogrammed 5 NMEA sentences at 9600 baud.

I know this because I got screwed by them, in my case I ordered the uBlox unit they showed and 5 days after I ordered they changed the picture to the one like you likely have but kept the description for the uBlox. When I complained and pointed out it was different than the one pictured when I ordered it they insulted my intelligence (I'm an EE ) by claiming it was compatible to uBloxwhen obviously it is not because it does not have the extra EEPROM and it doesn't have a connector for an external amplified antenna. Also none of the uBlox commands work to set it up, change baud rate or which sentences are output.

I can understand why they call themselves Banggood because my butt was sore for a week every time I've dealt with them .......

Hmmm… There might be a way to ask the Neo-6M for more information…


longjohn119:
I can understand why they call themselves Banggood…

:o You may not even have a Neo-6M?!? Take a photo
of the other side of the board and/or tell us the chip number.
And disconnect it, because we’re back to wondering what board
you’ve got. Ignore the rest of this if it’s NOT a Neo-6M. Sheesh!


There are ublox commands you can send to the Neo-6M that may tell you if the antenna has a short-circuit (incorrectly connected or grounded) or open-circuit (not connected). You can use the ucenter utility to send and receive these messages.

If you have a USB-to-3.3V TTL Serial module, connect the module to your PC via USB, and also connect it to the Neo-6M: GPS RX <-> Module TX, GPS TX <–> Module RX, common GND. The Neo-6M will still need 5V on VCC. You can always take that from a plugged-in Arduino. Make sure your PC sees your GPS through the USB-to-Serial Module. Then “poll” the MON-HW (MONitor HardWare Status) and the CFG-ANT (ConFiG ANTenna) messages.

If you don’t have a USB-to-Serial module, you might be able to use a bi-directional echo program on your Arduino:

#include <SoftwareSerial.h>
SoftwareSerial ss(4, 3);

void setup()
{
  Serial.begin(9600);
  ss.begin(9600);

//  Serial.println( F("Echo test") );   shhh!
}

void loop()
{
    while (ss.available())
      Serial.write( ss.read() );
    while (Serial.available())
      ss.write( Serial.read() );
}

I say, “might”, because the timings are a little different. Maybe ucenter won’t notice. Has anybody else used an Arduino as a USB-to-Serial converter like this?

Have you visually inspected the solder joints and traces near the antenna connector? There are two surface-mounted components near the connector.

If you’ve waited 20 minutes outside, away from tall buildings, and still aren’t seeing any satellites, we’re down to (1) bad antenna, (2) bad Neo-6M, or (3) bad power. You might try different/shorter USB cables, too. Anybody else care to chime in?

Cheers,
/dev

Plenty of pictures of it on their website but not when I purchased this it had a picture of an actually uBlox unit and I got sent this instead and it is DEFINITELY NOT A uBlox .... It has a MTK chipset in it. Look in the comments and a lot of people are having problems with it because they are trying to use uBlox software to program a unit that is not a uBlox unit nor is it a compatible unit

This set me back a full 6 weeks having to find a real one which is what you helped me program. All three time I ordered from them something was either other than pictured or messed up like the screen protectors that had creases in them and were worthless or the order sat in a Chinese office for 26 days straight and then finally shipping out via the Netherlands?!? and finally to the US .... Not exactly the shortest route

I'm bringing this back up because I'm having the exact same problem with a different Ublox module. When I do an echo test, I get all of the GPS data no problems. When I try to use the TinyGPS library, I just get lots and lots of stars for location, speed, etc.

I'm stumped. I've been reading for hours and haven't found any definitive answer. If the echo shows the correct information, why can't the library decipher it and give me the information I need?

I need the GPS module JUST for speed. I'm not even worried about lat/long, heading, altitude, etc.

When I do an echo test, I get all of the GPS data no problems. When I try to use the TinyGPS library, I just get lots and lots of stars for location, speed, etc.

This is very common with many GPS libraries' examples, except for my NeoGPS library. :) Its examples are properly structured, and the library is faster, smaller, more reliable and more accurate than all others.

Also, you can configure my NeoGPS library to parse only the speed. This saves lots of RAM, program space and execution time. Here are several NeoGPS speedometer projects:

GPS Nixie Speedometer GPS Speedometer, problems when still GPS 7 Segment Speedometer Working But With Issues [GPS Speedometer] Slow display updates on Mode 3 Fix. Gps speedometer Trinket Pro speedometer (most recent version of a long-running thread)

NeoGPS is available from the Arduino IDE Library Manager, under the menu Sketch -> Include Library -> Manage Libraries. Even if you don't use it, there is lots of information on the Installation and Troubleshooting pages. If you have further questions, please start a new thread. Be sure to post the code you are trying (in code tags, as described in How to use this forum).

Cheers, /dev