For u-center2, you will need to attach a 3.3 Volt “FTDI” cable / adapter, to make the UART pins appear as a USB COM port. Please be careful as some “FTDI” cables output 5V. The parts listed below will get you going:
Snap off 6 header pins and solder them to the UART connections. Attach the Serial Basic (GND to GND). Attach a USB-C cable and connect to your computer. The Serial Basic will appear as a COM port, select that in u-center2. The Serial Basic provides power, you do not need to attach a Qwiic cable if you are using a Serial Basic. u-center (1) works too, but u-blox recommend u-center2 for M10 modules.
hi Paul, thanks for the quick reply. Just to confirm if I order the SparkFun Serial Basic Breakout you mention above I would solder headers on the GPS UART pads . I noticed the pinouts between the Serial basic board and the GPS board for RX and TX are reversed, but I assume that is by design ? thanks!
Hi Paul,
I found this is related to my need. I’d like to know if it’s possible to connect like this: M10Q->(Qwiic)RedBoard Plus->U-center 2 on windows ? I’m asking because it’s way easier to use Qwiic than soldering. Thanks.
I think it’s come to a head due to the M10 lacking a USB port, and a UART doesn’t share well with others. Frequently used a “Diode AND” to combine multiple normally high inputs. The NEO-F10 is a bit of a pain due to I2C not getting provided at all, and actually requiring a port remap to escape. So UART or I2C, in an either or sense.
At the beginning of the year there seemed to be enough background pressure to have something. Whether it was to have a secondary input to an EVK, or prove it works as advertised.
I didn’t want to spring for an Aardvark I2C adapter uBlox supports, so used an RPi Pico, but any Arduino with some serial buffering will likely suffice.
Yes, Yes, it’s exactly what I asked. Thank you so much!
I uploaded it to my RedBoard Plus and then connected it to SAM-M10Q and u-center 2. Nothing was read from the serial. I dig and found gnssI2cAvailable() always return 0. The RedBoard Plus doesn’t get any data from SAM-M10Q if I’m not wrong. I’m trying to figure it out.
Any hint Please?
UPDATE: Don’t know what’s going on but it works after I plugged it into my windows just after I submitted this reply. Right now u-center 2 can read it successfully! Nothing changed except I just unplugged it in the morning and now plugged it in. Thanks again!
The I2C port may need a “kickstart” to make it output data. u-center2 should provide this by requesting data from the module when you open the port. Certainly u-center (1) does this. But if you are using the Arduino IDE Serial Monitor or a terminal emulator, you may need the kickstart.
Please change setup to:
void setup()
{
delay(2000); // Wait for ESP32 and GNSS to start up
mySerial.begin(115200); // Baud rate for u-center
myWire.begin(); // Start I2C
myWire.setClock(400000); // 400kHz
// Give I2C a kickstart - if needed. Request UBX-MON-VER
const uint8_t pollUbxMonVer[] = { 0xB5, 0x62, 0x0A, 0x04, 0x00, 0x00, 0x0E, 0x34 };
for (int i = 0; i < (sizeof(pollUbxMonVer) / sizeof(uint8_t)); i++) {
addToUartI2cBuffer(pollUbxMonVer[i]);
}
} // /setup
I2C is demand driven, whereas the UART keeps flowing and you can ignore it. If you leave the I2C unattended for over 1.5 seconds it stalls, and you have to send a polled/request form empty packet to restart. UBX-MON-VER is often used, but there are others with a shorter response that would work as well. Perhaps a message you’re already geared up to process?
The polled UBX-NAV-PVT would be
B5 62 01 07 00 00 08 19
Yeah. I should probably add a helper method for CFG-PRT flags.extendedTxTimeout in v2 of the library. (There’s probably no point adding one in v3 as it would be best to do it through the Configuration Interface…)