Menu
JAQForum Ver 19.10.27

Forum Index : Microcontroller and PC projects : NEO 6 GPS UNITS NOT OUTPUTTING NMEA

Posted: 12:22am
11 Apr 2026
Copy link to clipboard
OA47
Guru


I purchased some GPS modules from AE and have found that they don't output NMEA. From my research it is possible they are outputting UBX. Are these units usable at all with MMBASIC ?

OA47
 
Posted: 12:55am
11 Apr 2026
Copy link to clipboard
phil99
Guru


It depends on how the module configures the NEO-6 chip.
  Quote  1.15Configuration
1.15.1 Boot-time configuration
NEO-6 modules provide configuration pins for boot-time configuration. These become effective immediately
after start-up. Once the module has started, the configuration settings can be modified with UBX configuration
messages. The modified settings remain effective until power-down or reset. If these settings have been stored
in battery-backup RAM, then the modified configuration will be retained, as long as the backup battery supply is
not interrupted.
NEO-6 modules include both CFG_COM0 and CFG_COM1 pins and can be configured as seen in Table 6.
Default settings in bold.
Table 6: Supported COM settings
CFG_COM1 CFG_COM0 Protocol Messages UARTBaud rate USB power
1 1 NMEA GSV, RMC, GSA, GGA, GLL, VTG, TXT 9600 BUS Powered
1 0 NMEA GSV, RMC, GSA, GGA, GLL, VTG, TXT 38400 Self Powered
0 1 NMEA GSV14, RMC, GSA, GGA, VTG, TXT 4800 BUS Powered
0 0 UBX NAV-SOL, NAV-STATUS, NAV-SVINFO, NAV-CLOCK, INF, MON-EXCEPT, AID-ALPSERV 57600 BUS Powered

Elsewhere in the data sheet it says the COM pins can be configured for SPI instead of TTL serial.

Try to get some data about the module configuration or circuit from the seller or manufacturer.

Armed with that it may be possible to modify the module to output NMEA on TTL serial.
I don't think MMBasic built-in functions can use anything else.

Edit.
I notice all the GPS() functions that have been removed from the MMBasic manual have not been added to the GPS and Astronomical Commands Reference PDF.
Edited 2026-04-11 11:44 by phil99
 
Posted: 07:57am
11 Apr 2026
Copy link to clipboard
matherp
Guru

  Quote  I notice all the GPS() functions that have been removed from the MMBasic manual have not been added to the GPS and Astronomical Commands Reference PDF.

They are in the Option_GPS_User_Manual
 
Posted: 08:33am
11 Apr 2026
Copy link to clipboard
phil99
Guru


Thank you, my mistake.
Looked down the file list to "G" and stopped.
 
Posted: 06:17pm
11 Apr 2026
Copy link to clipboard
Sasquatch
Guru


  OA47 said  I purchased some GPS modules from AE and have found that they don't output NMEA. From my research it is possible they are outputting UBX. Are these units usable at all with MMBASIC ?


It sounds like you may have purchased some used modules that may have a custom configuration stored in flash memory.  Note that there are also fake modules coming out of China that may not be fully compatible with a genuine u-Blox module.  Some of the fakes are so good that you may never know or care.

The easiest way to configure your NEO-6 module is by using the free u-Blox u-center software.  The first thing I would do is to restore the module to factory default state.  This will give you a known starting point and should give you NMEA messages at 9600 baud.  You should also be able to update the module to the latest firmware version.

Then you can use u-center to change the baud rate, NMEA messages, and other configuration to suit your needs.  If you store your configuration changes in flash memory, they will be restored each time the module starts up.  These GPS modules have lots of configuration settings (probably over 100) and some of them are inter-dependent. The u-center software will also display the byte sequence for each configuration change in hex format.  Otherwise you would need to hand-code each message using the documentation and calculate the checksum.

Note that MM-Basic only uses the $GNGGA (or $GPGGA)  and $GNRMC (or $GPRMC) NMEA messages, disabling the other NMEA messages will reduce the serial traffic and parsing overhead.
 
