Neo-6M how to set to 5hz with Nano 33 IoT?

Been running into trouble with this one. Searched my heart out and tried a few suggestions, even a few from here that are 3+ years old.

Thing is, unlike most applications other’s have discussed, mine is on a Nano 33 IoT, which has hardware serial.

This GPS was bought behind the claim it can be updated to run at 5hz instead of 1hz, but I can’t find any guides or docs with instructions.

So far, I have tried applying some stuff to an example provided by tinyGPS:

#include <TinyGPS.h>

TinyGPS gps;

const unsigned char ubxRate5Hz[] PROGMEM =
{ 0xB5,0x62,0x06,0x08,0x06,0x00,0xC8,0x00,0x01,0x00,0x01,0x00,0xDE,0x6A };
//{ 0x06,0x08,0x06,0x00,200,0x00,0x01,0x00,0x01,0x00 };
// I've tried some of variations of these but I'm not sure where they are coming from.

const char baud38400 [] PROGMEM = "PUBX,41,1,3,3,38400,0";

bool newData = false;

void setup()
{
  Serial.begin(115200);
  Serial1.begin(9600);

  Serial1.print( F("$PUBX,41,1,0007,0003,38400,0*25\r\n") );
  Serial1.flush();                              // wait for the command to go out
  delay( 100 );                                  // wait for the GPS device to change speeds
  Serial1.end();                                // empty the input buffer, too
  Serial1.begin( 9600 );                      // use the new baud rate
  // at this point, trying 38400 baud fails to receive characters, but setting to 9600 does,
  // meaning either the module didn't receive the message, or the message is no good.
  
  for(unsigned int i = 0; i < sizeof(ubxRate5Hz); i++) {                       
    Serial1.write( pgm_read_byte(ubxRate5Hz+i) );
  }
  //This message didn't work either.
  
  Serial.print("Simple TinyGPS library v. "); Serial.println(TinyGPS::library_version());
  Serial.println("by Mikal Hart");
  Serial.println();
  
}

The data sheet for the Ublox GPS is the place to look.

It has the details of the commands needed to change the message rate.

Or the Ublox Ucenter application which will also tell you the commands to send.

I've found that placing delays after Serial1.begin(baud) allowed the following prints to go through.

srnet: The data sheet for the Ublox GPS is the place to look.

It has the details of the commands needed to change the message rate.

Or the Ublox Ucenter application which will also tell you the commands to send.

I could not find these commands on the datasheet, and my NEO6m does not have a usb. It only has TX and RX pins, so I don't know how I'd be able to use their software with it.

You can connect the PC through a FTDI (USB to serial converter) to the NEO6M and use the Ucenter software to set the NEO6M up.

leggomypotato: I could not find these commands on the datasheet

Well they are there, it would be unlikley for Ublox to hide the commands.

Try the command reference for CFG RATE.

Hi.

Srnet's initial advice is all you need.

U-blox make public all the documentation to do want you want and much more. The u-center software makes changing the rate easy.