Skip to main content
Associate
Aug 10, 2026 1:03 PM UTC
Question

TESEO-LIV3F configuration over UART

Good Morning.

When I sending the time message request ($PSTMGETRTCTIME), through UART, the gps TESEO-LIV3F answers correctly.

But when I try to configure it to send GPGGA & GNGSA messages every second, I doesn’t receive any answer from the GPS ($PSTMCFGMSGLOK or $PSTMCFGMSGLERROR).

Respecting the software manual, I send following following message :

"$PSTMCFGMSGL,0,1,00000042,00000000*6E\r\n";

Is my configuration message wrong ? 

Thanks a lot.

Sincerely,

Vincent

11 replies

Andrew Neil
Super User
Aug 10, 2026 1:07 PM UTC

How, exactly, are you sending the message ?

Have you tried sending it manually from a terminal ?

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Vincent31Author
Associate
Aug 10, 2026 1:36 PM UTC

Hello Andrew.

I rather indicate I’m not a software engineer ;-) so I apologize for any big mistake.   

 

I’m using nucleo-u385rg-q and x-nucleo-gnss1a1 evaluation boards.

I use STM32CubeIDE / STM32CubeMX tools for the development.

I use the HAL_UART_Transmit function to send the message.

 

Defined message is the following : 

uint8_t msg_Config[] = "$PSTMCFGMSGL,0,1,00000042,00000000*6E\r\n";

 

And into the main function :

uint8_t len_msg = strlen((char*)msg_Config);

HAL_UART_Transmit(&hlpuart1,(uint8_t*)msg_Config, len_msg,HAL_MAX_DELAY);

Andrew Neil
Super User
Aug 10, 2026 1:42 PM UTC

So, before adding all the complications of embedded code, just send the message manually from a terminal.

That will tell you if the problem is with the message itself, or something in your embedded code ...

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Vincent31Author
Associate
Aug 10, 2026 2:11 PM UTC

It is quite complicated. I cannot simply open the CubeIDE terminal and write directly to the GNSS. The ST-LINK VCP is connected to the STM32, not directly to the Teseo-LIV3F. You therefore need a small UART bridge-style firmware.

Andrew Neil
Super User
Aug 10, 2026 2:17 PM UTC

You can use any terminal.

No need for any firmware - just use a standard USB-to-UART adaptor; eg,

 

https://ftdichip.com/product-category/products/cables/

 

(other brands are available)

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Vincent31Author
Associate
Aug 10, 2026 2:24 PM UTC

You mean by modifying the hardware to access directly the GNSS RX/TX signals ?

Andrew Neil
Super User
Aug 10, 2026 2:41 PM UTC

Yes

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Vincent31Author
Associate
Aug 11, 2026 7:32 AM UTC

Ok, I’ll try with the adaptor.

Thanks !

Jason Miller234
Explorer II
Aug 11, 2026 7:57 AM UTC

The command looks correct at first glance. check the checksum and make sure \r\n and the UART settings match the working $PSTMGETRTCTIME command. If you get no OK or ERROR at all, capture the raw TX/RX with a logic analyzer to confirm the command is actually reaching the GPS parser.

Vincent31Author
Associate
Aug 11, 2026 2:34 PM UTC

I finally succeeded to change the GNSS configuration.

But it looks like the management BSP / UART /UART interruption is the issue, through STM32CubeIDE.

When increasing the data size (Amout of data element) in the HAL_UART_Receive_IT function (), the STM32CubeIDE console is freezing, while the scope shows the GNSS data flowing. 

Andrew Neil
Super User
Aug 11, 2026 3:00 PM UTC

the STM32CubeIDE console is freezing, while the scope shows the GNSS data flowing. 

What if you use a different terminal?

(I always use a standalone terminal, so I have no idea how reliable or otherwise the CubeIDE one is)

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.