probelm with UART between arduino uno and an stm32f407vg discovery board

Thank you for taking the time to read my post :).

The stm32f4 sends at most 3 volts for an output high, the 5 volts arduino uno needs at least 3 volts so I thought I need a conversion from the 3 volts to the 5 volts:

stm32f4 TX sends 3v --> logic level shifter --> arduino uno RX receives 5v.

Of course you don't have to read the reference, ask me anything about the stm32f4 and I'll look for the answer in the reference.

stm32f4 ------> stm32f4 OK
arduino uno ------> arduino uno OK
stm32f4 ------> arduino uno KO

  • when the stm32f4 sends a character the arduino receives two!
    example : stm32f4 sends A the arduino receives äÿ

  • when the arduino sends a charcter the stm32f4 receives one.
    example : arduino sends A the stm32f4 receives þ.