Comments: SparkFun GPS Dead Reckoning NEO-M8U Hookup Guide
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
I remember talking to the engineer about that the other day. If I remember correctly, this had something to do with a limitation due to how fast the GPS might be moving. If it's not at a certain speed, the module might not be able to update at that rate.
Hi there, it sounds like you are looking for technical assistance. Please use the link in the banner above, to get started with posting a topic in our forums. Our technical support team will do their best to assist you.
In the section concerning Battery (for inbuilt RTC), the type of battery is not mentioned. Please specify the type of battery. Would CR1225 be suitable ? (Lithium, 3V x 50 mAh) ?
Secondly in the section talking about I2C the text mentions cutting a jumper wire when there are very many I2C devices on the Bus. ... Yeah, sure... It would be useful, I think if you could wax lyrical and just say what is the default I2C address, and what the address changes to when the jumper is cut. Since there are 3 pads, 2 jumpers, perhaps its also good to specifiy which jumper to cut. This should not be a mystery !. Even better would be to indicate where in the library an edit needs to be performed if I2C address needs to change (or perhaps its not necessary).
Thanks for the feedback!
Battery Backup Specs
We felt that it was not necessary to include the exact battery in this tutorial for the battery backup. This battery is used in pretty much all of our u-blox boards and that information is included in the Eagle design files. The rechargeable battery is specifically ML414H and it is built into the board's circuit. Looking at the NEO-M8U datasheet on page 18, the backup battery operating current requirement is about 15 µA.
If you were designing your own board using the NEO-M8U module, a CR1225 battery should be suitable based on the specs of the ML414H and the NEO-M8U datasheets. You just need to make sure to adjust your design for the battery if your CR1225 is not rechargeable. However, if you are using the NEO-M8U breakout board, you should not have to worry about the battery since it is included in the circuit.
Default I2C Address and Changing Its Address
The default address (0x42) was explained in a blue note in the Hardware Overview: Qwiic and I2C.
The only I2C address for this and all u-Blox GPS products is 0x42, though each can have their address changed through software.
We left that as a general note since there are several examples and we wanted to focus more on the specific M8U examples. You can change it through the u-Blox software or using Arduino. If you were using Arduino, it would be SparkFun UBlox Arduino Library > Examples > Example9_ChangeI2CAddress > Example9_ChangeI2CAddress.ino. After changing the address, you would adjust the
.begin()method for the other examples similar to
myGPS.begin(Wire, newAddress)used on line 54. The
newAddresswould be the value in hexadecimal form.
I2C Pull-Up Resistor Jumpers
The jumper is for pull-up resistors and it does not have to do with changing the address. Certain boards have the option to change the address via hardware but in this case, there is no option. To disconnect the I2C pull-up resistor jumpers for SDA and SCL, you would cut the two traces around the center pad under the I2C label. Cutting the traces for the pull-up resistor is when you have a certain number of I2C addresses on the bus since this changes the equivalent resistance of the pull-up resistors on the bus. Probably around 7x devices is when you should cut the trace but that is dependent on each of the board designs.
I'll see what I can do to clarify what jumpers to cut for this tutorial and future documentation.
Trying to communicate via USB-C, receiving an error message, 'USB Device Not Recognized". Is this a defect or do we need a special USB driver for WIN 10?
You may need a driver to connect via the USB-C. Try looking at this tutorial for more information.
I am getting a different error, this tutorial did not help.
Hmm, the directions to install the u-box driver should work on a Windows 10. I have not heard of a case until now where users are having issues connecting via USB. A few things come to mind to troubleshoot if you have not already tried:
Try checking your USB-C cable and ensure it's not damaged. There are different types of USB-C cables out in the wild so it's possible that its not to spec and it may be causing issues. I'm not sure the history of the USB-C cable that you are using? I've seen this happen a few times with different USB-to-serial boards from working with technical support. If you have another port or computer, try connecting the board to either one. If the board works with another USB cable, port, or computer, then it is probably related to a software issue.
Software Driver Issue?
I have connected a few u-blox boards to some computers with Windows 10 and have not had any issues after installing the driver. However, it's possible that there may be some weird configuration on your computer causing the board to not enumerate properly (i.e. "USB Device Not Recognized" instead of the "u-blox GNSS Location Sensor").
You may want to reach out to u-blox support to see if they might have heard cases where the M9U shows up as the "USB Device Not Recognized". Doing a brief search, it appears that someone had issues with the M8T on their Windows 7 computer. Even though they were using a different version of Windows, they had the same error message and the root of the problem was their USB cable.
Still Having Issues?
If you are still having issues, you may also want to contact our technical support for further assistance to see if we can resolve the issue that you are having.
I will reach out to uBlox. Just was curious why you didn't use the USB port on the GPS breakout board and needed another board, other than the use of an I2C on the GPS board?
The u-Blox software is pretty big so we wanted to have another option to utilize the I2C port for a lightweight interface with the u-blox module. Users can potentially use a serial enabled LCD to output the messages or make a data logger. If you have some sort of way to transmit data, you could potentially build some sort of asset tracker with a cellular module (or even better, the Iridium satellite network for full coverage).
Oops, original comment about coordinate system was incorrect and I have erased it.
If you've found an issue with this tutorial content, please send us your feedback!
The unit is working ok, but when I try to increase the navigation rate to 10hz, it never goes faster then 5hz. what's wrong?
I do i like this: myGPS.setNavigationFrequency(10);
then when I do "myGPS.getNavigationFrequency();" it returns 10, and yet the module only updates at 5hz...