Posted: 05:00am
12 Apr 2026
Copy link to clipboard
OA47
Guru


  Quote  It sounds like you may have purchased some used modules that may have a custom configuration stored in flash memory.


It was unexpected as the solder pins seemed to be unused, but playing around last night I found 2 units responded at 115K with a mass of $GP strings that I had not seen before, so it seems you are right.

Thankyou
OA47
 
Posted: 05:51am
14 Apr 2026
Copy link to clipboard
Michael
Newbie

Hi all, I'm new here today, and really green with mm-basic. I'm wondering how you got on with the GPS and the GPS() commands. I have tried both without luck, two different GPS boards(one was NEO-6M), two different pico's.
When I open COM1 as a file I can see all the NEMA strings so the gps is sending, but neither GPS functions give me valid answers. GPS(VALID)=0, GPS(TIME)=00-00-00 with funny chars on the end of the string.
Appreciate any help or answer, thanks.
Michael.
 
Posted: 06:58am
14 Apr 2026
Copy link to clipboard
ville56
Guru

  Quote  
Note that MM-Basic only uses the $GNGGA (or $GPGGA)  and $GNRMC (or $GPRMC) NMEA messages, disabling the other NMEA messages will reduce the serial traffic and parsing overhead.


did you see this messages in the raw data? Did the module already do a sat-fix?
 
Posted: 07:07am
14 Apr 2026
Copy link to clipboard
Michael
Newbie

Yes, the NEO-6 has a led that blinks when it has a fix. And yes I did read that message, as I said if I open COM1 as a #file, I can INPUT and see all 5/6 NEMA strings so the GPS has a fix and is transmitting NEMA. However both the GPS function don't work. Thanks for reply, Michael.
 
Posted: 08:10am
14 Apr 2026
Copy link to clipboard
phil99
Guru


Welcome to the forum.
There are at least 2 ways to access GPS data in the PicoMite.
One is via OPTION GPS and the other is via the OPEN command.
As you can see the serial data try the second one.
  manual p155 said  OPEN comspec$ AS GPS [,timezone_offset] [,monitor]
Will open a serial communications port for reading from a GPS receiver.
See the GPS function for details. The sentences interpreted are GPRMC, GNRMC, GPGGA and GNGGA.
The timezone_offset parameter is used to convert UTC as received from the GPS to the local timezone. If omitted the timezone will default to UTC. The timezone_offset can be a any number between -12 and 14 allowing the time to be set correctly even for the Chatham Islands in New Zealand (UTC +12:45).
If the monitor parameter is set to 1 then all GPS input is directed to the console. This can be stopped by closing the GPS channel.


Eg. this is from a program I am using.
SetPin GP0,GP1,COM1 : Open "COM1:9600" As GPS,10 '+1 '<--remember to add DST to Time Zone.

Then you can use the GPS Functions.
Print GPS(valid), GPS(time), GPS(date), GPS(altitude)
etc.

User Manual V6.02.00 p189 and Option_GPS_User_Manual.pdf in Extra Documentation folder.
Edited 2026-04-14 22:45 by phil99
 
Posted: 03:39am
15 Apr 2026
Copy link to clipboard
Michael
Newbie

Thanks for the welcome, and yes I have read the GPS_User_Manaul.
I have tried your exact commands without luck, with the only difference being:
1. I used separate lines;
2. I see you use GP0 for receive ( I did SETPIN, GP1, GP0, COM1)
Does the 10 mean you are in SA ?
When I do print GPS(valid) I get 0, and GPS(time) shows zero, see results below
'    
GPFLAG = 0
00:00:0                 ☺               ☻   ☼
'
How did you add the blue text boxes ?
Interesting when I do this:
OPEN "COM1:9600" AS GPS,10,1 I get all the NEMA strings on the concole.
So the GPS() is working for you ! because I'm at a loss.
Appreciate your reply.
 


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026