Skip to main content
Graduate
November 5, 2025
Solved

Unable to display messages on Tera Term via USART1 on STM32F429I-Discovery

  • November 5, 2025
  • 4 replies
  • 744 views

Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code. Please read this post: How to insert source code.

Hello,

I’m using the STM32F429I-Discovery board and trying to display “Hello World” on Tera Term via USART1 (PA9, PA10).

I configured the project in STM32CubeIDE as follows:

  • USART1 → Mode: Asynchronous

  • TX: PA9, RX: PA10

  • Baudrate: 115200, 8N1, No Flow Control

  • Using the ST-LINK Virtual COM Port (USB connector CN1)

 

main.c

HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART1_UART_Init();

const char msg[] = "Hello World\r\n";
HAL_UART_Transmit(&huart1, (uint8_t*)msg, sizeof(msg)-1, HAL_MAX_DELAY);
while (1)
{
HAL_UART_Transmit(&huart1, (uint8_t*)"Hello Again\r\n", 13, HAL_MAX_DELAY);
HAL_Delay(1000);
}

However, nothing appears on Tera Term.
The “ST-LINK Virtual COM Port (COMxx)” is visible in the Windows Device Manager, and I’ve selected the correct COM port in Tera Term.
Also, when I checked the PA9 pin with an oscilloscope, there was no signal output.

Has anyone successfully used USART1 on the F429I-Discovery board?
Any advice or examples on how to correctly enable UART output on this board would be greatly appreciated

    This topic has been closed for replies.
    Best answer by mƎALLEm

    Unfortunately I can't try with Tera Term right now but I can try with Hercule.

    Attached a project where "Hello World" is printed in Hercule interface:

    mALLEm_0-1762445770158.png

    The HyperTerminal config:

    mALLEm_1-1762445809340.png

    PS: the code you shared in your last post should be used with two boards. You need to read the readme file of the example before to run the example. 

    Ensure: SB11, SB15 are soldered and JP4 is not fitted.

    mALLEm_2-1762446170486.png

    Hope that helps

     

     

    4 replies

    Technical Moderator
    November 5, 2025

    Hello,

    Are you sure about the board reference you are using? Is it STM32F429I-Discovery or NUCLEO-F429 board?

    When you are talking about USART1 (PA9, PA10) it seems you are using NUCLEO-F429 board.

    So please clarify that point.

    Super User
    November 5, 2025

    @mƎALLEm wrote:

    When you are talking about USART1 (PA9, PA10) it seems you are using NUCLEO-F429 board.


    The 32F429IDISCOVERY manual says they are the correct pins:

    AndrewNeil_0-1762338646576.png

    https://www.st.com/resource/en/user_manual/um1670-discovery-kit-with-stm32f429zi-mcu-stmicroelectronics.pdf#page=15

    via: https://www.st.com/en/evaluation-tools/32f429idiscovery.html#documentation

     

    @chachamaru are you sure that your board hasn't been reconfigured (SB11 and/or SB15)?

     

    Also, are you sure it's actually a STM32F429I-DISC1, not the older STM32F429I-DISCO ?

    Technical Moderator
    November 5, 2025

    @Andrew Neil wrote:

     

    Also, are you sure it's actually a STM32F429I-DISC1, not the older STM32F429I-DISCO ?


    Need to confirm first if the used board is a DISCO board and NOT a Nucleo board!

    Super User
    November 5, 2025

    @chachamaru wrote:

    I checked the PA9 pin with an oscilloscope, there was no signal output.


    What about PA10 - ie, is stuff transmitted by the PC arriving at the STM32?

    (beware that terminal software may buffer stuff)

     


    @chachamaru wrote:

    Any ... examples on how to correctly enable UART output on this board 


    Have you tried the ready-made examples in STM32CubeIDE ?

     

    PS:

    Are you sure that your code has actually been built and downloaded to the board?

    Have you tried stepping it in the debugger?

     

    PPS:

    Looking at your code, it has the MX_GPIO_Init() and MX_USART1_UART_Init() as typically generated by CubeMX, but none of the accompanying comments typically generated; eg,

     /* USER CODE END 1 */
    
     /* MCU Configuration--------------------------------------------------------*/
     /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
     HAL_Init();
    
     /* USER CODE BEGIN Init */
     /* USER CODE END Init */
    
     /* Configure the system clock */
     SystemClock_Config();
    
     /* USER CODE BEGIN SysInit */
     /* USER CODE END SysInit */
    
     /* Initialize all configured peripherals */
     MX_GPIO_Init();
     MX_SPI2_Init();
     MX_TIM6_Init();
     MX_USART2_UART_Init();
     MX_TIM16_Init();
    
     /* USER CODE BEGIN 2 */

     

    In particular, you have none of the  /* USER CODE xxx */ comments - so all of your code will be deleted if you regenerate the project.

    Could this be what's happened ... ?

    Super User
    November 6, 2025

    @Andrew Neil wrote:

    @chachamaru wrote:

    I checked the PA9 pin with an oscilloscope, there was no signal output.


    What about PA10 - ie, is stuff transmitted by the PC arriving at the STM32?


    @chachamaru - have you done this?

     


    @Andrew Neil wrote:

    Are you sure that your code has actually been built and downloaded to the board?

    Have you tried stepping it in the debugger?


    And this ?

    Super User
    November 6, 2025

    @chachamaru Have you tried using a different terminal app?

    Sometimes, TeraTerm does seem to get itself into a "confused" state ...

     

    PS:

    A bit more on that "confused state" here.

    mƎALLEmAnswer
    Technical Moderator
    November 6, 2025

    Unfortunately I can't try with Tera Term right now but I can try with Hercule.

    Attached a project where "Hello World" is printed in Hercule interface:

    mALLEm_0-1762445770158.png

    The HyperTerminal config:

    mALLEm_1-1762445809340.png

    PS: the code you shared in your last post should be used with two boards. You need to read the readme file of the example before to run the example. 

    Ensure: SB11, SB15 are soldered and JP4 is not fitted.

    mALLEm_2-1762446170486.png

    Hope that helps

     

     

    Graduate
    November 7, 2025

    Thank you for your reply.

    I finally managed to display “Hello World”!

    Now I’m integrating it into the program I was originally using.

    I’d be happy if you could continue helping me from here on out.

    Super User
    November 8, 2025

    @chachamaru wrote:

    I finally managed to display “Hello World”!


    Great - what was the secret?

    Please mark the solution - whichever post gave you the clue, or write a description if none did.

     


    @chachamaru wrote:

    I’d be happy if you could continue helping me from here on out.


    Of course - start a new thread for a new question.